[med-svn] [genometools] 01/03: New upstream version 1.5.10+ds

Sascha Steinbiss satta at debian.org
Sun Aug 6 14:14:46 UTC 2017


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

satta pushed a commit to branch master
in repository genometools.

commit 17a2684ec4cfc4b86555bbbe2a941f6b16f53e00
Author: Sascha Steinbiss <satta at debian.org>
Date:   Sun Aug 6 15:45:26 2017 +0200

    New upstream version 1.5.10+ds
---
 .travis.yml                                        |   45 +-
 CHANGELOG                                          |   19 +-
 Makefile                                           |   15 +-
 VERSION                                            |    2 +-
 doc/RELEASE                                        |    4 -
 gtdata/modules/gtdoclib/docvisitorlatex.lua        |   27 +-
 gtdata/modules/gtdoclib/gtscript_header.lp         |    1 -
 gtdata/modules/gtdoclib/libgenometools_header.lp   |    1 -
 gtpython/README                                    |    2 +-
 scripts/SEmatch.rb                                 |  151 +
 scripts/all-vs-all.sh                              |    6 +-
 scripts/alloutputoptions.rb                        |   44 +-
 scripts/build_dists.sh                             |    8 +
 scripts/check-fstperquery.rb                       |   55 +
 scripts/cleanpp.sh                                 |    1 +
 scripts/cmp_db_query_exch.rb                       |    4 +-
 scripts/collect-mappings.rb                        |   26 -
 scripts/convert2myersformat.rb                     |   77 +-
 scripts/cutsequences.rb                            |   61 +
 scripts/enumkmers.rb                               |   26 +
 scripts/esq-in-bytes.sh                            |   25 +-
 scripts/estim-kmer-size.rb                         |   25 +
 scripts/evalue-filter.rb                           |   29 +
 scripts/extract-seed.rb                            |   18 +
 scripts/fasta.rb                                   |  112 +
 scripts/findfasta.rb                               |   28 +-
 scripts/gen-display-struct.rb                      |  226 +
 scripts/gen-intsets.rb                             |   35 +-
 scripts/gen-radixsort-ip.rb                        |  466 +-
 scripts/gen-radixsort-ip.sh                        |    1 +
 scripts/gfa2lint.rb                                |  148 +
 scripts/manyshort-somelong.rb                      |   23 +
 scripts/matches-compare.rb                         |  396 +
 scripts/matches2ani.rb                             |   52 +
 scripts/mk_ft_longest_common.rb                    |  258 +
 scripts/print_sequence.rb                          |    7 +
 scripts/reverse-complement.rb                      |   19 +
 scripts/run-se-da.sh                               |    4 +-
 scripts/se-permutation.rb                          |   45 +
 scripts/seeds2maxmatches.rb                        |   95 +
 scripts/sensitivity-test.rb                        |    4 +-
 scripts/sim-read-mapping.sh                        |   60 +-
 scripts/single-read-mapping.sh                     |   30 +
 scripts/skmake.rb                                  |   15 +-
 scripts/travis_installdeps.sh                      |   13 +
 scripts/{alloutputoptions.rb => turnwheel.rb}      |   23 +-
 src/annotationsketch/custom_track_gc_content.c     |    4 +-
 src/core/accspecialrange.gen                       |   50 +
 src/core/alphabet.c                                |   25 +-
 src/core/arraydef.h                                |   41 +-
 src/core/bitbuffer.c                               |  301 +-
 src/core/bitbuffer.h                               |   70 +-
 src/core/bitpackstringsimpleop.h                   |   11 +-
 src/core/colorspace.h                              |    6 +-
 src/core/csvline_reader.c                          |  302 +
 src/core/csvline_reader.h                          |   85 +
 src/core/encseq.c                                  |   90 +-
 src/core/encseq.h                                  |   19 +-
 src/core/fptr_api.h                                |    2 +-
 src/core/gtdatapath.c                              |   15 +-
 src/core/mail_address.h                            |    2 +-
 src/core/radix_sort.c                              |  241 +-
 src/core/radix_sort.h                              |   11 +
 src/core/radixsort-ip-flba.inc                     |  364 +
 src/core/radixsort-ip-uint64keypair.inc            |  211 +-
 src/core/radixsort-ip-ulong.inc                    |  203 +-
 src/core/radixsort-ip-ulongpair.inc                |  203 +-
 src/core/str.c                                     |    7 +
 src/core/str.h                                     |    2 +
 src/core/timer.c                                   |   45 +-
 src/core/timer_api.h                               |    3 +
 src/core/unused_api.h                              |    6 +
 src/extended/alignment.c                           |  164 +-
 src/extended/alignment.h                           |   13 +-
 src/extended/assembly_stats_calculator.c           |   95 +-
 src/extended/assembly_stats_calculator.h           |    5 +
 src/extended/blast_process_call.h                  |    8 +-
 src/extended/compressed_bitsequence.h              |    6 +-
 src/extended/condenseq.c                           |  170 +-
 src/extended/condenseq.h                           |   14 +-
 src/extended/condenseq_creator.c                   |  448 +-
 src/extended/condenseq_creator.h                   |   14 +-
 src/extended/condenseq_rep.h                       |   10 +-
 src/extended/condenseq_search_arguments.h          |    2 +
 src/extended/editscript.c                          |   54 +-
 src/extended/editscript.h                          |   92 +-
 src/extended/elias_gamma.h                         |    2 +-
 src/extended/encdesc.c                             |    1 -
 src/extended/encdesc_header_io.h                   |    2 +
 src/extended/fasta_header_iterator.h               |    6 +-
 src/extended/gff3_escaping.c                       |   14 +-
 src/extended/gff3_parser.c                         |   21 +-
 src/extended/huffcode.h                            |    2 +-
 src/extended/intset.h                              |    2 +-
 src/extended/intset_16.c                           |   37 +-
 src/extended/intset_16.h                           |    2 +-
 src/extended/intset_32.c                           |   37 +-
 src/extended/intset_32.h                           |    2 +-
 src/extended/intset_8.c                            |   37 +-
 src/extended/intset_8.h                            |    2 +-
 src/extended/io_function_pointers.h                |    6 +-
 src/extended/linspace_management.c                 |    7 +-
 src/extended/match_blast.c                         |   61 +-
 src/extended/match_blast_api.h                     |   35 +-
 src/extended/match_iterator_blast.c                |   59 +-
 src/extended/match_iterator_open.c                 |   11 +-
 src/extended/multieoplist.c                        |   16 +-
 src/extended/multieoplist.h                        |   26 +-
 src/extended/popcount_tab.h                        |    3 +-
 src/extended/ranked_list.c                         |    4 +-
 src/extended/rbtree.c                              |   51 +-
 src/extended/rbtree.h                              |   33 +-
 src/extended/rcr.h                                 |    2 +
 src/extended/safe_popen.c                          |    9 +-
 src/extended/sam_alignment.h                       |   82 +-
 src/extended/sam_query_name_iterator.h             |    4 +-
 src/extended/samfile_iterator.h                    |    2 +-
 src/extended/scorehandler.c                        |   12 +
 src/extended/scorehandler.h                        |    4 +
 src/extended/wtree.h                               |    7 +-
 src/extended/wtree_encseq.c                        |    4 +-
 src/gtt.c                                          |    4 +
 src/match/asqg_writer.c                            |    2 +-
 src/match/asqg_writer.h                            |    2 +-
 src/match/chain2dim.c                              |   19 +-
 src/match/chainofin.c                              |    9 +-
 src/match/diagband-struct.c                        |  349 +
 src/match/diagband-struct.h                        |  170 +
 src/match/diagbandseed.c                           | 4556 +++++++++---
 src/match/diagbandseed.h                           |   89 +-
 src/match/eis-bwtseq-context.c                     |    2 +-
 src/match/esa-mmsearch.c                           |   54 +-
 src/match/esa-mmsearch.h                           |    3 +
 src/match/ft-eoplist.c                             | 1349 ++++
 src/match/ft-eoplist.h                             |  222 +
 src/match/ft-front-generation.c                    |  395 +-
 src/match/ft-front-generation.h                    |   58 +-
 src/match/ft-front-prune.c                         |  981 ++-
 src/match/ft-front-prune.h                         |   57 +-
 src/match/ft-longest-common.inc                    | 1839 +++++
 src/match/ft-polish.c                              |   27 +-
 src/match/ft-polish.h                              |   25 +-
 src/match/ft-trimstat.c                            |  203 +-
 src/match/ft-trimstat.h                            |   36 +-
 src/match/gfa_writer.c                             |  227 +
 src/match/gfa_writer.h                             |   70 +
 src/match/karlin_altschul_stat.c                   |  945 +++
 src/match/karlin_altschul_stat.h                   |   90 +
 src/match/lua_tools.h                              |    3 +
 src/match/querymatch-align.c                       |  967 +--
 src/match/querymatch-align.h                       |  111 +-
 src/match/querymatch-display.c                     |  636 ++
 src/match/querymatch-display.h                     |   67 +
 src/match/querymatch.c                             | 1475 +++-
 src/match/querymatch.h                             |  156 +-
 src/match/rdj-filesuf-def.h                        |    2 +
 src/match/rdj-spmfind.c                            |    1 +
 src/match/rdj-strgraph.c                           |   67 +-
 src/match/rdj-strgraph.h                           |    4 +
 src/match/rectangle-store.c                        |  158 +
 src/match/rectangle-store.h                        |   25 +
 src/match/se-display-fwd.inc                       |   85 +
 src/match/se-display.inc                           |  426 ++
 src/match/seed-extend-iter.c                       |  231 +-
 src/match/seed-extend-iter.h                       |   99 +-
 src/match/seed-extend.c                            | 1395 ++--
 src/match/seed-extend.h                            |  254 +-
 src/match/seed_extend_parts.c                      |  325 +
 src/match/seed_extend_parts.h                      |   73 +
 src/match/seq_or_encseq.h                          |   34 +
 src/match/seqabstract.c                            |   18 +-
 src/match/seqabstract.h                            |    2 +-
 src/match/sfx-diffcov.c                            |    8 +-
 src/match/sfx-run.c                                |    2 +-
 src/match/sfx-suffixgetset.c                       |   11 +-
 src/match/shu-dfs.h                                |   10 +-
 src/match/test-maxpairs.c                          |   18 +-
 src/tools/gt_condenseq_compress.c                  |    6 +-
 src/tools/gt_kmer_database.c                       |    4 +-
 src/tools/gt_readjoiner.c                          |    2 +
 src/tools/gt_readjoiner_asqg.c                     |    2 +-
 .../{gt_readjoiner_asqg.c => gt_readjoiner_gfa.c}  |  147 +-
 .../lua_tools.h => tools/gt_readjoiner_gfa.h}      |   13 +-
 src/tools/gt_repfind.c                             |  495 +-
 src/tools/gt_seed_extend.c                         |  813 ++-
 src/tools/gt_seqorder.c                            |  247 +-
 src/tools/gt_seqstat.c                             |   41 +-
 src/tools/gt_sfxmap.c                              |    6 +-
 src/tools/gt_show_seedext.c                        |  412 +-
 src/tools/gt_sortbench.c                           |  194 +-
 testdata/at-C99887-fwd.fna                         |   14 +
 testdata/at-C99887-rev.fna                         |   14 +
 testdata/at-C99930.fna                             |   12 +
 testdata/gt_seqorder_test_sortlength.fas           |   34 +
 testdata/gt_sketch_textwidth.gff3                  |    2 +-
 testdata/matchtool_see-ext.match                   |   72 +
 testdata/query-fwd.match                           |   55 +
 testdata/query-rev.match                           |   55 +
 testdata/readjoiner/30x_800nt.gfa1                 |   64 +
 testdata/readjoiner/30x_800nt.gfa2                 |   64 +
 testdata/readjoiner/30x_long_varlen.gfa1           |   73 +
 testdata/readjoiner/30x_long_varlen.gfa2           |   73 +
 testdata/readjoiner/70x_100nt.gfa1                 |   82 +
 testdata/readjoiner/70x_100nt.gfa2                 |   82 +
 testdata/readjoiner/contained_varlen.gfa1          |   11 +
 testdata/readjoiner/contained_varlen.gfa2          |   11 +
 .../at1MB-Atinsert-greedy-20-700-75-3-39-a         | 1528 ++--
 .../at1MB-U8-greedy-r-12-30-80-2-36-a              | 1087 +--
 .../repfind-result/at1MB-U8-xdrop-20-20-80-6-a     |  359 +-
 .../repfind-result/at1MB-U8-xdrop-r-12-30-80-6-a   |  562 +-
 .../repfind-result/at1MB-greedy-70-500-90-1-39-a   | 1409 ++--
 .../repfind-result/at1MB-greedy-r-14-32-80-2-36-a  |  226 +-
 testdata/repfind-result/at1MB-xdrop-20-20-80-6     |    1 +
 .../repfind-result/at1MB-xdrop-70-500-90-1-39-a    | 1297 ++--
 testdata/repfind-result/at1MB-xdrop-r-14-32-80-6-a |  145 +-
 testdata/repfind-result/humhbb.fna-gr-ext.result   |    1 +
 testdata/repfind-result/ychrIII.fna-gr-ext.result  |    4 +
 testdata/see-ext-U8-evalue-bitscore.matches        |   11 +
 testdata/see-ext-ani-at1MB-U8.txt                  |    6 +
 testdata/see-ext-at1MB-400-al-from-dtrace.matches  | 7610 ++++++++++++++++++++
 testdata/see-ext-at1MB-400-cigar.matches           |  230 +
 testdata/see-ext-at1MB-400-cigarX.matches          |  231 +
 testdata/see-ext-at1MB-400-dtrace.matches          |  230 +
 testdata/see-ext-at1MB-400-evalue-bitscore.matches |  228 +
 testdata/see-ext-at1MB-400-seqdesc.matches         |  230 +
 testdata/see-ext-at1MB-400-seqlength.matches       |  228 +
 testdata/see-ext-at1MB-400-trace.matches           |  230 +
 testdata/see-ext-at1MB-500-al.matches              |  947 +++
 ...ee-ext-at1MB-500-alignment-seed_in_algn.matches |  321 +
 testdata/see-ext-at1MB-500-failed_seed.matches     | 1477 ++++
 ...sert100-evalue-bitscore-cigar-seqlength.matches |   11 +
 ...ert100-evalue-bitscore-cigarX-seqlength.matches |   12 +
 .../see-ext-at1MB-U8-200-al-from-dtrace.matches    |   47 +
 testdata/see-ext-at1MB-maxmat250.matches           |   94 +
 .../see-ext-at1MB-mincoverage200-tabsep.matches    |  750 ++
 .../see-ext-at1MB-u8-failed_seed-evalue.matches    |   21 +
 testdata/see-ext-at1MB-u8-maxmat30.matches         |   27 +
 testdata/see-ext-at1MB-u8.matches                  | 1397 ++++
 testdata/see-ext-at1MB.matches                     | 1865 +++++
 testdata/see-ext-fastq_long-u8.matches             |  108 +
 testdata/see-ext-fastq_long.matches                |   39 +
 testdata/see-ext-paired-u8.matches                 |    0
 testdata/see-ext-paired.matches                    |    3 +
 testsuite/gt_condenseq_include.rb                  |    4 +-
 testsuite/gt_linspace_align_include.rb             |   20 +-
 testsuite/gt_readjoiner_include.rb                 |   17 +-
 testsuite/gt_repfind_include.rb                    |   89 +-
 testsuite/gt_seed_extend_include.rb                |  577 +-
 testsuite/gt_seqorder_include.rb                   |    9 +
 testsuite/gt_sortbench_include.rb                  |    3 +-
 testsuite/gt_suffixerator_include.rb               |    2 +-
 www/genometools.org/htdocs/annotationsketch.html   |    1 -
 .../htdocs/cgi-bin/annotationsketch_demo.cgi       |    1 -
 .../htdocs/cgi-bin/gff3validator.cgi               |    1 -
 www/genometools.org/htdocs/contract.html           |    1 -
 www/genometools.org/htdocs/contribute.html         |    1 -
 www/genometools.org/htdocs/customtracks.html       |    1 -
 www/genometools.org/htdocs/design.html             |    1 -
 www/genometools.org/htdocs/docs.html               |    3 +-
 www/genometools.org/htdocs/documentation.html      |    1 -
 www/genometools.org/htdocs/examples_tmpl.html      |    1 -
 www/genometools.org/htdocs/index.html              |    1 -
 www/genometools.org/htdocs/libgenometools.html     |   75 +-
 www/genometools.org/htdocs/license.html            |    1 -
 www/genometools.org/htdocs/manuals.html            |    1 -
 www/genometools.org/htdocs/style_options.html      |    1 -
 www/genometools.org/htdocs/tool.conf               |    1 -
 www/genometools.org/htdocs/tool_list.conf          |    1 -
 www/genometools.org/htdocs/tools.html              |    1 -
 www/genometools.org/htdocs/tools/gt.html           |    3 +-
 .../htdocs/tools/gt_bed_to_gff3.html               |    3 +-
 www/genometools.org/htdocs/tools/gt_cds.html       |    3 +-
 www/genometools.org/htdocs/tools/gt_chain2dim.html |    1 -
 www/genometools.org/htdocs/tools/gt_chseqids.html  |    3 +-
 www/genometools.org/htdocs/tools/gt_clean.html     |    3 +-
 www/genometools.org/htdocs/tools/gt_compreads.html |    3 +-
 .../htdocs/tools/gt_compreads_compress.html        |    3 +-
 .../htdocs/tools/gt_compreads_decompress.html      |    3 +-
 .../htdocs/tools/gt_compreads_refcompress.html     |    3 +-
 .../htdocs/tools/gt_compreads_refdecompress.html   |    3 +-
 www/genometools.org/htdocs/tools/gt_condenseq.html |    3 +-
 .../htdocs/tools/gt_congruence.html                |    3 +-
 .../htdocs/tools/gt_congruence_spacedseed.html     |    1 -
 .../htdocs/tools/gt_convertseq.html                |    3 +-
 www/genometools.org/htdocs/tools/gt_csa.html       |    3 +-
 www/genometools.org/htdocs/tools/gt_dot.html       |    3 +-
 www/genometools.org/htdocs/tools/gt_dupfeat.html   |    3 +-
 www/genometools.org/htdocs/tools/gt_encseq.html    |    3 +-
 .../htdocs/tools/gt_encseq2spm.html                |    3 +-
 .../htdocs/tools/gt_encseq_bench.html              |    3 +-
 .../htdocs/tools/gt_encseq_bitextract.html         |    3 +-
 .../htdocs/tools/gt_encseq_check.html              |    3 +-
 .../htdocs/tools/gt_encseq_decode.html             |    3 +-
 .../htdocs/tools/gt_encseq_encode.html             |    3 +-
 .../htdocs/tools/gt_encseq_info.html               |    3 +-
 .../htdocs/tools/gt_encseq_md5.html                |    3 +-
 .../htdocs/tools/gt_encseq_sample.html             |    3 +-
 www/genometools.org/htdocs/tools/gt_eval.html      |    3 +-
 .../htdocs/tools/gt_extractfeat.html               |    3 +-
 .../htdocs/tools/gt_extractseq.html                |    3 +-
 .../htdocs/tools/gt_fastq_sample.html              |    3 +-
 .../htdocs/tools/gt_featureindex.html              |    3 +-
 .../htdocs/tools/gt_fingerprint.html               |    3 +-
 .../htdocs/tools/gt_genomediff.html                |    1 -
 www/genometools.org/htdocs/tools/gt_gff3.html      |    3 +-
 .../htdocs/tools/gt_gff3_to_gtf.html               |    3 +-
 .../htdocs/tools/gt_gff3validator.html             |    3 +-
 .../htdocs/tools/gt_gtf_to_gff3.html               |    3 +-
 www/genometools.org/htdocs/tools/gt_hop.html       |    3 +-
 www/genometools.org/htdocs/tools/gt_id_to_md5.html |    3 +-
 .../htdocs/tools/gt_inlineseq_add.html             |    3 +-
 .../htdocs/tools/gt_inlineseq_split.html           |    3 +-
 www/genometools.org/htdocs/tools/gt_interfeat.html |    3 +-
 www/genometools.org/htdocs/tools/gt_loccheck.html  |    3 +-
 .../htdocs/tools/gt_ltrclustering.html             |    3 +-
 www/genometools.org/htdocs/tools/gt_ltrdigest.html |    3 +-
 .../htdocs/tools/gt_ltrharvest.html                |    3 +-
 www/genometools.org/htdocs/tools/gt_matchtool.html |    3 +-
 www/genometools.org/htdocs/tools/gt_matstat.html   |    1 -
 www/genometools.org/htdocs/tools/gt_md5_to_id.html |    3 +-
 www/genometools.org/htdocs/tools/gt_merge.html     |    3 +-
 www/genometools.org/htdocs/tools/gt_mergefeat.html |    3 +-
 .../htdocs/tools/gt_mkfeatureindex.html            |    3 +-
 .../htdocs/tools/gt_mmapandread.html               |    3 +-
 www/genometools.org/htdocs/tools/gt_orffinder.html |    3 +-
 .../htdocs/tools/gt_packedindex.html               |    3 +-
 www/genometools.org/htdocs/tools/gt_prebwt.html    |    1 -
 .../htdocs/tools/gt_readjoiner.html                |    3 +-
 .../htdocs/tools/gt_readjoiner_assembly.html       |    3 +-
 .../htdocs/tools/gt_readjoiner_overlap.html        |    3 +-
 .../htdocs/tools/gt_readjoiner_prefilter.html      |    3 +-
 www/genometools.org/htdocs/tools/gt_repfind.html   |   83 +-
 .../htdocs/tools/gt_scriptfilter.html              |    3 +-
 .../htdocs/tools/gt_seed_extend.html               |  132 +-
 www/genometools.org/htdocs/tools/gt_select.html    |    3 +-
 www/genometools.org/htdocs/tools/gt_seq.html       |    3 +-
 www/genometools.org/htdocs/tools/gt_seqfilter.html |    3 +-
 www/genometools.org/htdocs/tools/gt_seqids.html    |    3 +-
 www/genometools.org/htdocs/tools/gt_seqmutate.html |    3 +-
 www/genometools.org/htdocs/tools/gt_seqorder.html  |   11 +-
 www/genometools.org/htdocs/tools/gt_seqstat.html   |   11 +-
 .../htdocs/tools/gt_seqtransform.html              |    3 +-
 .../htdocs/tools/gt_seqtranslate.html              |    3 +-
 www/genometools.org/htdocs/tools/gt_sequniq.html   |    3 +-
 www/genometools.org/htdocs/tools/gt_shredder.html  |    3 +-
 .../htdocs/tools/gt_shulengthdist.html             |    1 -
 www/genometools.org/htdocs/tools/gt_simreads.html  |    1 -
 www/genometools.org/htdocs/tools/gt_sketch.html    |    3 +-
 .../htdocs/tools/gt_sketch_page.html               |    3 +-
 www/genometools.org/htdocs/tools/gt_snpper.html    |    3 +-
 www/genometools.org/htdocs/tools/gt_speck.html     |    3 +-
 .../htdocs/tools/gt_splicesiteinfo.html            |    3 +-
 .../htdocs/tools/gt_splitfasta.html                |    3 +-
 www/genometools.org/htdocs/tools/gt_stat.html      |    3 +-
 www/genometools.org/htdocs/tools/gt_tagerator.html |    1 -
 www/genometools.org/htdocs/tools/gt_tallymer.html  |    3 +-
 .../htdocs/tools/gt_tallymer_mkindex.html          |    1 -
 .../htdocs/tools/gt_tallymer_occratio.html         |    1 -
 .../htdocs/tools/gt_tallymer_search.html           |    1 -
 www/genometools.org/htdocs/tools/gt_tirvish.html   |    3 +-
 www/genometools.org/htdocs/tools/gt_uniq.html      |    3 +-
 www/genometools.org/htdocs/tools/gt_uniquesub.html |    1 -
 www/genometools.org/htdocs/tools/gt_wtree.html     |    3 +-
 www/genometools.org/htdocs/trackselectors.html     |    1 -
 364 files changed, 43070 insertions(+), 9498 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 9a0b1ca..2cc1a97 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,5 +1,7 @@
 cache: apt
 language: c
+os:
+  - linux
 compiler:
   - clang
 env:
@@ -8,45 +10,52 @@ env:
   matrix:
     - default=yes      testrange=1..1150
     - assert=no        testrange=1..1150
-    - amalgamation=yes testrange=1..1150
     - opt=no cairo=no  testrange=1..1150
     - threads=yes      testrange=1..1150
     - default=yes      testrange=1151..1750
     - assert=no        testrange=1151..1750
-    - amalgamation=yes testrange=1151..1750
     - opt=no cairo=no  testrange=1151..1750
     - threads=yes      testrange=1151..1750
     - default=yes      testrange=1751..3000
     - assert=no        testrange=1751..3000
-    - amalgamation=yes testrange=1751..3000
     - opt=no cairo=no  testrange=1751..3000
     - threads=yes      testrange=1751..3000
 matrix:
   include:
-    - compiler: gcc
+    - os: linux
+      compiler: gcc
       env: default=yes
-    - compiler: gcc
+    - os: linux
+      compiler: gcc
       env: GT_BITS=32 cairo=no
-    - compiler: clang
+    - os: linux
+      compiler: clang
       env: GT_BITS=32 cairo=no
-    - compiler: gcc
+    - os: linux
+      compiler: gcc
       env: assert=no
-    - compiler: gcc
+    - os: linux
+      compiler: gcc
       env: amalgamation=yes
-    - compiler: gcc
+    - os: linux
+      compiler: gcc
+      env: opt=no cairo=no
+    - os: osx
+      compiler: gcc
+      env: default=yes
+    - os: osx
+      compiler: gcc
+      env: assert=no
+    - os: osx
+      compiler: gcc
+      env: amalgamation=yes
+    - os: linux
+      compiler: gcc
       env: opt=no cairo=no
     - compiler: i686-w64-mingw32-gcc
       env: SYSTEM=Windows MACHINE=i686 GT_BITS=32 AR=i686-w64-mingw32-ar fpic=no cairo=no sharedlib=no CFLAGS='-Wno-error=attributes -Wno-error=unused-parameter -DSQLITE_MALLOCSIZE=_msize'
     - compiler: x86_64-w64-mingw32-gcc
       env: SYSTEM=Windows MACHINE=i686 GT_BITS=64 AR=x86_64-w64-mingw32-ar fpic=no cairo=no sharedlib=no CFLAGS='-Wno-error=attributes -Wno-error=unused-parameter -DSQLITE_MALLOCSIZE=_msize'
-
 before_install:
-  - sudo apt-get update -q
-  - sudo apt-get install ncbi-blast+ gcc-multilib -y
-  - sudo apt-get install binutils-mingw-w64-i686 gcc-mingw-w64-i686 -y
-  - sudo apt-get install binutils-mingw-w64-x86-64 gcc-mingw-w64-x86-64 -y
-before_script:
-  - blastn -version
-  - blastp -version
-  - makeblastdb -version
+  - ./scripts/travis_installdeps.sh
 script: ./scripts/travis_test.rb
diff --git a/CHANGELOG b/CHANGELOG
index 7d7edb9..7b0110e 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,4 +1,21 @@
-changes in version 1.5.9 (2016-07-XX)
+changes in version 1.5.10 (2017-08-04)
+
+- bugfixes and cleanups
+- add Readjoiner output in GFA format
+- improve building on GCC 7
+- add arbitrary N values for `gt seqstat`
+- install gtdata into $PREFIX/share/genometools by default
+- improve robustness of test suite
+- add Travis tests for Mac OS X
+- `gt seed_extend` now speaks GFA2
+- improvements to `gt seed_extend` w.r.t. runtime and
+  output format
+- new implementation of functionality for computing
+  E-values for local alignments according to the
+  Karlin-Altschul statistics
+
+
+changes in version 1.5.9 (2016-07-21)
 
 - bugfixes and cleanups
 - update MD5 module to upstream version 1.2
diff --git a/Makefile b/Makefile
index cebc9e1..de5dabf 100644
--- a/Makefile
+++ b/Makefile
@@ -390,6 +390,12 @@ ifneq ($(sharedlib),no)
   SHARED_LIBGENOMETOOLS := lib/libgenometools$(SHARED_OBJ_NAME_EXT)
 endif
 
+ifeq ($(popcnt),yes)
+  ifeq ($(MACHINE),x86_64)
+    GT_CFLAGS += -mpopcnt
+  endif
+endif
+
 LIBGENOMETOOLS_DIRS:= src/core \
                       src/extended \
                       src/gtlua \
@@ -770,6 +776,12 @@ src/core/checkbitpackstring-int.c: \
 	$(V_ECHO) '[rebuild $@]'
 	$(V_DO)scripts/template2c.pl '-int' $<
 
+src/extended/intset_8.c src/extended/intset_8.h src/extended/intset_16.c \
+src/extended/intset_16.h src/extended/intset_32.c src/extended/intset_32.h: \
+	./scripts/gen-intsets.rb
+	$(V_ECHO) '[rebuild] $@'
+	$(V_DO)$<
+
 # SQLite needs special attention
 obj/$(SQLITE3_DIR)/%.o: $(SQLITE3_DIR)/%.c
 	$(V_ECHO) "[compile $(@F)]"
@@ -963,7 +975,8 @@ else
 	cp bin/gt $(prefix)/bin
 	$(STRIP) $(prefix)/bin/gt
 endif
-	cp -r gtdata $(prefix)/bin
+	mkdir -p $(prefix)/share/genometools
+	cp -a gtdata $(prefix)/share/genometools/
 	test -d $(prefix)/include/genometools/core \
 	  || mkdir -p $(prefix)/include/genometools/core
 	cp src/core/*_api.h $(prefix)/include/genometools/core
diff --git a/VERSION b/VERSION
index 2b26b8d..f0ed379 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.5.9
+1.5.10
diff --git a/doc/RELEASE b/doc/RELEASE
index eaec1e7..ac30c40 100644
--- a/doc/RELEASE
+++ b/doc/RELEASE
@@ -40,7 +40,3 @@ Steps for preparing a new GenomeTools release
    Increase version number in VERSION file. Also, create a new CHANGELOG
    entry with the new version number and commit the change with the
    message 'version bump'.
-
-6. write email to gt-users mailing list (gt-users at genometools.org)
-
-   There is a template in the doc/ subdirectory.
diff --git a/gtdata/modules/gtdoclib/docvisitorlatex.lua b/gtdata/modules/gtdoclib/docvisitorlatex.lua
index 190d188..409acba 100644
--- a/gtdata/modules/gtdoclib/docvisitorlatex.lua
+++ b/gtdata/modules/gtdoclib/docvisitorlatex.lua
@@ -58,19 +58,26 @@ local function codify(str)
     str = ""
   end
   str = trim(str)
-  local res = string.gsub(str, "\\", "$\\backslash$")
-  res = string.gsub(res, "<<([^ ]-)>>", "@@%1@@")
-  res = string.gsub(res, "<([^ ]-)>", "\\texttt{%1}")
-  res = string.gsub(res, "@@([^ ]-)@@", "\\texttt{<%1>}")
-  res = string.gsub(res, "\->", "$\\to$")
-  res = string.gsub(res, ">", "$>$")
-  res = string.gsub(res, "<", "$<$")
-  res = string.gsub(res, " ([%a_][%a%d_%.]-%(%))", "\\texttt{%1}")
-  res = string.gsub(res, "___(.-)___", " \\textbf{%1}")
+  local res = string.gsub(str, "\\", "\\textbackslash")
+  res = string.gsub(res, "<<([a-zA-z_*()]-)>>", "@@%1@@")
+  res = string.gsub(res, "<([a-zA-z_*()]-)>", "\\texttt{%1}")
+  res = string.gsub(res, "@@([a-zA-z_*()]-)@@", "\\texttt{<%1>}")
+  res = string.gsub(res, "%->", "\\(\\rightarrow\\)")
+  res = string.gsub(res, "<%-", "\\(\\leftarrow\\)")
+  res = string.gsub(res, ">=", "\\(\\ge\\)")
+  res = string.gsub(res, ">", "\\(>\\)")
+  res = string.gsub(res, "<=", "\\(\\le\\)")
+  res = string.gsub(res, "<", "\\(<\\)")
+  res = string.gsub(res, " ([%a_][%a%d_%.]-%(%))", " \\texttt{%1}")
+  res = string.gsub(res, "___(.-)___", "\\textbf{%1}")
   res = string.gsub(res, "__(.-)__", "\\emph{%1}")
   res = string.gsub(res, "_", "\\_")
   res = string.gsub(res, "#", "\\#")
-  res = string.gsub(res, "(%w+%^)%s*([%w\\{}]+)", "$%1{%2}$")
+  res = string.gsub(res, "(%w+%^)%s*([%w\\{}]+)", "\\(%1{%2}\\)")
+  res = string.gsub(res, "(%d+) ?\\%(", "\\(%1")
+  res = string.gsub(res, "\\%) ?(%d+)", "%1\\)")
+  res = string.gsub(res, "\\%) -%\\%(", " ")
+  res = string.gsub(res, "%.%.%.", "\\ldots")
   return res
 end
 
diff --git a/gtdata/modules/gtdoclib/gtscript_header.lp b/gtdata/modules/gtdoclib/gtscript_header.lp
index 450840a..4702a15 100644
--- a/gtdata/modules/gtdoclib/gtscript_header.lp
+++ b/gtdata/modules/gtdoclib/gtscript_header.lp
@@ -11,7 +11,6 @@
 <li><a href="index.html">Overview</a></li>
 <li><a href="pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="documentation.html">Documentation</a></li>
   <ul class="submenu">
diff --git a/gtdata/modules/gtdoclib/libgenometools_header.lp b/gtdata/modules/gtdoclib/libgenometools_header.lp
index 38c1c52..9d54ab1 100644
--- a/gtdata/modules/gtdoclib/libgenometools_header.lp
+++ b/gtdata/modules/gtdoclib/libgenometools_header.lp
@@ -11,7 +11,6 @@
 <li><a href="index.html">Overview</a></li>
 <li><a href="pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="documentation.html">Documentation</a></li>
   <ul class="submenu">
diff --git a/gtpython/README b/gtpython/README
index b7f451e..7b1ecac 100644
--- a/gtpython/README
+++ b/gtpython/README
@@ -16,7 +16,7 @@ python setup.py install
 
 to install the 'gt' package on this system (must be root).
 
-Furthermore, you have to make sure that the GenomeTools shared libraries can be
+Furthermore, you have to make sure that the GenomeTools shared libraries can
 be found by the dlopen(3) system call. For example, by adding the lib/
 subdirectory of GenomeTools to your LD_LIBRARY_PATH environment variable.
 Alternatively, use "make install" in the genometools directory for a
diff --git a/scripts/SEmatch.rb b/scripts/SEmatch.rb
new file mode 100644
index 0000000..1955fc2
--- /dev/null
+++ b/scripts/SEmatch.rb
@@ -0,0 +1,151 @@
+class SEmatch
+  def initialize(matchfile)
+    @matchfile = matchfile
+  end
+  def each()
+    begin
+      @fp = File.new(@matchfile)
+    rescue => err
+      STDERR.puts "#{$0}: cannot open #{@matchfile}"
+      exit 1
+    end
+    @options = nil
+    @fields = nil
+    @runtime = nil
+    @spacepeak = nil
+    @fp.each_line do |line|
+      if line.match(/^#/)
+        if m = line.match(/^# Options:(.*)$/)
+          @options = m[1]
+        elsif m = line.match(/^# Fields:\s(.*)$/)
+          @fields = m[1].gsub(/\./,"_").split(/, /)
+          @fields.map!{|f| f.gsub(/\s/,"_").gsub(/__/,"_").gsub(/%_/,"")}
+        end
+        if m = line.match(/^# TIME.*\s(\S+)$/)
+          @runtime = m[1].to_f
+        elsif m = line.match(/^# combined space peak in megabytes:\s(\S+)$/)
+          @spacepeak = m[1].to_f
+        end
+      else
+        if @fields.nil?
+          STDERR.puts "#{$0}: fields: not defined"
+          exit 1
+        end
+        value_hash = Hash.new()
+        line.gsub(/^\s+/,"").split(/\s+/).each_with_index do |value,idx|
+          if value.match(/^\d+\.\d+$/)
+            value_hash[@fields[idx].to_sym] = value.to_f
+          elsif value.match(/^\d+$/)
+            value_hash[@fields[idx].to_sym] = value.to_i
+          else
+            value_hash[@fields[idx].to_sym] = value
+          end
+        end
+        if value_hash.has_key?(:s_start)
+          if value_hash.has_key?(:s_len)
+            value_hash[:s_end] = value_hash[:s_start] + value_hash[:s_len] - 1
+          elsif value_hash.has_key?(:s_end)
+            if value_hash[:s_start] < value_hash[:s_end]
+              value_hash[:s_len] = value_hash[:s_end] - value_hash[:s_start] + 1
+            else
+              value_hash[:s_len] = value_hash[:s_start] - value_hash[:s_end] + 1
+            end
+          else
+            STDERR.puts "#{$0}: either length of match on subject or end " +
+                        "position must be given"
+            exit 1
+          end
+        else
+          STDERR.puts "#{$0}: start of match on subject must be given"
+          exit 1
+        end
+        if value_hash.has_key?(:q_start)
+          if value_hash.has_key?(:q_len)
+            value_hash[:q_end] = value_hash[:q_start] + value_hash[:q_len] - 1
+          elsif value_hash.has_key?(:q_end)
+            if value_hash[:q_start] < value_hash[:q_end]
+              value_hash[:q_len] = value_hash[:q_end] - value_hash[:q_start] + 1
+            else
+              value_hash[:q_len] = value_hash[:q_start] - value_hash[:q_end] + 1
+            end
+          else
+            value_hash[:q_len] = value_hash[:s_len]
+          end
+        else
+          STDERR.puts "#{$0}: start of match on query must be given"
+          exit 1
+        end
+        value_hash[:origline] = line.chomp
+        yield value_hash
+      end
+    end
+  end
+  def spacepeak_get()
+    return @spacepeak
+  end
+  def runtime_get()
+    return @runtime
+  end
+end
+
+def match_is_identical(m0,m1)
+  if m0[:s_seqnum] != m1[:s_seqnum] or m0[:q_seqnum] != m1[:q_seqnum]
+    STDERR.puts "#{$0}: expect same sequence numbers"
+    exit 1
+  end
+  if [m0[:s_start],m0[:s_end],m0[:q_start],m0[:q_end]] ==
+     [m1[:s_start],m1[:s_end],m1[:q_start],m1[:q_end]]
+    return true
+  end
+  return false
+end
+
+def coords_contained_in(start0,end0,start1,end1)
+  if start1 <= start0 and end0 <= end1
+    return true
+  end
+  return false
+end
+
+def match_proper_contained_in(m0,m1)
+  if m0[:s_seqnum] != m1[:s_seqnum] or m0[:q_seqnum] != m1[:q_seqnum]
+    STDERR.puts "#{$0}: expect same sequence numbers"
+    exit 1
+  end
+  if coords_contained_in(m0[:s_start],m0[:s_end],m1[:s_start],m1[:s_end]) and
+     coords_contained_in(m0[:q_start],m0[:q_end],m1[:q_start],m1[:q_end]) and
+     not match_is_identical(m0,m1)
+    return true
+  end
+  return false
+end
+
+def coords_overlap_size(start0,end0,start1,end1)
+  if start0 > start1
+    STDERR.puts "#{$0}: start0=#{start0} > #{start1}=start1 not expected"
+    exit 1
+  end
+  if end0 < start1
+    return 0
+  elsif end0 < end1
+    return end0 - start1 + 1
+  else
+    return end1 - start1 + 1
+  end
+end
+
+def matches_overlap(m0,m1)
+  ovl = 0
+  if m0[:s_start] <= m1[:s_start]
+    ovl += coords_overlap_size(m0[:s_start],m0[:s_end],m1[:s_start],m1[:s_end])
+  else
+    ovl += coords_overlap_size(m1[:s_start],m1[:s_end],m0[:s_start],m0[:s_end])
+  end
+  if m0[:q_start] <= m1[:q_start]
+    ovl += coords_overlap_size(m0[:q_start],m0[:q_end],m1[:q_start],m1[:q_end])
+  else
+    ovl += coords_overlap_size(m1[:q_start],m1[:q_end],m0[:q_start],m0[:q_end])
+  end
+  len = (m0[:s_len] + m0[:q_len])/2 + (m1[:s_len] + m1[:q_len])/2
+  return (ovl.to_f/len.to_f).round
+end
diff --git a/scripts/all-vs-all.sh b/scripts/all-vs-all.sh
index 62178b7..74cf7f8 100755
--- a/scripts/all-vs-all.sh
+++ b/scripts/all-vs-all.sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 set -e -x
-# set GTDIR as path of genometools directory
+: "${GTDIR:?Need to set environment GTDIR as path to genometools directory}"
 excludelist=Verysmall.fna,TTTN.fna,description_test.fastq,Random160.fna,description_test2.fastq,Copysorttest.fna,TTT-small.fna,paired_reads_1N_2.p.fastq,Random.fna,wildcard1.fastq,wildcard2.fastq,fastq_problem2.fasta,fastq_problem.fasta,Reads3.fna,invalid_with_pos256_q31.fastq,Small.fna,sg_reads.fastq,Reads2.fna,hop_moderate.fastq,hop_aggressive.fastq
 
 for reference in `${GTDIR}/scripts/findfasta.rb -n -e ${excludelist}`
@@ -10,9 +10,9 @@ do
   for query in `${GTDIR}/scripts/findfasta.rb -n -e ${excludelist}`
   do
     bin/gt encseq encode -indexname query-index ${query}
-    for mode in "" -seed-display
+    for mode in "" "-outfmt seed"
     do
-      bin/gt seed_extend $mode -v -ii ref-index -maxfreq 20 -qii query-index > tmp.matches
+      bin/gt seed_extend $mode -v -kmerfile no -ii ref-index -maxfreq 20 -qii query-index > tmp.matches
       bin/gt dev show_seedext -a -f tmp.matches
       bin/gt dev show_seedext -e -f tmp.matches
       bin/gt dev show_seedext -a -f tmp.matches -sort
diff --git a/scripts/alloutputoptions.rb b/scripts/alloutputoptions.rb
index 92c06fa..c99022f 100755
--- a/scripts/alloutputoptions.rb
+++ b/scripts/alloutputoptions.rb
@@ -1,40 +1,14 @@
 #!/usr/bin/env ruby
 
-def turnwheels(outlist)
-  numofalphabets = outlist.length
-  wheelspace = Array.new
-  alphasizes = Array.new
-  0.upto(numofalphabets-1) do |z|
-    alphasizes[z] = 2
-    wheelspace[z] = 0
-  end
-  z = numofalphabets-1
-  while true
-    output = false
-    0.upto(numofalphabets-1) do |i|
-      if wheelspace[i] == 1
-        output = true
-        print " #{outlist[i]}"
-      end
-    end
-    if output
-      puts ""
-    end
-    stop = false
-    while not stop
-      wheelspace[z] = wheelspace[z]+1
-      if wheelspace[z] == alphasizes[z]
-        wheelspace[z] = 0
-        if z == 0
-          return
-        end
-        z = z - 1
-      else
-        z = numofalphabets-1
-        stop = true
-      end
+require_relative "turnwheel.rb"
+
+elements = ["-tis","-suf","-bwt","-lcp"]
+size = elements.size
+turnwheels(Array.new(size) {2}) do |wheel|
+  0.upto(size-1).each do |i|
+    if wheel[i] == 0
+      print " #{elements[i]}"
     end
   end
+  puts ""
 end
-
-turnwheels(["-tis","-suf","-bwt","-lcp"])
diff --git a/scripts/build_dists.sh b/scripts/build_dists.sh
index b505070..7b6ccf0 100755
--- a/scripts/build_dists.sh
+++ b/scripts/build_dists.sh
@@ -52,6 +52,7 @@ make MACHINE=ARMv7                   \
      STRIP=arm-linux-gnueabihf-strip \
      amalgamation=yes                \
      cairo=no                        \
+     errorcheck=no                   \
      $*
 make MACHINE=ARMv7                   \
      64bit=no                        \
@@ -60,6 +61,7 @@ make MACHINE=ARMv7                   \
      STRIP=arm-linux-gnueabihf-strip \
      amalgamation=yes                \
      cairo=no                        \
+     errorcheck=no                   \
      dist > $TMPFILE
 DISTRIBUTION=`tail -n 1 $TMPFILE`
 cp -f $DISTRIBUTION $DISTDIR
@@ -77,6 +79,7 @@ make MACHINE=ARMv6              \
      amalgamation=yes           \
      64bit=no                   \
      cairo=no                   \
+     errorcheck=no              \
      $*
 make MACHINE=ARMv6              \
      CC="ccache $HOME/arm/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-gcc" \
@@ -85,6 +88,7 @@ make MACHINE=ARMv6              \
      amalgamation=yes           \
      64bit=no                   \
      cairo=no                   \
+     errorcheck=no              \
      dist > $TMPFILE
 DISTRIBUTION=`tail -n 1 $TMPFILE`
 cp -f $DISTRIBUTION $DISTDIR
@@ -102,6 +106,7 @@ make SYSTEM=Darwin                     \
      amalgamation=yes                  \
      64bit=no                          \
      cairo=no                          \
+     errorcheck=no                     \
      $*
 make SYSTEM=Darwin                     \
      MACHINE=i386                      \
@@ -112,6 +117,7 @@ make SYSTEM=Darwin                     \
      amalgamation=yes                  \
      64bit=no                          \
      cairo=no                          \
+     errorcheck=no                     \
      dist > $TMPFILE
 DISTRIBUTION=`tail -n 1 $TMPFILE`
 cp -f $DISTRIBUTION $DISTDIR
@@ -129,6 +135,7 @@ make SYSTEM=Darwin                     \
      STRIP=i686-apple-darwin10-strip   \
      amalgamation=yes                  \
      cairo=no                          \
+     errorcheck=no                     \
      $*
 make SYSTEM=Darwin                     \
      MACHINE=i386                      \
@@ -139,6 +146,7 @@ make SYSTEM=Darwin                     \
      STRIP=i686-apple-darwin10-strip   \
      amalgamation=yes                  \
      cairo=no                          \
+     errorcheck=no                     \
      dist > $TMPFILE
 DISTRIBUTION=`tail -n 1 $TMPFILE`
 cp -f $DISTRIBUTION $DISTDIR
diff --git a/scripts/check-fstperquery.rb b/scripts/check-fstperquery.rb
new file mode 100755
index 0000000..e774edc
--- /dev/null
+++ b/scripts/check-fstperquery.rb
@@ -0,0 +1,55 @@
+#!/usr/bin/env ruby
+
+require_relative "SEmatch.rb"
+
+if ARGV.length != 2
+  STDERR.puts "Usage: #{$0} <file with at most one match per query>  <file with all matches>"
+  exit 1
+end
+
+require "set"
+
+fstperquery_matches = Set.new()
+fstperquery_seqnum = Set.new()
+
+miter = SEmatch.new(ARGV[0])
+miter.each do |m|
+  fstperquery_matches.add(m)
+  qseqnum = m[:q_seqnum]
+  if fstperquery_seqnum.member?(qseqnum)
+    STDERR.puts "#{$0}: match for query #{qseqnum} already in #{ARGV[0]}"
+    exit 1
+  else
+    fstperquery_seqnum.add(qseqnum)
+  end
+end
+
+all_matches = Set.new()
+all_seqnum = Set.new()
+miter = SEmatch.new(ARGV[1])
+miter.each do |m|
+  all_matches.add(m)
+  puts "add #{m} with seqnum #{m[:q_seqnum]}"
+  all_seqnum.add(m[:q_seqnum])
+end
+
+if not fstperquery_matches.subset?(all_matches)
+  STDERR.puts "#{$0}: fstperquery is not subset of all"
+  all_matches.difference(fstperquery_matches).each do |elem|
+    STDERR.puts elem
+  end
+  exit 1
+end
+
+if all_seqnum != fstperquery_seqnum
+  STDERR.puts "#{$0}: #{ARGV[0]}.q_seqnum != #{ARGV[1]}.q_seqnum"
+  STDERR.puts "#{ARGV[0]}_seqnum="
+  fstperquery_seqnum.each do |elem|
+    STDERR.puts elem
+  end
+  STDERR.puts "#{ARGV[1]}.q_seqnum"
+  all_seqnum.each do |elem|
+    STDERR.puts elem
+  end
+  exit 1
+end
diff --git a/scripts/cleanpp.sh b/scripts/cleanpp.sh
index 0b6649f..1ee1755 100755
--- a/scripts/cleanpp.sh
+++ b/scripts/cleanpp.sh
@@ -37,3 +37,4 @@ rm -f *.sti
 rm -f *.sti1 
 rm -f *.suf
 rm -f *.tis 
+rm -f *.kmer 
diff --git a/scripts/cmp_db_query_exch.rb b/scripts/cmp_db_query_exch.rb
index 7319c8b..f66f9c9 100755
--- a/scripts/cmp_db_query_exch.rb
+++ b/scripts/cmp_db_query_exch.rb
@@ -20,7 +20,8 @@ def conv_to_i(v)
 end
 
 def convertfileinput(lines)
-  return lines.map! {|l| l.split(/\s/).map {|v| conv_to_i(v)}}
+  return lines.select{|line| not line.match(/^#/)}.
+               map! {|l| l.split(/\s/).map {|v| conv_to_i(v)}}
 end
 
 def extract(val,idxlist)
@@ -49,7 +50,6 @@ end
 lines0 = convertfileinput(openfile(filename0).readlines.uniq)
 lines1 = convertfileinput(openfile(filename1).readlines.uniq)
 
-
 lines0.sort! {|a,b| extract(a,[1,2,5,6,9]) <=> extract(b,[1,2,5,6,9])}
 lines1.sort! {|a,b| extract(a,[5,6,1,2,9]) <=> extract(b,[5,6,1,2,9])}
 idxmap = [4,5,6,3,0,1,2,7,8,9]
diff --git a/scripts/collect-mappings.rb b/scripts/collect-mappings.rb
deleted file mode 100755
index 108af5a..0000000
--- a/scripts/collect-mappings.rb
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/usr/bin/env ruby
-
-# Print the sensitivity of given matchfile(s).
-# This script is used by sim-read-mapping.sh. 
-
-require "set"
-
-if ARGV.length == 0
-  STDERR.puts "Usage: #{$0} <numreads> <matchfile>"
-  exit 1
-end
-
-numreads=ARGV[0].to_i
-queryseqnums = Set.new()
-
-ARGV.shift
-ARGV.each do |filename|
-  File.open(filename).each_line do |line|
-    if not line.match(/^#/)
-      m = line.split(/\s/)
-      queryseqnum = m[5].to_i
-      queryseqnums.add(queryseqnum)
-    end
-  end
-end
-printf("%.2f\n",100.0 * queryseqnums.length.to_f/numreads.to_f)
diff --git a/scripts/convert2myersformat.rb b/scripts/convert2myersformat.rb
index be8abd8..63ed72f 100755
--- a/scripts/convert2myersformat.rb
+++ b/scripts/convert2myersformat.rb
@@ -1,79 +1,8 @@
 #!/usr/bin/env ruby
-module Fasta
 
-class SequenceEntry
-  def initialize(header)
-    @header = header
-    @comment = []
-    @seqoflines = []
-  end
-  def add_comment_line(line)
-    @comment.push(line)
-  end
-  def add_sequence_line(line)
-    line.chomp!
-    line.gsub!(/\s/,"")
-    @seqoflines.push(line)
-  end
-  def write(rc, io, seq_line_width = 70)
-    io.print @header
-    @comment.each do |c| 
-      io.print c 
-    end
-    s = @seqoflines.join("")
-    if rc
-      s = s.reverse
-      s.tr!("ACGTacgt","TGCAtgca")
-    end
-    b = 0
-    while b < s.size
-      io.puts(s[b..b + seq_line_width - 1])
-      b += seq_line_width
-    end
-  end
-  def get_seqlength()
-    lensum = 0
-    @seqoflines.each do |line|
-      lensum+=line.length
-    end
-    return lensum
-  end
-  def get_sequence()
-    return @seqoflines.join("")
-  end
-  def get_header()
-    return @header.chomp
-  end
-end
-
-def Fasta.read_multi_file(fname)  # function for module Fasta
-  begin
-    fl = File.open(fname,"r") 
-  rescue => err
-    STDERR.print "Could not open file \"#{fname}\": #{err}\n"
-    exit 1
-  end
-  curr_entry = nil
-  fl.each_line do |l|
-    if l[0] == ?>
-      if curr_entry != nil 
-         yield curr_entry  # deliver current entry to iterator
-      end 
-      curr_entry = SequenceEntry.new(l)  # create new sequence entry
-    elsif l[0] == ?;   # comment line
-      curr_entry.add_comment_line(l)
-    else
-      curr_entry.add_sequence_line(l)
-    end
-  end
-  if curr_entry then 
-    yield curr_entry 
-  end  # for the last sequence entry
-end
-
-end # module Fasta
+require_relative "fasta"
 
-def print_sequence(seq, linelength, fp=STDOUT)
+def print_wildcard_replace(seq, linelength, fp=STDOUT)
   pos = 0
   while pos < seq.length do
     fp.puts replacewildcards(seq[pos..pos+linelength-1])
@@ -99,7 +28,7 @@ if __FILE__ == $0
     id = 0
     Fasta.read_multi_file(filename) do |entry|
       puts "#{convert2myersformat(entry.get_header(), entry.get_seqlength(), id)}"
-      print_sequence(entry.get_sequence(),70)
+      print_wildcard_replace(entry.get_sequence(),70)
       id += 1
     end
   end
diff --git a/scripts/cutsequences.rb b/scripts/cutsequences.rb
new file mode 100755
index 0000000..ca79875
--- /dev/null
+++ b/scripts/cutsequences.rb
@@ -0,0 +1,61 @@
+#!/usr/bin/env ruby
+
+require_relative "fasta"
+require_relative "print_sequence"
+
+def cutsinglesequence(sequence,header,maxnumber,minlength,
+                      maxlength,linelength)
+  pos = 0
+  count = 0
+  remaininglength = sequence.length
+  while pos < sequence.length and remaininglength >= minlength do
+    puts ">#{header}"
+    print_sequence(sequence[pos..pos+maxlength-1],linelength)
+    pos += maxlength
+    remaininglength -= maxlength
+    count += 1
+    if count >= maxnumber
+      break
+    end
+  end
+  return count
+end
+
+def cutsequences(inputfile,maxnumber,minlength,maxlength)
+  count = 0
+  linelength = 70
+  count = 0
+  Fasta.read_multi_file(inputfile) do |curr_entry|
+    len = curr_entry.get_seqlength()
+    if len >= minlength
+      sequence = curr_entry.get_sequence()
+      header = curr_entry.get_header()
+      if len > maxlength
+        count += cutsinglesequence(sequence,header,maxnumber,minlength,
+                                   maxlength,linelength)
+      else
+        puts ">#{header}"
+        print_sequence(sequence,linelength)
+      end
+      if count >= maxnumber
+        break
+      end
+    end
+  end
+end
+
+if __FILE__ == "#{$0}"
+  if ARGV.length != 4
+    STDERR.puts "Usage: #{$0} <inputfile> <maxnumber|all> <minlength> <maxlength>"
+    exit 1
+  end
+  inputfile = ARGV[0]
+  if ARGV[1] == "all"
+    maxnumber = INT_MAX
+  else
+    maxnumber = ARGV[1].to_i
+  end
+  minlength = ARGV[2].to_i
+  maxlength = ARGV[3].to_i
+  cutsequences(inputfile,minlength,maxlength)
+end
diff --git a/scripts/enumkmers.rb b/scripts/enumkmers.rb
new file mode 100755
index 0000000..32b496c
--- /dev/null
+++ b/scripts/enumkmers.rb
@@ -0,0 +1,26 @@
+#!/usr/bin/env ruby
+
+require_relative "turnwheel.rb"
+
+def enum_kmers(k,alphabet)
+  asize = alphabet.length
+  outstring = Array.new(k)
+  turnwheels(Array.new(k) {asize}) do |wheel|
+    0.upto(k-1).each do |i|
+      outstring[i] = alphabet[wheel[i]]
+    end
+    yield outstring.join
+  end
+end
+
+if ARGV.length != 2
+  STDERR.puts "Usage: #{$0} <k> <alphabet>"
+  exit 1
+end
+
+k = ARGV[0].to_i
+alphabet = ARGV[1].split(//)
+
+enum_kmers(k,alphabet) do |kmer|
+  puts kmer
+end
diff --git a/scripts/esq-in-bytes.sh b/scripts/esq-in-bytes.sh
index 47d25fd..2babd0d 100755
--- a/scripts/esq-in-bytes.sh
+++ b/scripts/esq-in-bytes.sh
@@ -1,16 +1,27 @@
 #!/bin/sh
 
 set -e -x
+
+seed_extend()
+{
+  env -i ${GTDIR}/bin/gt seed_extend -l 17 -maxmat -ii db -qii query -maxfreq 20 -kmerfile no $1
+}
+
 # set GTDIR as path of genometools directory
 
-for filename in `${GTDIR}/scripts/findfasta.rb`
+for dbseq in `${GTDIR}/scripts/findfasta.rb`
 do
-  ${GTDIR}/bin/gt encseq encode -indexname sfx $filename
-  # Now do something with the sequence
-  for mode in greedy xdrop
+  ${GTDIR}/bin/gt encseq encode -indexname db $dbseq
+  for queryseq in `${GTDIR}/scripts/findfasta.rb`
   do
-    echo $filename
-    ${GTDIR}/bin/gt -j 4 seed_extend -seqlength-display -parts 2 -extend${mode} -ii sfx -v -maxfreq 20 -seed-display -kmerfile no > sfx.matches
-    ${GTDIR}/bin/gt dev show_seedext -seqlength-display -f sfx.matches -a -sort
+    if test $queryseq != $dbseq
+    then
+      ${GTDIR}/bin/gt encseq encode -indexname query $queryseq
+      for mode in greedy
+      do
+        echo $filename
+        seed_extend "-no-reverse -maxmat 2 -use-apos"
+      done
+    fi
   done
 done
diff --git a/scripts/estim-kmer-size.rb b/scripts/estim-kmer-size.rb
new file mode 100755
index 0000000..00f0e8f
--- /dev/null
+++ b/scripts/estim-kmer-size.rb
@@ -0,0 +1,25 @@
+#!/usr/bin/env ruby
+
+# According to Mash: fast genome and metagenome distance estimation using 
+# MinHash, Genome Biol. 2016, page 9, the probability of a given k-mer 
+# w appearing in random genome of size n is 
+# $P(w\in X)=1 - (1 - \sigma^{-k})^{n}$, where $\sigma$ is the alphabet
+# size. The following function computes this value:
+
+def prob_kmer_appears(k,sigma,n)
+  return 1.0 - (1 - (1.0/(sigma.to_f ** k)))**n
+end
+
+# given a known genome size n and the desired probability q of observing a 
+# random k-mer, kmer-size  can be computed by 
+# $\lceil \log_{\sigma}(\frac{n(1-q)}{q}\rceil$. this 
+
+def kmer_size_for_prob(q,sigma,n)
+  return (Math.log(n.to_f*(1.0 - q.to_f)/q.to_f)/(Math.log sigma.to_f)).ceil
+end
+
+[0.1,0.05,0.01,0.001].each do |q|
+  [6,7,8,9].each do |exponent|
+    puts "#{q} #{exponent} #{kmer_size_for_prob(q,4,10**exponent)}"
+  end 
+end
diff --git a/scripts/evalue-filter.rb b/scripts/evalue-filter.rb
new file mode 100755
index 0000000..4bbf68e
--- /dev/null
+++ b/scripts/evalue-filter.rb
@@ -0,0 +1,29 @@
+#!/usr/bin/env ruby
+
+if ARGV.length != 2
+  STDERR.puts "Usage: #{$0} <evalue-filter> <file with subset>"
+  exit 1
+end
+
+def openthefile(filename)
+  begin
+    fp = File.new(filename,"r")
+  rescue => err
+    STDERR.puts "#{$0}: cannot open #{filename}: #{err}"
+    exit 1
+  end
+end
+
+evalue_filter = ARGV[0].to_f
+fpstrong = openthefile(ARGV[1])
+
+fpstrong.each_line do |line|
+  if not line.match(/^#/)
+    a = line.split(/\s/)
+    evalue = a[a.length - 1].to_f
+    if evalue > evalue_filter
+      STDERR.puts "#{$0}: unexpected line: #{line.chomp}"
+      exit 1
+    end
+  end
+end
diff --git a/scripts/extract-seed.rb b/scripts/extract-seed.rb
new file mode 100755
index 0000000..dcb6303
--- /dev/null
+++ b/scripts/extract-seed.rb
@@ -0,0 +1,18 @@
+#!/usr/bin/env ruby
+
+if ARGV.length != 1
+  STDERR.puts "Usage: #{$0} <inputfile>"
+  exit 1
+end
+
+File.new(ARGV[0],"r").each_line do |line|
+  if not line.match(/^#/)
+    a = line.split(/\s/)
+    if a.length < 13
+      STDERR.puts "line #{line.chomp} contains #{a.length} < 13 columns"
+      exit 1
+    end
+    puts "# seed: #{a[11]} #{a[12]} #{a[10]}"
+  end
+  print line
+end
diff --git a/scripts/fasta.rb b/scripts/fasta.rb
new file mode 100644
index 0000000..5fc84df
--- /dev/null
+++ b/scripts/fasta.rb
@@ -0,0 +1,112 @@
+module Fasta
+
+require 'zlib'
+# require 'codon2aa.rb'
+
+class SequenceEntry
+  def initialize(headline)
+    h = headline.match(/^>(.*)\n/)
+    if h
+      @header = h[1]
+    else
+      STDERR.puts "#{$0}: illegal header #{header}"
+      exit 1
+    end
+    @comment = Array.new()
+    @seqoflines = Array.new()
+  end
+  def add_comment_line(line)
+    @comment.push(line)
+  end
+  def add_sequence_line(line)
+    @seqoflines.push(line.chomp.gsub(/\s/,""))
+  end
+  def set_header(s)
+    @header = s
+  end
+  def write(rc, io, seq_line_width = 70)
+    io.print ">#{@header}"
+    @comment.each do |c|
+      io.print c
+    end
+    s = @seqoflines.join("")
+    if rc
+      s = s.reverse
+      s.tr!("ACGTacgt","TGCAtgca")
+    end
+    b = 0
+    while b < s.size
+      io.puts(s[b..b + seq_line_width - 1])
+      b += seq_line_width
+    end
+  end
+  def get_seqlength()
+    lensum = 0
+    @seqoflines.each do |line|
+      lensum += line.length
+    end
+    return lensum
+  end
+  def get_sequence()
+    return @seqoflines.join("")
+  end
+  def get_header()
+    return @header
+  end
+end
+
+=begin
+  def write_open_reading_frame( offset, io, reverse=false )
+    s = @seqoflines.join("")
+    if reverse
+      s = s.reverse
+    end
+    aaSequence = ""
+    position = offset
+    while position+3 < s.length    # enough bases for a codon
+      begin
+        codon = s[ position, 3 ]
+        aa = codon2aa_11( codon )
+        aaSequence += aa
+      rescue => text
+        io.puts text
+        return
+      end
+      position += 3
+    end
+    puts aaSequence
+  end
+=end
+
+def Fasta.read_multi_file(fname)  # function for module Fasta
+  begin
+    if fname.match(/\.gz$/)
+      infp = Zlib::GzipReader.open(fname)
+    else
+      infp = File.open(fname,"r")
+    end
+  rescue => err
+    STDERR.print "Could not open file \"#{fname}\": #{err}\n"
+    exit 1
+  end
+  curr_entry = nil
+  infp.each_line do |line|
+    if line.match(/^>/)
+      if not curr_entry.nil?
+        yield curr_entry  # deliver current entry to iterator
+      end
+      curr_entry = SequenceEntry.new(line)  # create new sequence entry
+    elsif line.match(/^;/)  # comment line
+      curr_entry.add_comment_line(line)
+    else
+      curr_entry.add_sequence_line(line)
+    end
+  end
+  if curr_entry.nil?
+    STDERR.puts "#{$0}: assertion in f. #{__FILE__}, l. #{__LINE__} failed"
+  end
+  yield curr_entry
+  infp.close
+end
+
+end # module Fasta
diff --git a/scripts/findfasta.rb b/scripts/findfasta.rb
index 9d7bde6..6112153 100755
--- a/scripts/findfasta.rb
+++ b/scripts/findfasta.rb
@@ -23,8 +23,15 @@ def listdirectory(directory)
   end
 end
 
-def listselected(dirname,excludelist)
-  suffixes = ["fastq","fasta","fna","fa","fsa.gz","fsa","FASTA.gz","FASTA"]
+def listselected(dirname,excludelist,includefastq,includegzip)
+  suffixes = ["fasta","fna","fa","fsa","FASTA"]
+  if includefastq
+    suffixes.push("fastq")
+  end
+  if includegzip
+    suffixes.push("fsa.gz")
+    suffixes.push("FASTA.gz")
+  end
   listdirectory(dirname) do |filename|
     suffixes.each do |suffix|
       if filename.match(/\.#{suffix}$/) and
@@ -39,6 +46,8 @@ def parseargs(argv)
   options = OpenStruct.new
   options.withgttestdata = true
   options.excludelist = Array.new()
+  options.includefastq = true
+  options.includegzip = true
   opts = OptionParser.new()
   opts.on("-n","--no-gttestdata","exclude gttestdata") do |x|
     options.withgttestdata = false
@@ -49,8 +58,17 @@ def parseargs(argv)
       options.excludelist.push(ef)
     end
   end
+  opts.on("-q","--no-fastq",
+          "exclude files ending with .fastq") do
+    options.includefastq = false
+  end
+  opts.on("-g","--no-gzip",
+          "exclude files ending with .gz") do
+    options.includegzip = false
+  end
   opts.on( '-h', '--help', 'Display this screen' ) do
     puts "Usage: #{$0} [options]"
+    puts opts
     exit 0
   end
   rest = opts.parse(argv)
@@ -77,7 +95,8 @@ testdata_exclude = ["solid_color_reads.fastq",
 
 if ENV.has_key?("GTDIR")
   testdata_dir = "#{ENV["GTDIR"]}/testdata"
-  listselected(testdata_dir,testdata_exclude) do |filename|
+  listselected(testdata_dir,testdata_exclude,options.includefastq,
+               options.includegzip) do |filename|
     puts filename
   end
 end
@@ -85,7 +104,8 @@ end
 if options.withgttestdata
   if ENV.has_key?("GTTESTDATA")
     gttestdata_exclude = ["trembl-section.fsa.gz"]
-    listselected(ENV["GTTESTDATA"],gttestdata_exclude) do |filename|
+    listselected(ENV["GTTESTDATA"],gttestdata_exclude,options.includefastq,
+                 options.includegzip) do |filename|
       puts filename
     end
   end
diff --git a/scripts/gen-display-struct.rb b/scripts/gen-display-struct.rb
new file mode 100755
index 0000000..0ecf47f
--- /dev/null
+++ b/scripts/gen-display-struct.rb
@@ -0,0 +1,226 @@
+#!/usr/bin/env ruby
+
+class String
+  def dot2us
+    return self.gsub(/\./,"_").gsub(/\s/,"")
+  end
+  def format_enum_value
+    return "Gt_" + self.dot2us.capitalize + "_display"
+  end
+end
+
+def keywords(display_options)
+  kws = Array.new()
+  idx = 0
+  max_display_flag_length = 0
+  display_options.each do |arg,helpline|
+    incolumn = if helpline.match(/^display /) then "true" else "false" end
+    kws.push([arg,idx,incolumn])
+    idx += 1
+    if max_display_flag_length < arg.length
+      max_display_flag_length = arg.length
+    end
+  end
+  return kws, max_display_flag_length
+end
+
+def indent(longest,arg)
+  return " " * (longest - arg.length + 1)
+end
+
+def format(longest,helpline)
+  len = longest + 3
+  out = Array.new()
+  helpline.split(/\s/).each do |w|
+    if len + w.length <= 58
+      out.push(w)
+      len += w.length
+    else
+      out.push("\\n\"\n" + " " * 9 + "\"" + " " * (longest+2) + w)
+      len = longest + 1 + w.length
+    end
+  end
+  return out.join(" ").gsub(/ \\n/,"\\n")
+end
+
+TRACE_DELTA = 50
+ALIGNMENT_WIDTH = 60
+
+# The following array defines the keywords which can be used as arguments
+# to option -outfmt, for each Keyword, a helpline is added.
+
+display_options = [
+  ["alignment",   "show alignment (possibly followed by =<number> to " +
+                  "specify width of alignment columns, default is " +
+                  "#{$ALIGNMENT_WDITH})"],
+  ["seed_in_algn","mark the seed in alignment"],
+  ["polinfo",     "add polishing information for shown alignment"],
+  ["seed",        "abbreviation for seed.len seed.s seed.q"],
+  ["failed_seed", "show the coordinates of a seed extension, which does not " +
+                  "satisfy the filter conditions"],
+  ["fstperquery", "output only the first found match per query"],
+  ["tabsep",      "separate columns by tabulator, instead of space as default"],
+  ["blast",       "output matches in blast format 7 (tabular with comment " +
+                  "lines; instead of gap opens, indels are displayed)"],
+  ["gfa2",        "output matches in gfa2 format"],
+  ["custom",      "output matches in custom format, i.e. no columns are " +
+                  "pre-defined; all columns have to be specified by the user"],
+  ["cigar",       "display cigar string representing alignment " +
+                  "(no distinction between match and mismatch)"],
+  ["cigarX",      "display cigar string representing alignment " +
+                  "(distinction between match (=) and mismatch (X))"],
+  ["trace",       "display trace, i.e. a compact representation of an " +
+                  "alignment (possibly followed by =<delta>) to specify the " +
+                  "delta-value; default value of delta is #{TRACE_DELTA}"],
+  ["dtrace",      "display trace as differences; like trace, but instead " +
+                  "of an absolute value x, report the difference " +
+                  "delta-x. This leads to smaller numbers and thus " +
+                  "a more compact representation"],
+  ["s.len",       "display length of match on subject sequence"],
+  ["s.seqnum",    "display sequence number of subject sequence"],
+  ["subject id",  "display sequence description of subject sequence"],
+  ["s.start",     "display start position of match on subject sequence"],
+  ["s.end",       "display end position of match on subject sequence"],
+  ["strand",      "display strand of match using symbols F (forward) and " +
+                  "P (reverse complement)"],
+  ["q.len",       "display length of match on query sequence"],
+  ["q.seqnum",    "display sequence number of query sequence"],
+  ["query id",    "display sequence description of query sequence"],
+  ["q.start",     "display start position of match on query sequence"],
+  ["q.end",       "display end position of match on query sequence"],
+  ["alignment length",    "display length of alignment"],
+  ["mismatches",  "display number of mismatches in alignment"],
+  ["indels",      "display number of indels in alignment"],
+  ["gap opens",   "display number of indels in alignment"],
+  ["score",       "display score of match"],
+  ["editdist",    "display unit edit distance"],
+  ["identity",    "display percent identity of match"],
+  ["seed.len",    "display length seed of the match"],
+  ["seed.s",      "display start position of seed in subject"],
+  ["seed.q",      "display start position of seed in query"],
+  ["s.seqlen",    "display length of subject sequence in which match occurs"],
+  ["q.seqlen",    "display length of query sequence in which match occurs"],
+  ["evalue",      "display evalue"],
+  ["bit score",   "display bit score"]
+]
+
+if display_options.length > 64
+  STDERR.puts "#{$0}: maximum number of display options is 64"
+  exit 1
+end
+
+display_options.each do |value|
+  if value.length != 2
+    STDERR.puts "#{$0}: #{value} is incorrect"
+    exit 1
+  end
+end
+
+kws, max_display_flag_length = keywords(display_options)
+
+outfilename = "src/match/se-display.inc"
+begin
+  fpout = File.new(outfilename,"w")
+rescue => err
+  STDERR.puts "#{$0}: cannot create file #{outfilename}"
+  exit 1
+end
+
+fpout.puts "/* This file was generated by #{$0}, do NOT edit. */"
+fpout.puts <<'EOF'
+static GtSEdisplayStruct gt_display_arguments_table[] =
+{
+EOF
+
+kws_sorted = kws.sort {|a,b| a[0] <=> b[0]}
+flag2index = Array.new(kws_sorted.length)
+kws_sorted.each_with_index do |value,idx|
+  flag2index[value[1]] = idx
+end
+
+fpout.puts "/* incolumn is true iff the helptext of the argument begins"
+fpout.puts "   with the keyword \"display\" */"
+
+fpout.puts kws_sorted.
+           map {|s,idx,incolumn| "  {\"#{s}\", #{s.format_enum_value}, #{incolumn}}"}.join(",\n")
+
+fpout.puts <<EOF
+};
+
+static unsigned int gt_display_flag2index[] = {
+EOF
+
+fpout.puts "   " +  flag2index.join(",\n   ")
+
+fpout.puts <<EOF
+};
+
+const char *gt_querymatch_display_help(void)
+{
+  return "specify what information about the matches to display\\n\"
+EOF
+
+longest = 0
+display_options.each do |arg,helpline|
+  if longest < arg.length
+    longest = arg.length
+  end
+end
+
+display_options.each do |arg,helpline|
+  fpout.puts " " * 9 + "\"#{arg}:#{indent(longest,arg)}" +
+       "#{format(longest,helpline)}\\n\""
+end
+fpout.puts <<'EOF'
+;
+}
+EOF
+
+fpout.puts "#define GT_SE_POSSIBLE_DISPLAY_ARGS \"" +
+            display_options.map{|arg,helpline| arg + "\""}.
+            join("\\\n        \", ")
+
+display_options.each do |arg,helpline|
+  if arg == "alignment"
+    next
+  end
+  fpout.puts <<EOF
+
+bool gt_querymatch_#{arg.dot2us}_display(const GtSeedExtendDisplayFlag
+                                        *display_flag)
+{
+  return gt_querymatch_display_on(display_flag,#{arg.format_enum_value});
+}
+EOF
+end
+
+fpout.close_write
+
+outfilename = "src/match/se-display-fwd.inc"
+begin
+  fpout = File.new(outfilename,"w")
+rescue => err
+  STDERR.puts "#{$0}: cannot create file #{outfilename}"
+  exit 1
+end
+
+fpout.puts "/* This file was generated by #{$0}, do NOT edit. */"
+
+fpout.puts "#define GT_DISPLAY_LARGEST_FLAG #{kws.length-1}"
+fpout.puts "#define GT_MAX_DISPLAY_FLAG_LENGTH #{max_display_flag_length}"
+fpout.puts "#define GT_SEED_EXTEND_DEFAULT_ALIGNMENT_WIDTH #{ALIGNMENT_WIDTH}"
+fpout.puts "#define GT_SEED_EXTEND_DEFAULT_TRACE_DELTA #{TRACE_DELTA}"
+
+fpout.puts "typedef enum\n{"
+
+fpout.puts kws.map{|s,idx,incolumn| "  #{s.format_enum_value} /* #{idx} */"}.join(",\n")
+
+fpout.puts "} GtSeedExtendDisplay_enum;"
+
+display_options.each do |arg,helpline|
+  if arg != "alignment"
+  fpout.puts <<EOF
+bool gt_querymatch_#{arg.dot2us}_display(const GtSeedExtendDisplayFlag *);
+EOF
+  end
+end
diff --git a/scripts/gen-intsets.rb b/scripts/gen-intsets.rb
index 32b5272..57c7e16 100755
--- a/scripts/gen-intsets.rb
+++ b/scripts/gen-intsets.rb
@@ -522,6 +522,16 @@ const GtIntsetClass* gt_intset_<%=bits%>_class(void)
   return this_c;
 }
 
+#define GT_INTSET_TEST_<%=bits%>_BINSEARCH(IDX) \\
+gt_ensure(gt_intset_<%=bits%>_get_test(is, IDX) == arr[IDX]); \\
+gt_ensure(gt_intset_<%=bits%>_get(is, IDX) == arr[IDX]); \\
+gt_ensure( \\
+  gt_intset_<%=bits%>_get_idx_smallest_geq_test(is, arr[IDX] + 1) == \\
+  IDX + 1); \\
+gt_ensure( \\
+  gt_intset_<%=bits%>_get_idx_smallest_geq(is, arr[IDX] + 1) == \\
+  IDX + 1)
+
 int gt_intset_<%=bits%>_unit_test(GtError *err)
 {
   int had_err = 0;
@@ -540,7 +550,7 @@ int gt_intset_<%=bits%>_unit_test(GtError *err)
   }
 
   is_size = \
-    gt_intset_<%=bits%>_size_of_rep(arr[num_of_elems - 1], num_of_elems);
+gt_intset_<%=bits%>_size_of_rep(arr[num_of_elems - 1], num_of_elems);
 
   if (!had_err) {
     if (is_size < (size_t) UINT_MAX) {
@@ -558,23 +568,16 @@ int gt_intset_<%=bits%>_unit_test(GtError *err)
       gt_ensure(gt_intset_<%=bits%>_elems_is_valid(is));
       gt_ensure(gt_intset_<%=bits%>_secstart_is_valid(is));
 
-      for (idx = 0; !had_err && idx < num_of_elems; idx++) {
-        if (arr[idx] != 0 && arr[idx - 1] != (arr[idx] - 1)) {
-          gt_ensure(
-            gt_intset_<%=bits%>_get_idx_smallest_geq_test(is, arr[idx] - 1) ==
-            idx);
-          gt_ensure(
-            gt_intset_<%=bits%>_get_idx_smallest_geq(is, arr[idx] - 1) ==
-            idx);
-        }
-        gt_ensure(gt_intset_<%=bits%>_get_test(is, idx) == arr[idx]);
-        gt_ensure(gt_intset_<%=bits%>_get(is, idx) == arr[idx]);
+      GT_INTSET_TEST_<%=bits%>_BINSEARCH(0);
+      for (idx = 1; !had_err && idx < num_of_elems; idx++) {
+        GtUword to_find = (arr[idx - 1] == (arr[idx] - 1)) ? idx - 1 : idx;
         gt_ensure(
-          gt_intset_<%=bits%>_get_idx_smallest_geq_test(is, arr[idx] + 1) ==
-          idx + 1);
+          gt_intset_<%=bits%>_get_idx_smallest_geq_test(is, arr[idx] - 1) ==
+          to_find);
         gt_ensure(
-          gt_intset_<%=bits%>_get_idx_smallest_geq(is, arr[idx] + 1) ==
-          idx + 1);
+          gt_intset_<%=bits%>_get_idx_smallest_geq(is, arr[idx] - 1) ==
+          to_find);
+        GT_INTSET_TEST_<%=bits%>_BINSEARCH(idx);
       }
       if (!had_err)
         had_err = gt_intset_unit_test_notinset(is, 0, arr[0] - 1, err);
diff --git a/scripts/gen-radixsort-ip.rb b/scripts/gen-radixsort-ip.rb
index 0759e1b..2e801a8 100755
--- a/scripts/gen-radixsort-ip.rb
+++ b/scripts/gen-radixsort-ip.rb
@@ -13,16 +13,23 @@ def parseargs(argv)
   options.typename = :ulong
   ulongpairset = false
   uint64keypairset = false
+  flbaset = false
   opts = OptionParser.new
   opts.on("--ulongpair",
           "generate code sorting key/value pairs of ulongs") do |x|
     ulongpairset = true
     options.typename = :ulongkeyvaluepair
   end
-  opts.on("--uint64keypair","generate code sorting pairs of uint64_t keys") do |x|
+  opts.on("--uint64keypair",
+          "generate code sorting pairs of uint64_t keys") do |x|
     uint64keypairset = true
     options.typename = :uint64keypair
   end
+  opts.on("--flba",
+          "generate code sorting byte arrays of fixed length") do |x|
+    flbaset = true
+    options.typename = :flba
+  end
   rest = opts.parse(argv)
   if not rest.empty?
     usage(opts,"superfluous arguments")
@@ -31,32 +38,184 @@ def parseargs(argv)
     STDERR.puts "#{$0}: cannot combine option --ulongpair and --uint64keypair"
     exit 1
   end
+  if ulongpairset and flbaset
+    STDERR.puts "#{$0}: cannot combine option --ulongpair and --flba"
+    exit 1
+  end
+  if uint64keypairset and flbaset
+    STDERR.puts "#{$0}: cannot combine option --uint64keypair and --flba"
+    exit 1
+  end
   return options
 end
 
-def makekey(options)
+def makekeyname(options)
   if options.typename == :ulong
     return "ulong"
   elsif options.typename == :ulongkeyvaluepair
     return "ulongpair"
-  else
+  elsif options.typename == :uint64keypair
     return "uint64keypair"
+  else
+    return "flba"
   end
 end
 
-def maketype(options)
+def makekeyptr(options)
+  return makekeyname(options) + "ptr"
+end
+
+def makebasetype(options)
   if options.typename == :ulong
     return "GtUword"
   elsif options.typename == :ulongkeyvaluepair
     return "GtUwordPair"
-  else
+  elsif options.typename == :uint64keypair
     return "Gtuint64keyPair"
+  else
+    return "uint8_t"
+  end
+end
+
+def makevaluetype(options)
+  if options.typename == :flba
+    return "const " + makebasetype(options) + "*"
+  else
+    return makebasetype(options)
+  end
+end
+
+class String
+  def del_us
+    self.gsub!(/^_/,"")
+  end
+  def del_us_all
+    self.gsub!(/_/,"")
+  end
+end
+
+def declare_tmpvar(options,var)
+  if options.typename == :flba
+    return "/* no decl. */"
+  else
+    return makebasetype(options) + " #{var};"
+  end
+end
+
+def increment(options,var)
+  if options.typename == :flba
+    return "#{var} += rbuf->unitsize"
+  else
+    return "#{var}++"
   end
 end
 
-def derefptr(ptr,options,comp="a")
+def tmpvarexpr(options,var)
+  if options.typename == :flba
+    return "rbuf->#{var}_ptr"
+  else
+    return "#{var}"
+  end
+end
+
+def offset(options,expr)
+  if options.typename == :flba
+    return "#{expr} * rbuf->unitsize"
+  else
+    return expr
+  end
+end
+
+def copy_ptr_ptr(options,destptr,sourceptr)
+  if options.typename == :flba
+    return "memcpy(#{destptr},#{sourceptr},rbuf->unitsize)"
+  else
+    return "*#{destptr} = *#{sourceptr}"
+  end
+end
+
+def copy_index_expr(options,arr,idx,expr)
+  if options.typename == :flba
+    if expr.match(/^_/)
+      expr = "rbuf->#{expr.del_us}_ptr"
+    end
+    return "memcpy(#{arr} + (#{idx}) * rbuf->unitsize,\n#{expr},rbuf->unitsize)"
+  else
+    expr.del_us
+    if "#{arr}[#{idx}]".length > 60
+      return "#{arr}[#{idx}]=\n#{expr}"
+    else
+      return "#{arr}[#{idx}] = #{expr}"
+    end
+  end
+end
+
+def copy_var_index(options,var,arr,idx)
+  if options.typename == :flba
+    if var.match(/^_/)
+      var = "rbuf->#{var.del_us}_ptr"
+    end
+    return "memcpy(#{var},#{arr} + (#{idx}) * rbuf->unitsize,\nrbuf->unitsize)"
+  else
+    var.del_us
+    return "#{var} = #{arr}[#{idx}]"
+  end
+end
+
+def copy_var_expr(options,var,expr)
+  if options.typename == :flba
+    if var.match(/^_/)
+      var = "rbuf->#{var.del_us}_ptr"
+    end
+    if expr.match(/^_/)
+      expr = "rbuf->#{expr.del_us}_ptr"
+    end
+    return "memcpy(#{var},#{expr},\nrbuf->unitsize)"
+  else
+    var.del_us
+    expr.del_us
+    return "#{var} = #{expr}"
+  end
+end
+
+def copy_var_ptr(options,var,ptr)
+  if options.typename == :flba
+    return copy_var_expr(options,var,ptr)
+  else
+    var.del_us
+    return "#{var} = *#{ptr}"
+  end
+end
+
+def copy_ptr_expr(options,ptr,expr)
+  if options.typename == :flba
+    return copy_var_expr(options,ptr,expr)
+  else
+    expr.del_us
+    return "*#{ptr} = #{expr}"
+  end
+end
+
+def shiftnext(options)
+  if options.typename == :flba
+    return "shift+1"
+  else
+    return "shift - CHAR_BIT"
+  end
+end
+
+def recursion_continue(options)
+  if options.typename == :flba
+    return "currentstackelem.shift < rbuf->unitsize-1"
+  else
+    return "currentstackelem.shift > 0"
+  end
+end
+
+def derefptr(options,ptr,comp="a")
   if m = ptr.match(/^&(\w+)/)
     var = m[1]
+    var.del_us
   else
     var = ptr
   end
@@ -72,90 +231,127 @@ def derefptr(ptr,options,comp="a")
     else
       return "#{var}.#{comp}"
     end
-  else
+  elsif options.typename == :uint64keypair
     if var == ptr
       return "#{var}->uint64_#{comp}"
     else
       return "#{var}.uint64_#{comp}"
     end
+  else
+    return ""
   end
 end
 
-def radixkey(var,options)
+def radixkey(options,var)
   if options.typename == :ulong or options.typename == :ulongkeyvaluepair
-    return "GT_RADIX_KEY(UINT8_MAX,rightshift,#{derefptr(var,options)})"
-  else
+    return "GT_RADIX_KEY(UINT8_MAX,rightshift,#{derefptr(options,var)})"
+  elsif options.typename == :uint64keypair
     return "(rightshift > (sizeof (GtUword) - 1) * CHAR_BIT) ?\n" +
            "GT_RADIX_KEY(UINT8_MAX,rightshift - sizeof (GtUword) * CHAR_BIT,\n" +
-           "#{derefptr(var,options)}) :\n" +
-           "GT_RADIX_KEY(UINT8_MAX,rightshift,#{derefptr(var,options,"b")})"
+           "#{derefptr(options,var)}) :\n" +
+           "GT_RADIX_KEY(UINT8_MAX,rightshift,#{derefptr(options,var,"b")})"
+  else
+    if m = var.match(/^&_(\w+)/)
+      var = "rbuf->#{m[1]}_ptr"
+    end
+    return "#{var}[rightshift]"
   end
 end
 
-def compare_smaller(ptr1,ptr2,options)
+def compare_smaller(options,ptr1,ptr2)
   if options.typename == :ulong or options.typename == :ulongkeyvaluepair
-    return "#{derefptr(ptr1,options)} < #{derefptr(ptr2,options)}"
+    return "#{derefptr(options,ptr1)} < #{derefptr(options,ptr2)}"
+  elsif options.typename == :uint64keypair
+    ptr1.del_us_all
+    ptr2.del_us_all
+    return "gt_radixsort_uint64keypair_smaller(#{ptr1},#{ptr2})"
   else
-    return "gt_radixsort_compare_smaller(#{ptr1},#{ptr2})"
+    if m = ptr1.match(/^&_(\w+)/)
+      ptr1 = "rbuf->#{m[1]}_ptr"
+    end
+    return "memcmp(#{ptr1},#{ptr2},rbuf->unitsize) < 0"
   end
 end
 
 options = parseargs(ARGV)
 
+if options.typename == :flba
+print <<END_OF_FILE
+static #{makebasetype(options)} *gt_radixsort_#{makekeyname(options)}_bin_get(
+                                            const GtRadixbuffer *rbuf,
+                                            GtUword binnum)
+{
+  return rbuf->values.#{makekeyptr(options)} +
+                 ((binnum << rbuf->log_bufsize) +
+                  (GtUword) rbuf->nextidx[binnum]) * rbuf->unitsize;
+}
+END_OF_FILE
+else
 print <<END_OF_FILE
-static #{maketype(options)} gt_radixsort_#{makekey(options)}_bin_get(
+static #{makebasetype(options)} gt_radixsort_#{makekeyname(options)}_bin_get(
                                             const GtRadixbuffer *rbuf,
                                             GtUword binnum)
 {
-  return rbuf->values.#{makekey(options)}ptr[(binnum << rbuf->log_bufsize) +
-                             (GtUword) rbuf->nextidx[binnum]];
+  return rbuf->values.#{makekeyptr(options)}[
+                 (binnum << rbuf->log_bufsize) +
+                 (GtUword) rbuf->nextidx[binnum]];
 }
+END_OF_FILE
+end
 
-static void gt_radixsort_#{makekey(options)}_bin_update(
-                                    #{maketype(options)} *target,
+print <<END_OF_FILE
+static inline void gt_radixsort_#{makekeyname(options)}_bin_update(
+                                    #{makebasetype(options)} *source,
                                     GtRadixbuffer *rbuf,
                                     GtUword binnum,
-                                    #{maketype(options)} value)
+                                    #{makevaluetype(options)} value)
 {
   GtUword binoffset = binnum << rbuf->log_bufsize;
 
-  rbuf->values.#{makekey(options)}ptr[binoffset +
-                                      (GtUword) rbuf->nextidx[binnum]] = value;
+  #{copy_index_expr(options,"rbuf->values.#{makekeyptr(options)}\n",
+                    "binoffset + (GtUword) rbuf->nextidx[binnum]",
+                    "value")};
   if ((GtUword) rbuf->nextidx[binnum] < rbuf->buf_size - 1)
   {
     rbuf->nextidx[binnum]++;
   } else
   {
     GtUword j;
-    #{maketype(options)} *wtargetptr, *rtargetptr, *rend, *valptr;
-
-    wtargetptr = target + rbuf->endofbin[binnum] - (rbuf->buf_size - 1);
-    rtargetptr = wtargetptr + rbuf->buf_size;
-    rend = target + rbuf->startofbin[binnum+1];
-    valptr = rbuf->values.#{makekey(options)}ptr + binoffset;
+    #{makebasetype(options)} *wsourceptr, *rsourceptr, *rend, *valptr;
+
+    wsourceptr = source +
+                 #{offset(options,"(rbuf->endofbin[binnum] - "+
+                                  "(rbuf->buf_size - 1))\n")};
+    rsourceptr = wsourceptr + #{offset(options,"rbuf->buf_size")};
+    rend = source + #{offset(options,"rbuf->startofbin[binnum+1]")};
+    valptr = rbuf->values.#{makekeyptr(options)} +
+             #{offset(options,"binoffset")};
     for (j=0; j<rbuf->buf_size; j++)
     {
-      *wtargetptr++ = *valptr;
-      if (rtargetptr < rend)
+      #{copy_ptr_ptr(options,"wsourceptr","valptr")};
+      #{increment(options,"wsourceptr")};
+      if (rsourceptr < rend)
       {
-        *valptr = *rtargetptr++;
+        #{copy_ptr_ptr(options,"valptr","rsourceptr")};
+        #{increment(options,"rsourceptr")};
       }
-      valptr++;
+      #{increment(options,"valptr")};
     }
     rbuf->nextidx[binnum] = 0;
   }
   rbuf->endofbin[binnum]++;
 }
 
-static void gt_radixsort_#{makekey(options)}_cached_shuffle(GtRadixbuffer *rbuf,
-                                              #{maketype(options)} *source,
+static void gt_radixsort_#{makekeyname(options)}_cached_shuffle(GtRadixbuffer *rbuf,
+                                              #{makebasetype(options)} *source,
                                               GtCountbasetype len,
                                               size_t rightshift)
 {
   GtUword binoffset, binnum, bufoffset,
                 nextbin, firstnonemptybin = UINT8_MAX+1;
-  GtCountbasetype *count, previouscount, current;
-  #{maketype(options)} *sp, *spend = source + len;
+  GtCountbasetype *count, previouscount, currentidx;
+  #{makebasetype(options)} *sourceptr,
+                           *sourceend = source + #{offset(options,"len")};
 
   rbuf->countcached++;
   count = rbuf->startofbin; /* use same memory for count and startofbin */
@@ -164,24 +360,25 @@ static void gt_radixsort_#{makekey(options)}_cached_shuffle(GtRadixbuffer *rbuf,
     count[binnum] = 0;
     rbuf->nextidx[binnum] = 0;
   }
-  for (sp = source; sp < spend; sp++)
+  for (sourceptr = source; sourceptr < sourceend; #{increment(options,"sourceptr")})
   {
-    count[#{radixkey("sp",options)}]++;
+    count[#{radixkey(options,"sourceptr")}]++;
   }
   for (bufoffset = 0, binoffset = 0, binnum = 0; binnum <= UINT8_MAX;
        bufoffset += rbuf->buf_size, binoffset += count[binnum], binnum++)
   {
-    GtUword j;
-    const GtUword end = MIN(rbuf->buf_size,(GtUword) count[binnum]);
+    const GtUword elems2copy = MIN(rbuf->buf_size,(GtUword) count[binnum]);
 
-    if (firstnonemptybin == UINT8_MAX+1 && end > 0)
+    if (elems2copy > 0)
     {
-      firstnonemptybin = binnum;
-    }
-    for (j=0; j<end; j++)
-    {
-      rbuf->values.#{makekey(options)}ptr[bufoffset + j] =
-        source[binoffset + j];
+      if (firstnonemptybin == UINT8_MAX+1)
+      {
+        firstnonemptybin = binnum;
+      }
+      memcpy(rbuf->values.
+             #{makekeyptr(options)} + #{offset(options,"bufoffset")},
+             source + #{offset(options,"binoffset")},
+             #{offset(options,"(sizeof *source * elems2copy)")});
     }
   }
   previouscount = count[0];
@@ -189,35 +386,38 @@ static void gt_radixsort_#{makekey(options)}_cached_shuffle(GtRadixbuffer *rbuf,
   nextbin = 0;
   for (binnum = 1UL; binnum <= UINT8_MAX; binnum++)
   {
-    GtCountbasetype tmp = rbuf->startofbin[binnum-1] + previouscount;
+    GtCountbasetype temp = rbuf->startofbin[binnum-1] + previouscount;
     previouscount = count[binnum];
-    rbuf->startofbin[binnum] = rbuf->endofbin[binnum] = tmp;
+    rbuf->startofbin[binnum] = rbuf->endofbin[binnum] = temp;
   }
   /* to simplify compution of bin end */
   rbuf->startofbin[UINT8_MAX+1] = len;
-  for (current = 0, binnum = firstnonemptybin;
-       current < len; binnum = nextbin - 1)
+  for (currentidx = 0, binnum = firstnonemptybin;
+       currentidx < len; binnum = nextbin - 1)
   {
-    #{maketype(options)} currentvalue =
-      gt_radixsort_#{makekey(options)}_bin_get(rbuf,binnum);
+    #{declare_tmpvar(options,"tmpvalue")}
+    #{copy_var_expr(options,"_tmpvalue","gt_radixsort_#{makekeyname(options)}_bin_get(rbuf,binnum)")};
     while (true)
     {
-      binnum = #{radixkey("&currentvalue",options)};
-      if (current != rbuf->endofbin[binnum])
+      binnum = #{radixkey(options,"&_tmpvalue")};
+      if (currentidx != rbuf->endofbin[binnum])
       {
-        #{maketype(options)} tmp = currentvalue;
-        currentvalue = gt_radixsort_#{makekey(options)}_bin_get(rbuf,binnum);
-        gt_radixsort_#{makekey(options)}_bin_update(source,rbuf,binnum,tmp);
+        #{declare_tmpvar(options,"tmpswap")}
+        #{copy_var_expr(options,"_tmpswap","_tmpvalue")};
+        #{copy_var_expr(options,"_tmpvalue","gt_radixsort_#{makekeyname(options)}_bin_get(rbuf,binnum)")};
+        gt_radixsort_#{makekeyname(options)}_bin_update
+                             (source,rbuf,binnum,
+                              #{tmpvarexpr(options,"tmpswap")});
       } else
       {
         break;
       }
     }
-    gt_radixsort_#{makekey(options)}_bin_update(source,rbuf,binnum,
-                                                currentvalue);
-    current++;
+    gt_radixsort_#{makekeyname(options)}_bin_update(source,rbuf,binnum,
+                                           #{tmpvarexpr(options,"tmpvalue")});
+    currentidx++;
     /* skip over empty bins */
-    while (nextbin <= UINT8_MAX && current >= rbuf->startofbin[nextbin])
+    while (nextbin <= UINT8_MAX && currentidx >= rbuf->startofbin[nextbin])
     {
       nextbin++;
     }
@@ -227,9 +427,9 @@ static void gt_radixsort_#{makekey(options)}_cached_shuffle(GtRadixbuffer *rbuf,
     {
       nextbin++;
     }
-    if (current < rbuf->endofbin[nextbin-1])
+    if (currentidx < rbuf->endofbin[nextbin-1])
     {
-      current = rbuf->endofbin[nextbin-1];
+      currentidx = rbuf->endofbin[nextbin-1];
     }
   }
   for (binnum = 0; binnum <= UINT8_MAX; binnum++)
@@ -238,29 +438,27 @@ static void gt_radixsort_#{makekey(options)}_cached_shuffle(GtRadixbuffer *rbuf,
 
     if (bufleft > 0)
     {
-      GtUword j;
-      #{maketype(options)} *targetptr, *valptr;
+      #{makebasetype(options)} *sourceptr, *valptr;
 
-      valptr =
-        rbuf->values.#{makekey(options)}ptr + (binnum << rbuf->log_bufsize);
-      targetptr = source + rbuf->startofbin[binnum+1] - bufleft;
-      for (j=0; j < bufleft; j++)
-      {
-        targetptr[j] = valptr[j];
-      }
+      valptr = rbuf->values.#{makekeyptr(options)} +
+               #{offset(options,"(binnum << rbuf->log_bufsize)")};
+      sourceptr = source +
+                  #{offset(options,"(rbuf->startofbin[binnum+1] - bufleft)")};
+      memcpy(sourceptr,valptr,#{offset(options,"(sizeof *sourceptr * bufleft)")});
     }
   }
 }
 
-static void gt_radixsort_#{makekey(options)}_uncached_shuffle(
+static void gt_radixsort_#{makekeyname(options)}_uncached_shuffle(
                        GtRadixbuffer *rbuf,
-                       #{maketype(options)} *source,
+                       #{makebasetype(options)} *source,
                        GtCountbasetype len,
                        size_t rightshift)
 {
   GtUword binnum, nextbin;
-  #{maketype(options)} *sp, *spend = source + len;
-  GtCountbasetype current, previouscount, *count;
+  GtCountbasetype currentidx, previouscount, *count;
+  #{makebasetype(options)} *sourceptr,
+                           *sourceend = source + #{offset(options,"len")};
 
   rbuf->countuncached++;
   count = rbuf->startofbin; /* use same memory for count and startofbin */
@@ -269,45 +467,49 @@ static void gt_radixsort_#{makekey(options)}_uncached_shuffle(
     count[binnum] = 0;
     rbuf->nextidx[binnum] = 0;
   }
-  for (sp = source; sp < spend; sp++)
+  for (sourceptr = source; sourceptr < sourceend; #{increment(options,"sourceptr")})
   {
-    count[#{radixkey("sp",options)}]++;
+    count[#{radixkey(options,"sourceptr")}]++;
   }
   previouscount = count[0];
   rbuf->startofbin[0] = rbuf->endofbin[0] = 0;
   nextbin = 0;
   for (binnum = 1UL; binnum <= UINT8_MAX; binnum++)
   {
-    GtCountbasetype tmp = rbuf->startofbin[binnum-1] + previouscount;
+    GtCountbasetype temp = rbuf->startofbin[binnum-1] + previouscount;
     previouscount = count[binnum];
-    rbuf->startofbin[binnum] = rbuf->endofbin[binnum] = tmp;
+    rbuf->startofbin[binnum] = rbuf->endofbin[binnum] = temp;
   }
   /* to simplify compution of bin end */
   rbuf->startofbin[UINT8_MAX+1] = len;
-  for (current = 0; current < len; /* Nothing */)
+  for (currentidx = 0; currentidx < len; /* Nothing */)
   {
-    #{maketype(options)} currentvalue = source[current];
     GtCountbasetype *binptr;
+    #{declare_tmpvar(options,"tmpvalue")}
+    #{copy_var_index(options,"_tmpvalue","source","currentidx")};
 
     while (true)
     {
       binptr = rbuf->endofbin +
-               (#{radixkey("&currentvalue",options)});
-      if (current != *binptr)
+               (#{radixkey(options,"&_tmpvalue")});
+      binnum = *binptr;
+      if (currentidx != binnum)
       {
-        #{maketype(options)} tmp = currentvalue;
-        currentvalue = source[*binptr];
-        source[*binptr] = tmp;
+        #{declare_tmpvar(options,"tmpswap")}
+        #{copy_var_expr(options,"_tmpswap","_tmpvalue")};
+        #{copy_var_index(options,"_tmpvalue","source","binnum")};
+        #{copy_index_expr(options,"source","binnum","_tmpswap")};
         (*binptr)++;
       } else
       {
         break;
       }
     }
-    source[current++] = currentvalue;
+    #{copy_index_expr(options,"source","binnum","_tmpvalue")};
+    currentidx++;
     (*binptr)++;
     /* skip over empty bins */
-    while (nextbin <= UINT8_MAX && current >= rbuf->startofbin[nextbin])
+    while (nextbin <= UINT8_MAX && currentidx >= rbuf->startofbin[nextbin])
     {
       nextbin++;
     }
@@ -317,57 +519,68 @@ static void gt_radixsort_#{makekey(options)}_uncached_shuffle(
     {
       nextbin++;
     }
-    if (current < rbuf->endofbin[nextbin-1])
+    if (currentidx < rbuf->endofbin[nextbin-1])
     {
-      current = rbuf->endofbin[nextbin-1];
+      currentidx = rbuf->endofbin[nextbin-1];
     }
   }
 }
 
-static void gt_radixsort_#{makekey(options)}_shuffle(GtRadixbuffer *rbuf,
-                                       #{maketype(options)} *source,
+static void gt_radixsort_#{makekeyname(options)}_shuffle(GtRadixbuffer *rbuf,
+                                       #{makebasetype(options)} *source,
                                        GtCountbasetype len,
                                        size_t rightshift)
 {
   gt_assert(rbuf != NULL);
   if ((GtUword) len > rbuf->cachesize)
   {
-    gt_radixsort_#{makekey(options)}_cached_shuffle(rbuf,source,len,rightshift);
+    gt_radixsort_#{makekeyname(options)}_cached_shuffle(rbuf,source,len,rightshift);
   } else
   {
-    gt_radixsort_#{makekey(options)}_uncached_shuffle(rbuf,source,len,
+    gt_radixsort_#{makekeyname(options)}_uncached_shuffle(rbuf,source,len,
                                                       rightshift);
   }
 }
 
 static void
-gt_radixsort_#{makekey(options)}_inplace_insertionsort(#{maketype(options)} *a,
-                                               GtCountbasetype a_size)
+gt_radixsort_#{makekeyname(options)}_inplace_insertionsort(
+                                  GT_UNUSED GtRadixbuffer *rbuf,
+                                  #{makebasetype(options)} *arr,
+                                  GtCountbasetype a_size)
 {
-  #{maketype(options)} *optr, *iptr, *end = a + a_size;
+  #{makebasetype(options)} *optr,
+                           *end = arr + #{offset(options,"a_size")};
 
-  for (optr = a + 1; optr < end; optr++)
+  for (optr = arr + #{offset(options,"1")}; optr < end;
+       #{increment(options,"optr")})
   {
-    if (#{compare_smaller("optr","(optr-1)",options)})
+    #{makebasetype(options)} *oprevious = optr - #{offset(options,"1")};
+
+    if (#{compare_smaller(options,"optr","oprevious")})
     {
-      #{maketype(options)} currentElement = *optr;
+      #{makebasetype(options)} *iptr;
+      #{declare_tmpvar(options,"tmpvalue")}
+      #{copy_var_ptr(options,"_tmpvalue","optr")};
 
-      *optr = *(optr-1);
-      for (iptr = optr-1;
-           iptr > a && #{compare_smaller("&currentElement","(iptr-1)",options)};
-           iptr--)
+      #{copy_ptr_ptr(options,"optr","oprevious")};
+      for (iptr = oprevious; iptr > arr; iptr -= #{offset(options,"1")})
       {
-        *iptr = *(iptr-1);
+        #{makebasetype(options)} *iprevious = iptr - #{offset(options,"1")};
+        if (!(#{compare_smaller(options,"&_tmpvalue","iprevious")}))
+        {
+          break;
+        }
+        #{copy_ptr_ptr(options,"iptr","iprevious")};
       }
-      *iptr = currentElement;
+      #{copy_ptr_expr(options,"iptr","_tmpvalue")};
     }
   }
 }
 
-static void gt_radixsort_#{makekey(options)}_process_bin(
+static void gt_radixsort_#{makekeyname(options)}_process_bin(
                                      GtStackGtRadixsort_stackelem *stack,
                                      GtRadixbuffer *rbuf,
-                                     #{maketype(options)} *source,
+                                     #{makebasetype(options)} *source,
                                      size_t shift)
 {
   GtUword binnum;
@@ -378,29 +591,32 @@ static void gt_radixsort_#{makekey(options)}_process_bin(
 
     if (width >= (GtCountbasetype) 2)
     {
-      #{maketype(options)} *ptr = source + rbuf->startofbin[binnum];
+      #{makebasetype(options)} *ptr
+       = source + #{offset(options,"rbuf->startofbin[binnum]")};
 
       if (width == (GtCountbasetype) 2)
       {
-        if (#{compare_smaller("(ptr+1)","ptr",options)})
+        #{makebasetype(options)} *nextptr = ptr + #{offset(options,1)};
+        if (#{compare_smaller(options,"nextptr","ptr")})
         {
-          #{maketype(options)} tmp = *ptr;
-          *ptr = *(ptr+1);
-          *(ptr+1) = tmp;
+          #{declare_tmpvar(options,"tmpswap")}
+          #{copy_var_ptr(options,"_tmpswap","ptr")};
+          #{copy_ptr_ptr(options,"ptr","nextptr")};
+          #{copy_ptr_expr(options,"nextptr","_tmpswap")};
         }
       } else
       {
         if (width <= (GtCountbasetype) 32)
         {
           rbuf->countinsertionsort++;
-          gt_radixsort_#{makekey(options)}_inplace_insertionsort(ptr,width);
+          gt_radixsort_#{makekeyname(options)}_inplace_insertionsort(rbuf,ptr,width);
         } else
         {
           GtRadixsort_stackelem tmpstackelem;
 
-          tmpstackelem.left.#{makekey(options)}ptr = ptr;
+          tmpstackelem.left.#{makekeyptr(options)} = ptr;
           tmpstackelem.len = width;
-          tmpstackelem.shift = shift - CHAR_BIT;
+          tmpstackelem.shift = #{shiftnext(options)};
           GT_STACK_PUSH(stack,tmpstackelem);
         }
       }
@@ -408,7 +624,7 @@ static void gt_radixsort_#{makekey(options)}_process_bin(
   }
 }
 
-static void gt_radixsort_#{makekey(options)}_sub_inplace(GtRadixbuffer *rbuf,
+static void gt_radixsort_#{makekeyname(options)}_sub_inplace(GtRadixbuffer *rbuf,
                                            GtStackGtRadixsort_stackelem *stack)
 {
   GtRadixsort_stackelem currentstackelem;
@@ -416,14 +632,14 @@ static void gt_radixsort_#{makekey(options)}_sub_inplace(GtRadixbuffer *rbuf,
   while (!GT_STACK_ISEMPTY(stack))
   {
     currentstackelem = GT_STACK_POP(stack);
-    gt_radixsort_#{makekey(options)}_shuffle(rbuf,
-                         currentstackelem.left.#{makekey(options)}ptr,
+    gt_radixsort_#{makekeyname(options)}_shuffle(rbuf,
+                         currentstackelem.left.#{makekeyptr(options)},
                          currentstackelem.len,
                          currentstackelem.shift);
-    if (currentstackelem.shift > 0)
+    if (#{recursion_continue(options)})
     {
-      (void) gt_radixsort_#{makekey(options)}_process_bin(stack,rbuf,
-                                   currentstackelem.left.#{makekey(options)}ptr,
+      (void) gt_radixsort_#{makekeyname(options)}_process_bin(stack,rbuf,
+                                   currentstackelem.left.#{makekeyptr(options)},
                                    currentstackelem.shift);
     }
   }
diff --git a/scripts/gen-radixsort-ip.sh b/scripts/gen-radixsort-ip.sh
index 879ab10..5d46a3b 100755
--- a/scripts/gen-radixsort-ip.sh
+++ b/scripts/gen-radixsort-ip.sh
@@ -3,3 +3,4 @@
 gen-radixsort-ip.rb > src/core/radixsort-ip-ulong.inc
 gen-radixsort-ip.rb --ulongpair > src/core/radixsort-ip-ulongpair.inc
 gen-radixsort-ip.rb --uint64keypair > src/core/radixsort-ip-uint64keypair.inc
+gen-radixsort-ip.rb --flb > src/core/radixsort-ip-flba.inc
diff --git a/scripts/gfa2lint.rb b/scripts/gfa2lint.rb
new file mode 100755
index 0000000..a60a3fb
--- /dev/null
+++ b/scripts/gfa2lint.rb
@@ -0,0 +1,148 @@
+#!/usr/bin/env ruby
+
+require "set"
+
+def show_difference(tag,set1,set2)
+  STDERR.puts tag
+  set1.difference(set2).each do |elem|
+    STDERR.puts "#{elem}"
+  end
+end
+
+def lint_trace(trace_delta,ulen,vlen,trace_string)
+  usum = 0
+  vsum = 0
+  trace_string.split(/,/).each do |vspec|
+    usum += trace_delta
+    vsum += vspec.to_i
+  end
+  if vsum != vlen
+    STDERR.puts "#{$0}: #{__method__}: vsum = #{vsum} != #{vlen} = vlen"
+    exit 1
+  end
+  usum -= trace_delta
+  if usum > ulen
+    STDERR.puts "#{$0}: #{__method__}: usum = #{usum} > #{ulen} = ulen"
+    exit 1
+  end
+end
+
+class String
+  def segment_name
+    return self.gsub(/[-+]$/,"")
+  end
+end
+
+set_E_lines = Set.new()
+set_S_lines = Set.new()
+set_S_ids = Set.new()
+set_E_ids = Set.new()
+segment_hash = Hash.new()
+
+if ARGV.length != 1
+  STDERR.puts "Usage: #{$0} <inputfile in gfa2 format>"
+  exit 1
+end
+
+inputfile = ARGV[0]
+trace_delta = nil
+File.new(inputfile,"r").each_line do |line|
+  if line.match(/^E/)
+    e_elems = line.split(/\t/)
+    if e_elems.length != 9
+      STDERR.puts "#{$0}: expect 9 columns in E-lines"
+      exit 1
+    end
+    id = e_elems[1]
+    if set_E_ids.include?(id)
+      STDERR.puts "#{$0}: edge identifier #{id} is not unique"
+      exit 1
+    end
+    set_E_ids.add(id)
+    set_E_lines.add(e_elems[2].segment_name)
+    set_E_lines.add(e_elems[3].segment_name)
+  elsif line.match(/^S/)
+    s_elems = line.split(/\t/)
+    if s_elems.length != 4
+      STDERR.puts "#{$0}: expect 4 columns in S-lines"
+      exit 1
+    end
+    key = s_elems[1]
+    if segment_hash.has_key?(key)
+      STDERR.puts "#{$0}: duplicated segment: #{key}"
+      exit 1
+    end
+    len = s_elems[2].to_i
+    segment = s_elems[3].chomp
+    if segment.length != len
+      STDERR.puts "#{$0}: segment.length = #{segment.length} != #{len} = len"
+      exit 1
+    end
+    segment_hash[key] = len
+    set_S_lines.add(key)
+    id = s_elems[1]
+    if set_S_ids.include?(id)
+      STDERR.puts "#{$0}: segment identifier #{id} is not unique"
+      exit 1
+    end
+    set_S_ids.add(id)
+  elsif line.match(/^H/)
+    if m = line.match(/TS:i:(\d+)/)
+      trace_delta = m[1].to_i
+    end
+  end
+end
+
+if set_S_lines != set_E_lines
+  show_difference("elems in E but not in S",set_E_lines,set_S_lines)
+  show_difference("elems in S but not in E",set_S_lines,set_E_lines)
+  exit 1
+end
+
+linenum = 1
+File.new(inputfile,"r").each_line do |line|
+  if line.match(/^E/)
+    e_elems = line.split(/\t/)
+    lseg = e_elems[2].segment_name
+    lstart = e_elems[4].to_i
+    lend = e_elems[5].to_i
+    if lstart > lend
+      STDERR.print "#{$0}: file #{inputfile}, line #{linenum}: "
+      STDERR.puts "lstart = #{lstart} > #{lend} = lend"
+      exit 1
+    end
+    if not segment_hash.has_key?(lseg)
+      STDERR.print "#{$0}: file #{inputfile}, line #{linenum}: "
+      STDERR.puts "lseg=#{lseg} is not a valid segment name"
+      exit 1
+    end
+    len_lseg = segment_hash[lseg]
+    if lend >= len_lseg
+      STDERR.print "#{$0}: file #{inputfile}, line #{linenum}: "
+      STDERR.puts "lend=#{lend} >= #{len_lseg} = len_lseg"
+    end
+    rseg = e_elems[3].segment_name
+    rstart = e_elems[6].to_i
+    rend = e_elems[7].to_i
+    if rstart > rend
+      STDERR.print "#{$0}: file #{inputfile}, line #{linenum}: "
+      STDERR.puts "rstart = #{rstart} > #{rend} = rend"
+      exit 1
+    end
+    if not segment_hash.has_key?(rseg)
+      STDERR.print "#{$0}: file #{inputfile}, line #{linenum}: "
+      STDERR.puts "rseg=#{rseg} is not a valid segment name"
+      exit 1
+    end
+    len_rseg = segment_hash[rseg]
+    if rend >= len_rseg
+      STDERR.print "#{$0}: file #{inputfile}, line #{linenum}: "
+      STDERR.puts "rend=#{rend} >= #{len_rseg} = len_rseg"
+    end
+    if not trace_delta.nil?
+      lint_trace(trace_delta,lend - lstart + 1,rend - rstart + 1,
+                 e_elems[8].chomp)
+    end
+  end
+  linenum += 1
+end
diff --git a/scripts/manyshort-somelong.rb b/scripts/manyshort-somelong.rb
new file mode 100755
index 0000000..5aebd1c
--- /dev/null
+++ b/scripts/manyshort-somelong.rb
@@ -0,0 +1,23 @@
+#!/usr/bin/env ruby
+
+require_relative "cutsequences"
+
+if ARGV.length != 2
+  STDERR.puts "Usage: #{$0} <directory> <numofsequences>"
+  exit 1
+end
+
+directory=ARGV[0]
+numofsequences=ARGV[1].to_i
+minlength=50
+maxlength=50
+
+Dir.entries(directory).each do |filename|
+  if filename.match(/\.fna$/)
+    inputpath = "#{directory}/#{filename}"
+    File.foreach(inputpath) do |line|
+      print line
+    end
+    cutsequences(inputpath,numofsequences,minlength,maxlength)
+  end
+end
diff --git a/scripts/matches-compare.rb b/scripts/matches-compare.rb
new file mode 100755
index 0000000..9e3612c
--- /dev/null
+++ b/scripts/matches-compare.rb
@@ -0,0 +1,396 @@
+#!/usr/bin/env ruby
+
+require "set"
+require "optparse"
+require_relative "SEmatch"
+
+def add_single_match(matchset,m,always_add = false)
+  add_m = true
+  if not always_add
+    to_delete = Array.new()
+    matchset.each do |previous|
+      if match_proper_contained_in(m,previous)
+        if previous[:score] > m[:score]
+          add_m = false
+        end
+      elsif match_proper_contained_in(previous,m)
+        if previous[:score] < m[:score]
+          to_delete.push(previous)
+        end
+      elsif match_is_identical(previous,m) and previous[:score] > m[:score]
+        add_m = false
+      end
+    end
+    to_delete.each do |elem|
+      matchset.delete(elem)
+    end
+  end
+  if add_m
+    matchset.add(m)
+  end
+  max_score = 0
+  matchset.each do |elem|
+    if max_score < elem[:score]
+      max_score = elem[:score]
+    end
+  end
+  return max_score
+end
+
+def convertmatchfile2hash(matchfile,always_add)
+  match_hash = Hash.new()
+  score_hash = Hash.new() {0}
+  sematch = SEmatch.new(matchfile)
+  sematch.each do |m|
+    key = [m[:s_seqnum],m[:q_seqnum]]
+    if not match_hash.has_key?(key)
+      match_hash[key] = Set.new()
+    end
+    score_hash[key] = add_single_match(match_hash[key],m,always_add)
+  end
+  return match_hash, score_hash, sematch.runtime_get(), sematch.spacepeak_get()
+end
+
+def merge_sets(mh0,mh1)
+  seqnumpairkeys = (mh0.keys + mh1.keys).to_set
+  seqnumpairkeys.each do |key|
+    mh0_set = if mh0.has_key?(key) then mh0[key] else Set.new() end
+    mh1_set = if mh1.has_key?(key) then mh1[key] else Set.new() end
+    yield key, mh0_set, mh1_set
+  end
+end
+
+def multi_merge_sets(mh_list)
+  seqnumpairkeys = Set.new()
+  mh_list.each do |mh|
+    mh.keys.each do |key|
+      seqnumpairkeys.add(key)
+    end
+  end
+  seqnumpairkeys.each do |key|
+    mh_sets = Array.new(mh_list.length)
+    mh_list.each_with_index do |mh,idx|
+      mh_sets[idx] = if mh.has_key?(key) then mh[key] else Set.new() end
+    end
+    yield key, mh_sets
+  end
+end
+
+Counters = Struct.new("Counters",:different_seqpairs,
+                                 :different_matches,
+                                 :identical_seqpairs,
+                                 :identical_matches,
+                                 :mh0larger,
+                                 :mh1larger,
+                                 :samesize,
+                                 :mh0_all_overlap,
+                                 :mh0_not_all_overlap,
+                                 :mh1_all_overlap,
+                                 :mh1_not_all_overlap,
+                                 :mh0_largerscore,
+                                 :mh1_largerscore,
+                                 :samescore,
+                                 :scorediffdist)
+
+def overlap_in_one_instance(mh0_set,mh1_set)
+  count_overlaps = 0
+  mh0_set.each do |m0|
+    overlaps = false
+    mh1_set.each do |m1|
+      if coords_contained_in(m0[:s_start],m0[:s_end],m1[:s_start],m1[:s_end]) or
+         coords_contained_in(m0[:q_start],m0[:q_end],m1[:q_start],m1[:q_end])
+        overlaps = true
+        break
+      end
+    end
+    if overlaps
+      count_overlaps += 1
+    end
+  end
+  return count_overlaps
+end
+
+def set_show(key,s)
+  if s.empty?
+    puts "# #{key} is empty"
+  else
+    s.each do |elem|
+      puts "# #{key}: #{elem[:origline]}"
+    end
+  end
+end
+
+def hash_difference(argv0,mh0,sh0,argv1,mh1,sh1,maxpercentdiff)
+  counters = Counters.new(0,0,0,0,0,0,0,0,0,0,0,0,0,0,Hash.new() {0})
+  multi_merge_sets([mh0,mh1]) do |key, mh_sets|
+    mh0_set = mh_sets[0]
+    mh1_set = mh_sets[1]
+    if mh0_set == mh1_set
+      counters.identical_matches += mh0_set.size
+      counters.identical_seqpairs += 1
+    else
+      counters.different_seqpairs += 1
+      common = mh0_set.intersection(mh1_set)
+      counters.identical_matches += common.length
+      mh0_set_alone = mh0_set.difference(common)
+      mh1_set_alone = mh1_set.difference(common)
+      counters.different_matches += mh0_set_alone.size + mh1_set_alone.size
+      if mh0_set.size > mh1_set.size
+        counters.mh0larger += 1
+      elsif mh0_set.size < mh1_set.size
+        counters.mh1larger += 1
+      else
+        counters.samesize += 1
+      end
+      overlaps = overlap_in_one_instance(mh1_set,mh0_set)
+      if overlaps == mh1_set.size
+        counters.mh1_all_overlap += 1
+      else
+        counters.mh1_not_all_overlap += 1
+      end
+      overlaps = overlap_in_one_instance(mh0_set,mh1_set)
+      if overlaps == mh0_set.size
+        counters.mh0_all_overlap += 1
+      else
+        counters.mh0_not_all_overlap += 1
+      end
+      multiplier = (100.0+maxpercentdiff)/100.0
+      percentdiff = nil
+      if sh0[key] > sh1[key]
+        if sh0[key] > sh1[key] * multiplier
+          counters.mh0_largerscore += 1
+        else
+          counters.samescore += 1
+        end
+        percentdiff = (100.0 * (sh0[key] - sh1[key]).to_f/sh0[key].to_f).round
+      elsif sh0[key] < sh1[key]
+        if sh0[key] * multiplier < sh1[key]
+          counters.mh1_largerscore += 1
+          mh1_larger = true
+        else
+          counters.samescore += 1
+        end
+        percentdiff = (-100.0 * (sh1[key] - sh0[key]).to_f/sh1[key].to_f).round
+      else
+        percentdiff = 0
+      end
+      set_show("common ",common)
+      set_show("#{argv0} minus common",mh0_set_alone)
+      set_show("#{argv1} minus common",mh1_set_alone)
+      printf("score within %.0f percent difference\n",percentdiff)
+      counters.scorediffdist[percentdiff] += 1
+      puts ""
+    end
+  end
+  return counters
+end
+
+def identical_upto_query(s,t)
+  if s.size != t.size
+    STDERR.puts "#{$0} are of different sizes #{s.size} and #{t.size}"
+    exit 1
+  end
+  s.zip(t).each do |ms,mt|
+    vals = [ms[:s_seqnum],ms[:s_start],ms[:s_end],ms[:q_len],ms[:score],
+            ms[:strand]]
+    valt = [mt[:s_seqnum],mt[:s_start],mt[:s_end],mt[:q_len],mt[:score],
+            if mt[:strand] == "F" then "P" else "F" end]
+    if vals != valt
+      STDERR.puts "#{$0}: vals = #{vals} != #{valt} = valst"
+      exit 1
+    end
+  end
+end
+
+def dist_cummulate(dist)
+  minval = maxval = nil
+  dist.each_pair do |k,v|
+    if minval.nil? or minval > k
+      minval = k
+    end
+    if maxval.nil? or maxval < k
+      maxval = k
+    end
+  end
+  cumdist = Hash.new() {0}
+  sum = 0
+  puts "minval=#{minval},maxval=#{maxval}"
+  (-1).downto(minval).each do |k|
+    if dist.has_key?(k)
+      sum += dist[k]
+      cumdist[k] = sum
+    end
+  end
+  sum = 0
+  1.upto(maxval).each do |k|
+    if dist.has_key?(k)
+      sum += dist[k]
+      cumdist[k] = sum
+    end
+  end
+  cumdist[0] = dist[0]
+  return cumdist
+end
+
+MCoptions = Struct.new("MCoptions",:pairwise,:ignore_query,:matchfiles,
+                                   :maxpercentdiff)
+
+def parseargs(argv)
+  options = MCoptions.new(false,false,nil,10.0)
+  opts = OptionParser.new
+  opts.banner = "#{$0} [options] <inputfile>"
+  opts.on("-p","--pairwise","perform pairwise comparison") do |x|
+    options.pairwise = true
+  end
+  opts.on("-i","--ignore-query-positions","comparison, ignoring sequence " +
+                                          "number and start position " +
+                                          "on query") do |x|
+    options.ignore_query = true
+  end
+  opts.on("-m","--maxpercent-difference NUMBER",
+               "specify maximum percent of score difference accepted when " +
+               "comparing matches") do |x|
+    options.maxpercentdiff = x.to_f
+  end
+  rest = opts.parse(argv)
+  if rest.length < 2
+    STDERR.puts "Usage: #{$0}: missing input files"
+    exit 1
+  else
+    options.matchfiles = rest
+  end
+  if options.pairwise and options.ignore_query
+    STDERR.puts "#{$0}: options -p and -i exclude each other"
+    exit 1
+  end
+  return options
+end
+
+options = parseargs(ARGV)
+
+numfiles = options.matchfiles.length
+match_hash_tab = Array.new(numfiles)
+score_hash_tab = Array.new(numfiles)
+runtime_tab = Array.new(numfiles)
+spacepeak_tab = Array.new(numfiles)
+always_add = if options.ignore_query then true else false end
+0.upto(numfiles-1).each do |idx|
+  match_hash_tab[idx], score_hash_tab[idx], runtime_tab[idx],
+  spacepeak_tab[idx] = convertmatchfile2hash(options.matchfiles[idx],always_add)
+end
+
+if options.pairwise
+  0.upto(numfiles-2).each do |idx0|
+    argv0 = options.matchfiles[idx0]
+    (idx0+1).upto(numfiles-1).each do |idx1|
+      argv1 = options.matchfiles[idx1]
+      puts "# #{argv0} vs #{argv1}"
+      counters = hash_difference(argv0,match_hash_tab[idx0],
+                                       score_hash_tab[idx0],
+				 argv1,match_hash_tab[idx1],
+                                       score_hash_tab[idx1],
+                                 options.maxpercentdiff)
+      all_seqpairs = counters.identical_seqpairs + counters.different_seqpairs
+      printf("sequence pairs with identical matches %d (%5.2f%%)\n",
+	    counters.identical_seqpairs,
+	    100.0 * counters.identical_seqpairs.to_f/all_seqpairs.to_f)
+      printf("sequence pairs with different matches %d (%5.2f%%)\n",
+	      counters.different_seqpairs,
+	      100.0 * counters.different_seqpairs.to_f/all_seqpairs.to_f)
+      all_matches = counters.identical_matches + counters.different_matches
+      printf("identical matches %d (%5.2f%%)\n",
+	      counters.identical_matches,
+	      100.0 * counters.identical_matches.to_f/all_matches.to_f)
+      printf("different matches %d (%5.2f%%)\n",
+	      counters.different_matches,
+	      100.0 * counters.different_matches.to_f/all_matches.to_f)
+
+      puts "sequence pairs for which |#{argv0}| > |#{argv1}|: #{counters.mh0larger}"
+      puts "sequence pairs for which |#{argv1}| > |#{argv0}|: #{counters.mh1larger}"
+      puts "sequence pairs for which |#{argv1}| = |#{argv0}|: #{counters.samesize}"
+
+      puts "sequence pairs with different match sets for which all of #{argv0} overlaps with #{argv1}: #{counters.mh0_all_overlap}"
+      puts "sequence pairs with different match sets for which some of #{argv0} do not overlap with #{argv1}: #{counters.mh0_not_all_overlap}"
+
+      puts "sequence pairs with different match sets for which all of #{argv1} overlaps with #{argv0}: #{counters.mh1_all_overlap}"
+      puts "sequence pairs with different match sets for which some of #{argv1} do not overlaps with #{argv0}: #{counters.mh1_not_all_overlap}"
+
+      puts "sequence pairs with different match sets for which #{argv1} have a larger score than #{argv0}: #{counters.mh1_largerscore}"
+      puts "sequence pairs with different match sets for which #{argv0} have a larger score than #{argv1}: #{counters.mh0_largerscore}"
+      puts "sequence pairs for which #{argv0} have same score as #{argv1}: #{counters.samescore}"
+      puts "same means within #{options.maxpercentdiff} percent difference"
+      cumdist = dist_cummulate(counters.scorediffdist)
+      puts "# cummulative distribution"
+      cumdist.sort.each do |k,v|
+        puts "#{k}\t#{v}"
+      end
+    end
+  end
+elsif options.ignore_query
+  multi_merge_sets(match_hash_tab) do |key,mh_sets|
+    mh_sets.each_with_index do |s,sidx|
+      mh_sets.each_with_index do |t,tidx|
+        if sidx < tidx
+          identical_upto_query(s,t)
+        end
+      end
+    end
+  end
+else
+  contained = Array.new(numfiles) {0}
+  step = 10
+  bestscore = Array.new(numfiles) {Array.new(100/step+1) {0}}
+  totalsetsize = 0
+  numsets = 0
+  mh_set_combined = Set.new()
+  multi_merge_sets(match_hash_tab) do |key,mh_sets|
+    max_score = 0
+    mh_sets.each do |mh_set|
+      mh_set.each do |m|
+        max_score = add_single_match(mh_set_combined,m)
+      end
+    end
+    mh_sets.each_with_index do |mh_set,midx|
+      inse = mh_set_combined.intersection(mh_set)
+      contained[midx] += inse.size
+      if score_hash_tab[midx][key] > max_score
+        STDERR.puts "midx #{midx}: score_hash[#{key}]=" +
+                    "#{score_hash_tab[midx][key]} > #{max_score}=max_score"
+        exit(1)
+      end
+      if score_hash_tab[midx][key] > 0
+        diff = (100 * (max_score - score_hash_tab[midx][key]).to_f/max_score.to_f).round
+        bestscore[midx][diff/step] += 1
+      else
+        bestscore[midx][100/step] += 1
+      end
+    end
+    numsets += 1
+    totalsetsize += mh_set_combined.size
+    mh_set_combined.clear()
+  end
+  result = Array.new()
+  length_of_longest = 0
+  0.upto(numfiles-1).each do |idx|
+    result.push([bestscore[idx][0],idx])
+    if length_of_longest < options.matchfiles[idx].length
+      length_of_longest = options.matchfiles[idx].length
+    end
+  end
+  column_header = Range.new(step,100).step(step).to_a.map {|x| if x < 100 then " lt#{x}" else "lt#{x}" end}
+  printf("%*s\t%5s\t%s\t  nil\t time\tspace\n",length_of_longest,"options","cont",column_header.join("\t"))
+  result.sort.each do |cont,idx|
+    printf("%*s\t%5.2f",length_of_longest,options.matchfiles[idx],
+                        100.0 * cont.to_f/totalsetsize.to_f)
+    sumpercentage = 0.0
+    0.upto(100/step-1).each do |diff|
+      bestpercentage = 100.0 * bestscore[idx][diff].to_f/numsets.to_f
+      sumpercentage += bestpercentage
+      printf("\t%5.2f",sumpercentage)
+    end
+    printf("\t%5.2f\t%.2f\t%.2f",
+                100.0 * bestscore[idx][100/step].to_f/numsets.to_f,
+                runtime_tab[idx],spacepeak_tab[idx])
+    puts ""
+  end
+end
diff --git a/scripts/matches2ani.rb b/scripts/matches2ani.rb
new file mode 100755
index 0000000..61b760b
--- /dev/null
+++ b/scripts/matches2ani.rb
@@ -0,0 +1,52 @@
+#!/usr/bin/env ruby
+#
+# calculation of average nucleotid identity (ANI) analogous to http://mummer.sourceforge.net/
+# - implementation based on SEmatch class
+# - inputfile: file with local alignments, one alignments in each line (seed_extend output)
+# - requires s_len, q_len and identity fields
+#
+# author: Annika Seidel
+# author: Stefan Kurtz, simplification by removing /100 in loop,
+#         added checks for keys in hash
+# date: 08.05.17
+
+require_relative "SEmatch"
+
+def accumulate_ani_values(filename)
+  miter = SEmatch.new(filename)
+  sqSumIdy = 0.0
+  sqSumLen = 0
+  miter.each do |m|
+    if not m.has_key?(:s_len)
+      STDERR.puts "#{$0}: cannot determine length of match on subject"
+      exit 1
+    end
+    s_len = m[:s_len]
+    if not m.has_key?(:q_len)
+      STDERR.puts "#{$0}: cannot determine length of match on query"
+      exit 1
+    end
+    q_len = m[:q_len]
+    if not m.has_key?(:identity)
+      STDERR.puts "#{$0}: cannot determine identity of match"
+      exit 1
+    end
+    # printf("%.2f %d %d\n",m[:identity],s_len,q_len)
+    sqSumIdy += m[:identity] * (s_len + q_len);
+    sqSumLen += s_len + q_len
+  end
+  return sqSumIdy, sqSumLen
+end
+
+if ARGV.length != 1
+  STDERR.puts "Usage: #{$0} <file with local alignments>"
+  exit 1
+end
+# TODO: filter
+sqSumIdy, sqSumLen = accumulate_ani_values(ARGV[0])
+print "sum_similarity=#{sqSumIdy}\tsum_aligned=#{sqSumLen}\tani="
+if sqSumLen > 0
+  printf("%.4f\n",sqSumIdy/sqSumLen.to_f)
+else
+  puts "0"
+end
diff --git a/scripts/mk_ft_longest_common.rb b/scripts/mk_ft_longest_common.rb
new file mode 100755
index 0000000..d841494
--- /dev/null
+++ b/scripts/mk_ft_longest_common.rb
@@ -0,0 +1,258 @@
+#!/usr/bin/env ruby
+
+def gen_access_raw(mode,structvar,pre)
+  if mode == "bytes"
+    return "*#{pre}ptr"
+  elsif mode == "twobit"
+    return "gt_twobitencoding_char_at_pos(\n" +
+           " " * 30 + "#{structvar}->twobitencoding,\n" +
+           " " * 30 + "#{pre}ptr)"
+  elsif mode == "encseq"
+    return "gt_encseq_get_encoded_char(#{structvar}->encseq,\n" +
+           " " * 20 + "#{pre}ptr,\n" +
+           " " * 20 + "GT_READMODE_FORWARD)"
+  else
+    return "gt_sequenceobject_esr_get(#{structvar},#{pre}ptr)"
+  end
+end
+
+def gen_compare(a_mode,b_mode,wildcard,complement)
+  access_v = gen_access_raw(b_mode,"vseq","v")
+  splitter = if access_v.length > 10 then ("\n" + " " * 12) else " " end
+  cmp_expr = (if complement then ("GT_COMPLEMENTBASE(") else "" end) +
+             "#{access_v}" +
+             (if complement then ")" else "" end) + ")\n" +
+             " " * 10 + "break"
+  if wildcard
+    return "const GtUchar cu = #{gen_access_raw(a_mode,"useq","u")};\n" +
+           " " * 8 + "if (cu == WILDCARD ||" + splitter + "cu !=" + splitter +
+           cmp_expr
+  else
+    return "if (#{gen_access_raw(a_mode,"useq","u")} !=" + splitter +
+           cmp_expr
+  end
+end
+
+def gen_suffix(wildcard)
+  if wildcard
+    return "_wildcard"
+  else
+    return ""
+  end
+end
+
+def gen_func_name(a_mode,b_mode,wildcard)
+  return "ft_longest_common_#{a_mode}_#{b_mode}#{gen_suffix(wildcard)}"
+end
+
+def gen_ptr_assign(mode,pre,left2right)
+  if mode == "bytes"
+    if left2right
+      return "#{pre}seq->bytesequenceptr + #{pre}seq->offset + #{pre}start; " +
+             "#{pre}step = 1"
+    else
+      return "#{pre}seq->bytesequenceptr + #{pre}seq->offset - #{pre}start; " +
+             "#{pre}step = -1"
+    end
+  else
+    if left2right
+      if mode != "encseq_reader"
+        return "#{pre}seq->offset + #{pre}start; #{pre}step = 1"
+      else
+        return "#{pre}start"
+      end
+    else
+      if mode != "encseq_reader"
+        return "#{pre}seq->offset - #{pre}start; #{pre}step = -1"
+      else
+        return "#{pre}start"
+      end
+    end
+  end
+end
+
+def gen_ptr_set(mode,pre)
+  return ["\n    if (#{pre}seq->read_seq_left2right)",
+          "{",
+          "  #{pre}ptr = #{gen_ptr_assign(mode,pre,true)};",
+          "} else",
+          "{",
+          "  #{pre}ptr = #{gen_ptr_assign(mode,pre,false)};",
+          "}"].join("\n    ")
+end
+
+def gen_minsub(pre)
+  other = if pre == "u" then "v" else "u" end
+  return ["\n    GtUword minsubstringlength = #{other}start + #{pre}seq->substringlength - #{pre}start;",
+          "if (#{other}seq->substringlength < minsubstringlength)",
+          "{",
+          "  minsubstringlength = #{other}seq->substringlength;",
+          "}"].join("\n    ")
+end
+
+def gen_minsubstringlength_decl(a_mode,b_mode)
+  minmatch_decl = ["\n    GtUword minsubstringlength = useq->substringlength - ustart;",
+                     "if (vseq->substringlength < useq->insubstringlength)",
+                     "{",
+                     "  minsubstringlength = vseq->substringlength - vstart;",
+                     "}"].join("\n    ") +
+            gen_ptr_set(a_mode,"u") +
+            gen_ptr_set(b_mode,"v")
+  if a_mode == "encseq_reader"
+    if b_mode == "encseq_reader"
+      return "GtUword uptr = ustart, vptr = vstart;" +
+             gen_minsub("v")
+    elsif b_mode == "bytes"
+      return "GtUword uptr = ustart; const GtUchar *vptr; int vstep;" +
+             gen_minsub("v") +
+             gen_ptr_set(b_mode,"v")
+    else
+      return "GtUword uptr = ustart, vptr; int vstep;" +
+             gen_minsub("v") +
+             gen_ptr_set(b_mode,"v")
+    end
+  elsif b_mode == "encseq_reader"
+    if a_mode == "bytes"
+      return "const GtUchar *uptr; int ustep; GtUword vptr = vstart;" +
+             gen_minsub("u") +
+             gen_ptr_set(a_mode,"u")
+    else
+       return "GtUword uptr; int ustep; GtUword vptr = vstart;" +
+              gen_minsub("u") +
+              gen_ptr_set(a_mode,"u")
+    end
+  else
+    minmatch_decl = ["    GtUword minsubstringlength = useq->substringlength - ustart,",
+                     "matchlength = 0;",
+                     "if (vseq->substringlength - vstart < minsubstringlength)",
+                     "{",
+                     "  minsubstringlength = vseq->substringlength - vstart;",
+                     "}"].join("\n    ") +
+            gen_ptr_set(a_mode,"u") +
+            gen_ptr_set(b_mode,"v")
+
+    if a_mode == "bytes"
+      if b_mode == "bytes"
+        return "const GtUchar *uptr, *vptr; int ustep, vstep;\n" +
+               minmatch_decl
+      else
+        return "const GtUchar *uptr; GtUword vptr; int ustep, vstep;\n" +
+               minmatch_decl
+      end
+    else
+      if b_mode == "bytes"
+        return "GtUword uptr; const GtUchar *vptr; int ustep, vstep;\n" +
+               minmatch_decl
+      else
+        return "GtUword uptr, vptr; int ustep, vstep;\n" +
+               minmatch_decl
+      end
+    end
+  end
+end
+
+def gen_ptr_incr(mode,pre)
+  if mode == "encseq_reader"
+    return "#{pre}ptr++"
+  else
+    return "#{pre}ptr += #{pre}step"
+  end
+end
+
+def gen_matchlength_inc(a_mode,b_mode)
+  if a_mode == "encseq_reader" or b_mode == "encseq_reader"
+    return ""
+  else
+    return "matchlength++;"
+  end
+end
+
+def gen_smaller(a_mode,b_mode)
+  if a_mode == "encseq_reader"
+    return "uptr"
+  elsif b_mode == "encseq_reader"
+    return "vptr"
+  else
+    return "matchlength"
+  end
+end
+
+def gen_return_matchlength(a_mode,b_mode)
+  if a_mode == "encseq_reader"
+    return "uptr - ustart"
+  elsif b_mode == "encseq_reader"
+    return "vptr - vstart"
+  else
+    return "matchlength"
+  end
+end
+
+def longestcommonfunc(a_mode,b_mode,wildcard)
+ puts <<EOF
+static GtUword #{gen_func_name(a_mode,b_mode,wildcard)}(
+                                      GtFtSequenceObject *useq,
+                                      GtUword ustart,
+                                      GtFtSequenceObject *vseq,
+                                      const GtUword vstart)
+{
+  if (ustart < useq->substringlength && vstart < vseq->substringlength)
+  {
+    #{gen_minsubstringlength_decl(a_mode,b_mode)}
+    if (vseq->dir_is_complement)
+    {
+      do
+      {
+        #{gen_compare(a_mode,b_mode,wildcard,true)};
+        #{gen_ptr_incr(a_mode,"u")};
+        #{gen_ptr_incr(b_mode,"v")};#{gen_matchlength_inc(a_mode,b_mode)}
+      } while (#{gen_smaller(a_mode,b_mode)} < minsubstringlength);
+    } else
+    {
+      do
+      {
+        #{gen_compare(a_mode,b_mode,wildcard,false)};
+        #{gen_ptr_incr(a_mode,"u")};
+        #{gen_ptr_incr(b_mode,"v")};#{gen_matchlength_inc(a_mode,b_mode)}
+      } while (#{gen_smaller(a_mode,b_mode)} < minsubstringlength);
+    }
+    return #{gen_return_matchlength(a_mode,b_mode)};
+  }
+  return 0;
+}
+EOF
+end
+
+first = true
+func_list = Array.new()
+modes = ["twobit","encseq_reader","encseq","bytes"]
+[false,true].each do |wildcard|
+  modes.each do |a_mode|
+    modes.each do |b_mode|
+     if first
+       first = false
+     else
+       puts ""
+     end
+     longestcommonfunc(a_mode,b_mode,wildcard)
+     func_list.push(gen_func_name(a_mode,b_mode,wildcard))
+    end
+  end
+end
+
+firstwildcard = nil
+firstfunc = true
+puts "\nGtLongestCommonFunc ft_longest_common_func_tab[] =\n{"
+func_list.each_with_index do |func_name,idx|
+  if firstwildcard.nil? and func_name.match(/_wildcard/)
+    firstwildcard = idx
+  end
+  if firstfunc
+    firstfunc = false
+  else
+    puts ","
+  end
+  print "  /* #{idx} */ #{func_name}"
+end
+puts "\n};"
+puts "const int ft_longest_common_num_modes = #{modes.length};"
+puts "const int ft_longest_common_func_first_wildcard = #{firstwildcard};"
diff --git a/scripts/print_sequence.rb b/scripts/print_sequence.rb
new file mode 100644
index 0000000..dd09ddf
--- /dev/null
+++ b/scripts/print_sequence.rb
@@ -0,0 +1,7 @@
+def print_sequence(seq,width,fpout = STDOUT)
+  idx = 0
+  while idx < seq.length
+    fpout.puts "#{seq[idx,width]}"
+    idx += width
+  end
+end
diff --git a/scripts/reverse-complement.rb b/scripts/reverse-complement.rb
new file mode 100755
index 0000000..3271c3b
--- /dev/null
+++ b/scripts/reverse-complement.rb
@@ -0,0 +1,19 @@
+#!/usr/bin/env ruby
+
+require_relative "fasta.rb"
+require_relative "print_sequence.rb"
+
+def reverse_complement(seq)
+  return seq.reverse.tr("ACGTacgt","TGCAtgca")
+end
+
+if ARGV.length != 1
+  STDERR.puts "Usage: #{$0} <inputfile in fasta format>"
+  exit 1
+end
+
+Fasta.read_multi_file(ARGV[0]) do |seqentry|
+  puts ">#{seqentry.get_header()}"
+  rc = reverse_complement(seqentry.get_sequence())
+  print_sequence(rc,70)
+end
diff --git a/scripts/run-se-da.sh b/scripts/run-se-da.sh
index 0f896de..7c22ab4 100755
--- a/scripts/run-se-da.sh
+++ b/scripts/run-se-da.sh
@@ -41,7 +41,7 @@ fi
 
 rm -f ${reference}.db
 ${MYERSPROG}/DAZZ_DB/fasta2DB ${reference}.db ${reference}.fasta
-if test ${queryfile} != ""
+if test "${queryfile}" != ""
 then
   query=`basename $queryfile`
   scripts/convert2myersformat.rb ${queryfile} > ${query}.fasta
@@ -70,7 +70,7 @@ else
 fi
 
 bin/gt seed_extend -ii ${reference} ${qiioption} -t ${maxfreq} -l ${minlen} \
-                    -seedlength 14 -minidentity ${minidentity} -seed-display \
+                    -seedlength 14 -minidentity ${minidentity} -outfmt seed \
                     -v -overlappingseeds -bias-parameters -no-reverse \
                     -history 60 > ${outputprefix}-se.matches
 rm -f ${query}.ssp ${query}.fasta ${query}.esq
diff --git a/scripts/se-permutation.rb b/scripts/se-permutation.rb
new file mode 100755
index 0000000..6ba8d99
--- /dev/null
+++ b/scripts/se-permutation.rb
@@ -0,0 +1,45 @@
+#!/usr/bin/env ruby
+
+require_relative "SEmatch"
+
+if ARGV.length != 2
+  STDERR.puts "#{$0} <matchfile1> <matchfile2>"
+  exit 1
+end
+sematchlist = Array.new(2) {Array.new()}
+
+0.upto(1).each do |idx|
+  sematch = SEmatch.new(ARGV[idx])
+  sematch.each do |m|
+    sematchlist[idx].push(m)
+  end
+end
+
+if sematchlist[0].length != sematchlist[1].length
+  STDERR.puts "sematchlist[0].length = #{sematchlist[0].length} != " +
+              "#{sematchlist[1].length} = sematchlist[1].length"
+  exit 1
+end
+
+0.upto(sematchlist[0].length-1).each do |idx|
+  m0 = sematchlist[0][idx]
+  m1 = sematchlist[1][idx]
+  m1.each_pair do |k,v|
+    if k == :origline
+      next
+    end
+    if not m0.has_key?(k)
+      STDERR.puts "#{$0}: match #{idx}: missing key #{k} in #{ARGV[0]}"
+      exit 1
+    end
+    if m0[k] != v
+      STDERR.puts "#{$0}: match #{idx}: key #{k}: has values #{m0[k]} != #{v}"
+      exit 1
+    end
+  end
+end
+if sematchlist[0].length > 0
+  keycount = sematchlist[1][0].length
+  puts "#{sematchlist[0].length} matches with #{keycount} columns processed"
+end
+puts "#{ARGV[1]} is a subset of the columns of #{ARGV[0]}"
diff --git a/scripts/seeds2maxmatches.rb b/scripts/seeds2maxmatches.rb
new file mode 100755
index 0000000..d8fda5b
--- /dev/null
+++ b/scripts/seeds2maxmatches.rb
@@ -0,0 +1,95 @@
+#!/usr/bin/env ruby
+
+def diag(val)
+  return val.bend - val.aend
+end
+
+def compare_seeds(val1,val2)
+  diff1 = diag(val1)
+  diff2 = diag(val2)
+  if diff1 < diff2
+    return -1
+  end
+  if diff1 > diff2
+    return 1
+  end
+  if val1[1] < val2[1]
+    return -1
+  end
+  if val1[1] > val2[1]
+    return 1
+  end
+  return 0
+end
+
+Maxmatch = Struct.new("Maxmatch",:aend,:bend,:len)
+
+def compare_maxmatches(val1,val2)
+  if val1.bend < val2.bend
+    return -1
+  end
+  if val1.bend > val2.bend
+    return 1
+  end
+  if val1.aend < val2.aend
+    return -1
+  end
+  if val1.aend > val2.aend
+    return 1
+  end
+  return 0
+end
+
+seeds = Array.new()
+seedlength = 15
+STDIN.each_line do |line|
+  a = line.split(/\s/)
+  seeds.push(Maxmatch.new(a[0].to_i,a[1].to_i,seedlength))
+end
+maxmatches = Array.new()
+previous = nil
+seeds.sort {|a,b| compare_seeds(a,b)}.each do |val|
+  if not previous.nil? 
+    if diag(previous) == diag(val) and
+       previous.aend + 1 == val.aend and 
+       previous.bend + 1 == val.bend
+       previous.aend += 1
+       previous.bend += 1
+       previous.len += 1
+    else
+      extension = previous.len - seedlength
+      if extension < 0
+        STDERR.puts "not expected"
+        exit 1
+      end
+      maxmatches.push(Maxmatch.new(previous.aend - extension,
+                                   previous.bend - extension,
+                                   extension))
+      previous = val
+    end
+  else
+    previous = val
+  end
+end
+if not previous.nil?
+  extension = previous.len - seedlength
+  if extension < 0
+    STDERR.puts "not expected"
+    exit 1
+  end
+  maxmatches.push(Maxmatch.new(previous.aend - extension,
+                               previous.bend - extension,
+                               extension))
+end
+
+sumextensions = 0
+maxmatches.sort {|a,b| compare_maxmatches(a,b)}.each do |val|
+  sumextensions += val.len
+  puts "#{val.aend} #{val.bend} #{val.len}"
+end
+puts "# #{seeds.length} seeds"
+puts "# #{maxmatches.length} maxmatches"
+if sumextensions + maxmatches.length != seeds.length
+  STDERR.puts "not expected"
+  exit 1
+end
diff --git a/scripts/sensitivity-test.rb b/scripts/sensitivity-test.rb
index ea97ef0..1d41615 100755
--- a/scripts/sensitivity-test.rb
+++ b/scripts/sensitivity-test.rb
@@ -3,7 +3,7 @@
 require 'optparse'
 require 'ostruct'
 require 'set'
-require_relative 'convert2myersformat'
+require_relative 'fasta'
 
 def min(a,b)
   return [a,b].sort.first
@@ -208,7 +208,7 @@ def callseedextend(mincoverage,indexname,inputfile,destfile,minidentity,length,
   end
   makesystemcall("#{gtcall()} seed_extend -t 21 -no-reverse " +
 		 "-seedlength #{seedlength} -minidentity #{minidentity} " +
-		 "-seed-display -extendgreedy -overlappingseeds -ii #{indexname}" +
+		 "-outfmt seed -extendgreedy -overlappingseeds -ii #{indexname}" +
                  (if bias then " -bias-parameters" else "" end) +
                  (if withalignment then " -a" else "" end) +
                  (if weakends then " -weakends" else "" end) +
diff --git a/scripts/sim-read-mapping.sh b/scripts/sim-read-mapping.sh
index f807d3e..119f75e 100755
--- a/scripts/sim-read-mapping.sh
+++ b/scripts/sim-read-mapping.sh
@@ -14,11 +14,10 @@ numreads=$1
 inputfile=$2
 readlength=150
 readset=reads.fa
-outfile1=greedy-noweak-mye.tsv
-outfile2=greedy-weak-mye.tsv
-outfile3=greedy-noweak-nomye.tsv
-outfile4=greedy-weak-nomye.tsv
-mason_bin="../mason2/bin"
+outfile_nw_m=greedy-noweak-mye.tsv
+outfile_w_m=greedy-weak-mye.tsv
+outfile_nw_nm=greedy-noweak-nomye.tsv
+outfile_w_nm=greedy-weak-nomye.tsv
 gt_bin="./bin"
 #da_bin="../myers/"
 
@@ -29,59 +28,56 @@ $gt_bin/gt encseq encode -indexname reference -sds no -md5 no -des no ${inputfil
 #$da_bin/DAZZ_DB/fasta2DB reference.db reference.fasta
 #inputfile=reference.fasta
 
-for minid in {70..99}; do printf "\t%d" $minid; done > $outfile1
-for minid in {70..99}; do printf "\t%d" $minid; done > $outfile2
-for minid in {70..99}; do printf "\t%d" $minid; done > $outfile3
-for minid in {70..99}; do printf "\t%d" $minid; done > $outfile4
+for minid in {70..99}; do printf "\t%d" $minid; done > $outfile_nw_m
+for minid in {70..99}; do printf "\t%d" $minid; done > $outfile_w_m
+for minid in {70..99}; do printf "\t%d" $minid; done > $outfile_nw_nm
+for minid in {70..99}; do printf "\t%d" $minid; done > $outfile_w_nm
 
 for err in {0..30}
 do
-  printf "\n%d" $err >> $outfile1
-  printf "\n%d" $err >> $outfile2
-  printf "\n%d" $err >> $outfile3
-  printf "\n%d" $err >> $outfile4
+  printf "\n%d" $err >> $outfile_nw_m
+  printf "\n%d" $err >> $outfile_w_m
+  printf "\n%d" $err >> $outfile_nw_nm
+  printf "\n%d" $err >> $outfile_w_nm
 
   indel=$(echo "scale=6; ${err}/3000"|bc)
   misma=$(echo "scale=6; ${err}/100-2*${indel}"|bc)
-  $mason_bin/mason_simulator -ir $inputfile -n $numreads -o ${readset} \
+  mason_simulator -ir $inputfile -n $numreads -o ${readset} \
                 --illumina-read-length ${readlength} --embed-read-info \
                 --illumina-prob-mismatch $misma \
                 --illumina-prob-deletion $indel \
-                --illumina-prob-insert $indel
+                --illumina-prob-insert $indel \
+                --seq-strands forward
   $gt_bin/gt encseq encode -indexname query -sds no -md5 no -des no ${readset}
   #$gt_bin/../scripts/convert2myersformat.rb $readset > query.fasta
   #$da_bin/DAZZ_DB/fasta2DB query.db query.fasta
 
   for minid in {70..99}
   do
-    $gt_bin/gt seed_extend -l ${minlength} -v -seedlength 14 -maxfreq 20 -bias-parameters \
-         -ii reference -qii query -minidentity $minid > tmp.matches
+    common="-l ${minlength} -v -seedlength 14 -ii reference -qii query -minidentity $minid"
+    $gt_bin/gt seed_extend ${common} -bias-parameters > tmp.matches
     #$da_bin/DALIGNER/daligner -l${minlength} -I -A -Y -k14 -t21 -e0.${minid} \
     #                          query.db reference.db > tmp.matches
     #grep '^#' tmp.matches
-    sensitivity=`./collect-mappings.rb ${numreads} tmp.matches`
-    printf "\t${sensitivity}" >> $outfile1
+    sensitivity=`./collect-mappings.rb ${numreads} tmp.matches | grep -v '^#'`
+    printf "\t${sensitivity}" >> $outfile_nw_m
     rm -f tmp.matches *.las
 
-    $gt_bin/gt seed_extend -l ${minlength} -v -seedlength 14 -maxfreq 20 -bias-parameters \
-         -ii reference -qii query -minidentity $minid -weakends > tmp.matches
-    sensitivity=`./collect-mappings.rb ${numreads} tmp.matches`
-    printf "\t${sensitivity}" >> $outfile2
+    $gt_bin/gt seed_extend ${common} -weakends -bias-parameters > tmp.matches
+    sensitivity=`./collect-mappings.rb ${numreads} tmp.matches | grep -v '^#'`
+    printf "\t${sensitivity}" >> $outfile_w_m
     rm -f tmp.matches *.las
 
-    $gt_bin/gt seed_extend -l ${minlength} -v -seedlength 14 -maxfreq 20 \
-         -ii reference -qii query -minidentity $minid > tmp.matches
-    sensitivity=`./collect-mappings.rb ${numreads} tmp.matches`
-    printf "\t${sensitivity}" >> $outfile3
+    $gt_bin/gt seed_extend ${common} > tmp.matches
+    sensitivity=`./collect-mappings.rb ${numreads} tmp.matches | grep -v '^#'`
+    printf "\t${sensitivity}" >> $outfile_nw_nm
     rm -f tmp.matches *.las
 
-    $gt_bin/gt seed_extend -l ${minlength} -v -seedlength 14 -maxfreq 20 \
-         -ii reference -qii query -minidentity $minid -weakends > tmp.matches
-    sensitivity=`./collect-mappings.rb ${numreads} tmp.matches`
-    printf "\t${sensitivity}" >> $outfile4
+    $gt_bin/gt seed_extend ${common} -weakends > tmp.matches
+    sensitivity=`./collect-mappings.rb ${numreads} tmp.matches | grep -v '^#'`
+    printf "\t${sensitivity}" >> $outfile_w_nm
     rm -f tmp.matches *.las
   done
   rm -f ${readset} query.*
 done
 rm -f reference.*
-
diff --git a/scripts/single-read-mapping.sh b/scripts/single-read-mapping.sh
new file mode 100755
index 0000000..5fbe5b5
--- /dev/null
+++ b/scripts/single-read-mapping.sh
@@ -0,0 +1,30 @@
+#!/bin/sh
+
+set -e -x
+
+if test $# -ne 4
+then
+  echo "Usage: $0 <numreads> <inputfile> <mincoverage> <seedlength>"
+  exit 1
+fi
+numreads=$1
+inputfile=$2
+mincoverage=$3
+seedlength=$4
+readlength=150
+maxfreq=14
+minidentity=95
+readset=reads-${numreads}-ill-def.fa
+scripts/simulate-reads.rb -n $numreads -l ${readlength} -i ${inputfile}
+
+env -i bin/gt encseq encode -indexname query-idx ${readset}
+env -i bin/gt encseq encode -indexname reference-idx ${inputfile}
+minlength=`expr ${readlength} \* ${mincoverage}`
+minlength=`expr ${minlength} \/ 100`
+common="-v -ii reference-idx -qii query-idx --no-reverse -outfmt fstperquery -l ${minlength} -minidentity ${minidentity} -seedlength ${seedlength}"
+env -i bin/gt seed_extend ${common} > tmp.matches
+scripts/collect-mappings.rb ${readset} tmp.matches
+env -i bin/gt seed_extend ${common} -maxmat 2 > tmp-maxmat.matches
+scripts/collect-mappings.rb ${readset} tmp-maxmat.matches
+env -i bin/gt seed_extend ${common} -maxmat 2 -use-apos > tmp-maxmat-apos.matches
+scripts/collect-mappings.rb ${readset} tmp-maxmat-apos.matches
diff --git a/scripts/skmake.rb b/scripts/skmake.rb
index 153a1c5..efee009 100755
--- a/scripts/skmake.rb
+++ b/scripts/skmake.rb
@@ -31,7 +31,7 @@ def parseargs(argv)
   options.m64 = true
   options.speed = false
   options.prof = false
-  options.jobs = 4
+  options.jobs = 1
   options.fileargs = nil
   options.threads = true
   options.sketch = false
@@ -68,11 +68,11 @@ def parseargs(argv)
 end
 
 def makecompilerflags(fp,options)
-  if not ENV.has_key?("systemdef") or ENV["systemdef"] == "Darwin"
-    extracpp = ""
-  else
-    wrapmemcpy="wrapmemcpy=yes"
-    extracpp = "-U_FORTIFY_SOURCE -D_GNU_SOURCE"
+  wrapmemcpy=""
+  extracpp = ""
+  if ENV.has_key?("systemdef") and ENV["systemdef"] != "Darwin"
+    # wrapmemcpy="wrapmemcpy=yes"
+    # extracpp = "CPPFLAGS='-U_FORTIFY_SOURCE -D_GNU_SOURCE -fno-stack-protector'"
   end
   fp.print "all:\n\t\${MAKE} -j #{options.jobs} #{wrapmemcpy} with-sqlite=no"
   # fp.print " CFLAGS+=-fstrict-aliasing"
@@ -96,7 +96,7 @@ def makecompilerflags(fp,options)
   else
     fp.print " cairo=no"
   end
-  fp.print " CPPFLAGS='-fno-stack-protector #{extracpp}' CC='ccache " + ENV["CC"] + "'"
+  fp.print " #{extracpp} popcnt=yes CC='ccache " + ENV["CC"] + "'"
   if not options.fileargs.nil?
     filenames=options.fileargs.join(" ")
     fp.puts " #{filenames}"
@@ -122,4 +122,5 @@ if File.exists?('LocalMakefile.previous') and
   exit 1
 end
 
+sleep(1)
 system("make -f LocalMakefile")
diff --git a/scripts/travis_installdeps.sh b/scripts/travis_installdeps.sh
new file mode 100755
index 0000000..f0b0efa
--- /dev/null
+++ b/scripts/travis_installdeps.sh
@@ -0,0 +1,13 @@
+#!/bin/bash
+
+echo $TRAVIS_OS_NAME
+if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
+  sudo apt-get update -q
+  sudo apt-get install ncbi-blast+ gcc-multilib -y
+  sudo apt-get install binutils-mingw-w64-i686 gcc-mingw-w64-i686 -y
+  sudo apt-get install binutils-mingw-w64-x86-64 gcc-mingw-w64-x86-64 -y
+else
+  brew update
+  brew install pango cairo
+  brew install homebrew/science/blast
+fi
diff --git a/scripts/alloutputoptions.rb b/scripts/turnwheel.rb
old mode 100755
new mode 100644
similarity index 55%
copy from scripts/alloutputoptions.rb
copy to scripts/turnwheel.rb
index 92c06fa..bdf7d67
--- a/scripts/alloutputoptions.rb
+++ b/scripts/turnwheel.rb
@@ -1,25 +1,14 @@
-#!/usr/bin/env ruby
-
-def turnwheels(outlist)
-  numofalphabets = outlist.length
+def turnwheels(asizes)
+  numofalphabets = asizes.length
   wheelspace = Array.new
   alphasizes = Array.new
   0.upto(numofalphabets-1) do |z|
-    alphasizes[z] = 2
+    alphasizes[z] = asizes[z]
     wheelspace[z] = 0
   end
   z = numofalphabets-1
-  while true
-    output = false
-    0.upto(numofalphabets-1) do |i|
-      if wheelspace[i] == 1
-        output = true
-        print " #{outlist[i]}"
-      end
-    end
-    if output
-      puts ""
-    end
+  loop do
+    yield wheelspace
     stop = false
     while not stop
       wheelspace[z] = wheelspace[z]+1
@@ -36,5 +25,3 @@ def turnwheels(outlist)
     end
   end
 end
-
-turnwheels(["-tis","-suf","-bwt","-lcp"])
diff --git a/src/annotationsketch/custom_track_gc_content.c b/src/annotationsketch/custom_track_gc_content.c
index ef0d0f4..694c98b 100644
--- a/src/annotationsketch/custom_track_gc_content.c
+++ b/src/annotationsketch/custom_track_gc_content.c
@@ -125,13 +125,13 @@ int gt_custom_track_gc_content_sketch(GtCustomTrack *ct, GtGraphics *graphics,
                           gt_graphics_get_xmargins(graphics)+ 5,
                           start_ypos
                             + gt_graphics_get_text_height(graphics)/2 - 1,
-                          "100\%");
+                          "100%%");
     gt_graphics_draw_text(graphics,
                           gt_graphics_get_xmargins(graphics)+ 5,
                           start_ypos
                             + ctgc->height
                             + gt_graphics_get_text_height(graphics)/2 - 1,
-                          "0\%");
+                          "0%%");
   }
   gt_graphics_draw_horizontal_line(graphics,
                                    gt_graphics_get_xmargins(graphics),
diff --git a/src/core/accspecialrange.gen b/src/core/accspecialrange.gen
index 65a1b33..9211537 100644
--- a/src/core/accspecialrange.gen
+++ b/src/core/accspecialrange.gen
@@ -260,6 +260,56 @@ static int GT_APPENDINT(fillSWtable)(GtEncseq *encseq,
   return 0;
 }
 
+static void GT_APPENDINT(gt_ssps_in_page_append)
+                            (GtUword *arr,
+                             const GT_APPENDINT(GtSWtable) *swtable,
+                             GtUword offset,
+                             GtUword first,
+                             GtUword last)
+{
+  GtUword idx, *ptr;
+
+  for (idx = first, ptr = arr; idx <= last; idx++, ptr++)
+  {
+    *ptr = offset + (GtUword) swtable->positions[idx];
+  }
+}
+
+static GtUword *GT_APPENDINT(gt_all_ssps_get)(
+                            const GT_APPENDINT(GtSWtable) *swtable)
+{
+  GtUword endpos0, endpos1, pgnum, offset = 0, *ssptab, *arr;
+
+  if (swtable->numofpositionstostore == 0)
+  {
+    return NULL;
+  }
+  gt_assert(swtable->numofpages > 0 && swtable->endidxinpage != NULL);
+  /* allocate one extra byte to allow inplace transformation into sequence
+     length */
+  ssptab = gt_malloc(sizeof *ssptab * (swtable->numofpositionstostore+1));
+  arr = ssptab;
+  for (pgnum=0; pgnum < swtable->numofpages; pgnum++)
+  {
+    if (pgnum == 0)
+    {
+      endpos0 = 0;
+    } else
+    {
+      endpos0 = swtable->endidxinpage[pgnum-1];
+    }
+    endpos1 = swtable->endidxinpage[pgnum];
+    if (endpos0 < endpos1)
+    {
+      GT_APPENDINT(gt_ssps_in_page_append)(arr,swtable,offset,endpos0,
+                                           endpos1-1);
+      arr += endpos1 - endpos0;
+    }
+    offset += 1UL + swtable->maxrangevalue;
+  }
+  return ssptab;
+}
+
 #ifdef GT_RANGEDEBUG
 
 static void GT_APPENDINT(showSWtablewithpages)
diff --git a/src/core/alphabet.c b/src/core/alphabet.c
index bd72ae5..d9e2236 100644
--- a/src/core/alphabet.c
+++ b/src/core/alphabet.c
@@ -36,7 +36,30 @@
 #include "core/xansi_api.h"
 
 #define ALPHABET_GUESS_MAX_LENGTH       5000
-#define ALPHABET_GUESS_PROTEIN_CHARS    "LIFEQPlifeqpXZ*-"
+/* To guess if a sequence is a protein sequence we check if it contains
+   symbols specific for amino acids. Specific means that the symbols
+   do not denote a nucleotide, or a set of nucleotides according to the
+   IUPAC definition. So we have the following symbols denoting
+   amino acids:
+
+   LVIFKREDAGSTNQYWPHMCXUBZ
+
+   where the last four denote a wildcard.
+
+   We have the following symbols to denote a nucleotide or a set of
+   nucleotides:
+
+   ACGTUNSYWRKVBDHM
+
+   If we subtract the latter from the former we get
+
+   LIFEQPXZ
+
+   Adding the stop symbols * and -, and allowing lower case notation,
+   we get the list of characters specific for amino acids.
+*/
+
+#define ALPHABET_GUESS_PROTEIN_CHARS    "LIFEQPlifeqpXZxz*-"
 
 struct GtAlphabet {
   unsigned int domainsize,           /* size of domain of symbolmap */
diff --git a/src/core/arraydef.h b/src/core/arraydef.h
index 5ba00c1..bec4c99 100644
--- a/src/core/arraydef.h
+++ b/src/core/arraydef.h
@@ -20,7 +20,7 @@
 
 #include <inttypes.h>
 #include "core/assert_api.h"
-#include "core/ma.h"
+#include "core/ma_api.h"
 #include "core/types_api.h"
 
 /*
@@ -60,16 +60,19 @@
         *(A) = *(B)
 
 /*
-  GT_CHECKARRAYSPACE checks if the integer nextfree##T
-  points to an index for which the space is not allocated yet. If this is
-  the case, the number of cells allocated is incremented by L. The
-  contents of the previously filled array elements is of course maintained.
+  GT_CHECKARRAYSPACE checks if the next (L) cells in the array have
+  been allocated. If this is not the case, then the number of cells
+  allocated is incremented by ADD, which must not be smaller than (L). The
+  contents of the previously filled array elements is of course.
 */
-#define GT_CHECKARRAYSPACE(A,TYPE,L)\
+
+#define GT_CHECKARRAYSPACE_GENERIC(A,TYPE,L,ADD)\
         do {\
-          if ((A)->nextfree##TYPE >= (A)->allocated##TYPE)\
+          if ((A)->nextfree##TYPE + (L) >= (A)->allocated##TYPE)\
           {\
-            (A)->allocated##TYPE += L;\
+            GtUword add_cells = (ADD);\
+            gt_assert((L) <= add_cells);\
+            (A)->allocated##TYPE += add_cells;\
             (A)->space##TYPE = (TYPE *) gt_realloc_mem((A)->space##TYPE,\
                                               sizeof (TYPE) *\
                                               (A)->allocated##TYPE,\
@@ -79,21 +82,20 @@
         } while (false)
 
 /*
+  GT_CHECKARRAYSPACE checks if the integer nextfree##T
+  points to an index for which the space is not allocated yet. If this is
+  the case, the number of cells allocated is incremented by L. The
+  contents of the previously filled array elements is of course maintained.
+*/
+#define GT_CHECKARRAYSPACE(A,TYPE,L)\
+        GT_CHECKARRAYSPACE_GENERIC(A,TYPE,0,L)
+
+/*
   The next macro is a variation of GT_CHECKARRAYSPACE, which checks if the next
   L cells have been allocated. If not, then this is done.
 */
 #define GT_CHECKARRAYSPACEMULTI(A,TYPE,L)\
-        do {\
-          if ((A)->nextfree##TYPE + (L) >= (A)->allocated##TYPE)\
-          {\
-            (A)->allocated##TYPE += L;\
-            (A)->space##TYPE = (TYPE *) gt_realloc_mem((A)->space##TYPE,\
-                                              sizeof (TYPE) *\
-                                              (A)->allocated##TYPE,\
-                                              __FILE__, __LINE__);\
-          }\
-          gt_assert((A)->space##TYPE != NULL);\
-        } while (false)
+        GT_CHECKARRAYSPACE_GENERIC(A,TYPE,L,L)
 
 /*
   This macro checks the space and delivers a pointer P
@@ -134,6 +136,7 @@
 */
 GT_DECLAREARRAYSTRUCT(GtUchar);
 GT_DECLAREARRAYSTRUCT(GtUword);
+GT_DECLAREARRAYSTRUCT(int);
 GT_DECLAREARRAYSTRUCT(char);
 GT_DECLAREARRAYSTRUCT(uint32_t);
 GT_DECLAREARRAYSTRUCT(uint64_t);
diff --git a/src/core/bitbuffer.c b/src/core/bitbuffer.c
index 642b2fd..d0275c6 100644
--- a/src/core/bitbuffer.c
+++ b/src/core/bitbuffer.c
@@ -16,121 +16,330 @@
 */
 
 #include "core/ma_api.h"
+#include "core/unused_api.h"
 #include "core/assert_api.h"
+#include "core/intbits.h"
 #include "bitbuffer.h"
 
-#define GT_BITSINBYTEBUFFER 64U
-
 struct GtBitbuffer
 {
-  unsigned int remainingbitsinbuffer,
-               bitsperentry;
   uint64_t currentbitbuffer,
            numberofallvalues;
-  FILE *outfp;
+  GtBitcount_type remainingbitsinbuffer,
+                  bitsperentry,
+                  bitsinbuffer;
+  uint8_t readvalue;
+  uint8_t currentuint8;
+  FILE *fp;
 };
 
-GtBitbuffer *gt_bitbuffer_new(FILE *outfp,unsigned int bitsperentry)
+GtBitbuffer *gt_bitbuffer_FILE_new(FILE *outfp,GtBitcount_type bitsperentry)
 {
-  GtBitbuffer *bitbuffer = gt_malloc(sizeof *bitbuffer);
+  GtBitbuffer *bb = gt_malloc(sizeof *bb);
 
+  if (outfp != NULL)
+  {
+     bb->bitsinbuffer = (GtBitcount_type) sizeof bb->currentbitbuffer;
+  } else
+  {
+     gt_assert(bitsperentry == 0);
+     bb->bitsinbuffer = (GtBitcount_type) CHAR_BIT;
+  }
   if (bitsperentry > 0)
   {
     uint8_t bitsperentry8 = (uint8_t) bitsperentry;
     uint64_t writtenbits = 0;
 
-    gt_assert(bitsperentry < GT_BITSINBYTEBUFFER && outfp != NULL);
+    gt_assert(outfp != NULL);
     (void) fwrite(&writtenbits,sizeof writtenbits,(size_t) 1,outfp);
     (void) fwrite(&bitsperentry8,sizeof bitsperentry8,(size_t) 1,outfp);
   }
-  bitbuffer->numberofallvalues = 0;
-  bitbuffer->bitsperentry = bitsperentry;
-  bitbuffer->currentbitbuffer = 0;
-  bitbuffer->outfp = outfp;
-  bitbuffer->remainingbitsinbuffer = GT_BITSINBYTEBUFFER;
-  return bitbuffer;
+  bb->numberofallvalues = 0;
+  bb->bitsperentry = bitsperentry;
+  bb->currentbitbuffer = 0;
+  bb->remainingbitsinbuffer = bb->bitsinbuffer;
+  bb->currentuint8 = 0;
+  bb->fp = outfp;
+  return bb;
 }
 
-void gt_bitbuffer_next_value(GtBitbuffer *bb, GtUword value,
-                             unsigned int bitsforvalue)
+GtBitbuffer *gt_bitbuffer_new(void)
 {
-  unsigned int bits2store = bitsforvalue;
+  return gt_bitbuffer_FILE_new(NULL,0);
+}
 
+void gt_bitbuffer_generic_write_FILE(GtBitbuffer *bb,
+                                     GtUword value,
+                                     GtBitcount_type bitsforvalue)
+{
+  GtBitcount_type bits2store = bitsforvalue;
+
+  gt_assert(bb != NULL && bitsforvalue <= bb->bitsinbuffer);
   bb->numberofallvalues++;
   while (true)
   {
     gt_assert(bits2store > 0);
     if (bb->remainingbitsinbuffer >= bits2store)
     {
-      bb->currentbitbuffer |= (uint64_t) ((value >> (bitsforvalue-bits2store) )
-                           << (GT_BITSINBYTEBUFFER-bb->remainingbitsinbuffer));
       bb->remainingbitsinbuffer -= bits2store;
+      bb->currentbitbuffer |= (uint64_t)
+                    ((value & ((1UL << bits2store) - 1))
+                     << bb->remainingbitsinbuffer);
       break;
     }
-    if (bb->remainingbitsinbuffer == 0)
+    if (bb->remainingbitsinbuffer == 0) /* buffer full */
     {
       (void) fwrite(&bb->currentbitbuffer,sizeof bb->currentbitbuffer,
-                    (size_t) 1,bb->outfp);
+                    (size_t) 1,bb->fp);
+      bb->currentbitbuffer = 0;
+      bb->remainingbitsinbuffer = bb->bitsinbuffer;
+    } else
+    {
+      gt_assert(bits2store > bb->remainingbitsinbuffer);
+      bits2store -= bb->remainingbitsinbuffer;
+      bb->currentbitbuffer
+        |= ((uint64_t) value >> bb->remainingbitsinbuffer);
+      bb->remainingbitsinbuffer = 0;
+    }
+  }
+}
+
+/*#define SHOWCURRENT\
+        gt_bitsequence_tostring(buffer,bb->currentbitbuffer);\
+        printf("line %3d: remain=%hu,bits=%hu\nBB=%s\n",__LINE__,\
+                bb->remainingbitsinbuffer,bitsforvalue,buffer)*/
+#define SHOWCURRENT /* Nothing */
+
+GtUword gt_bitbuffer_write_bytestring(GtBitbuffer *bb,
+                                       uint8_t *bytestring,
+                                       GtUword bytestring_offset,
+                                       GT_UNUSED GtUword bytestring_length,
+                                       GtUword value,
+                                       GtBitcount_type bitsforvalue)
+{
+  GtBitcount_type bits2store = bitsforvalue;
+
+  gt_assert(bb != NULL && bb->fp == NULL);
+  bb->numberofallvalues++;
+  SHOWCURRENT;
+  while (true)
+  {
+    gt_assert(bits2store > 0);
+    if (bb->remainingbitsinbuffer >= bits2store)
+    {
+      bb->remainingbitsinbuffer -= bits2store;
+      bb->currentbitbuffer |= (uint64_t)
+        ((value & ((1UL << bits2store) - 1)) << bb->remainingbitsinbuffer);
+      SHOWCURRENT;
+      break;
+    }
+    if (bb->remainingbitsinbuffer == 0) /* buffer full */
+    {
+      SHOWCURRENT;
+      gt_assert(bytestring_offset < bytestring_length &&
+                bb->currentbitbuffer <= UINT8_MAX);
+      bytestring[bytestring_offset++] = (uint8_t) bb->currentbitbuffer;
       bb->currentbitbuffer = 0;
-      bb->remainingbitsinbuffer = GT_BITSINBYTEBUFFER;
+      bb->remainingbitsinbuffer = bb->bitsinbuffer;
     } else
     {
-      gt_assert(value < (1UL << bits2store));
-      bb->currentbitbuffer |= ((uint64_t) value >> (bitsforvalue-bits2store) )
-                           << (GT_BITSINBYTEBUFFER-bb->remainingbitsinbuffer);
+      gt_assert(bits2store > bb->remainingbitsinbuffer);
       bits2store -= bb->remainingbitsinbuffer;
+      bb->currentbitbuffer |= ((uint64_t) value >> bits2store) & UINT8_MAX;
       bb->remainingbitsinbuffer = 0;
+      SHOWCURRENT;
     }
   }
+  return bytestring_offset;
+}
+
+GtUword gt_bitbuffer_write_bytestring_bf(GtBitbuffer *bb,
+                                          uint8_t *bytestring,
+                                          GtUword bytestring_offset,
+                                          GT_UNUSED GtUword bytestring_length,
+                                          GtUword value,
+                                          GtBitcount_type bitsforvalue)
+{
+  int shift;
+
+  gt_assert(bitsforvalue > 0);
+  for (shift = (int) (bitsforvalue-1); shift >= 0; shift--)
+  {
+    if (bb->remainingbitsinbuffer == 0)
+    {
+      gt_assert(bytestring_offset < bytestring_length);
+      bytestring[bytestring_offset++] = bb->currentuint8;
+      bb->currentuint8 = 0;
+      bb->remainingbitsinbuffer = bb->bitsinbuffer;
+    }
+    if (value & (1UL << shift))
+    {
+      bb->currentuint8 |= (1 << (bb->remainingbitsinbuffer-1));
+    }
+    bb->remainingbitsinbuffer--;
+  }
+  return bytestring_offset;
+}
+
+void gt_bitbuffer_write_FILE(GtBitbuffer *bb, GtUword value,
+                             GtBitcount_type bitsforvalue)
+{
+  gt_assert(bb != NULL);
+  (void) gt_bitbuffer_generic_write_FILE(bb, value,bitsforvalue);
 }
 
-void gt_bitbuffer_next_fixed_bits_value (GtBitbuffer *bb, GtUword value)
+void gt_bitbuffer_write_fixed_bits_FILE (GtBitbuffer *bb, GtUword value)
 {
-  gt_assert(bb->bitsperentry > 0);
-  gt_bitbuffer_next_value (bb, value, bb->bitsperentry);
+  gt_assert(bb != NULL && bb->bitsperentry > 0);
+  gt_bitbuffer_write_FILE(bb, value, bb->bitsperentry);
 }
 
-void gt_bitbuffer_next_uint32tab(GtBitbuffer *bb,const uint32_t *tab,
-                                 GtUword len)
+void gt_bitbuffer_write_uint32tab_FILE(GtBitbuffer *bb,const uint32_t *tab,
+                                       GtUword len)
 {
   const uint32_t *uintptr;
 
-  gt_assert (tab != NULL);
+  gt_assert (bb != NULL && tab != NULL);
   for (uintptr = tab; uintptr < tab + len; uintptr++)
   {
-    gt_bitbuffer_next_fixed_bits_value (bb, (GtUword) *uintptr);
+    gt_bitbuffer_write_fixed_bits_FILE (bb, (GtUword) *uintptr);
   }
 }
 
-void gt_bitbuffer_next_ulongtab(GtBitbuffer *bb,
-                                const GtUword *tab,
-                                GtUword len)
+void gt_bitbuffer_write_ulongtab_FILE(GtBitbuffer *bb,
+                                      const GtUword *tab,
+                                      GtUword len)
 {
   const GtUword *ulongptr;
 
-  gt_assert (tab != NULL);
+  gt_assert (bb != NULL && tab != NULL);
   for (ulongptr = tab; ulongptr < tab + len; ulongptr++)
   {
-    gt_bitbuffer_next_fixed_bits_value (bb, *ulongptr);
+    gt_bitbuffer_write_fixed_bits_FILE(bb, *ulongptr);
   }
 }
 
-void gt_bitbuffer_delete(GtBitbuffer *bb)
+void gt_bitbuffer_flush(bool bruteforce,GtBitbuffer *bb,uint8_t *bytestring)
 {
-  if (bb->outfp != NULL)
+  gt_assert(bb != NULL);
+  if (bb->remainingbitsinbuffer < bb->bitsinbuffer)
   {
-    if (bb->remainingbitsinbuffer < GT_BITSINBYTEBUFFER)
+    if (bb->fp != NULL)
     {
+      gt_assert(!bruteforce && bytestring == NULL);
       (void) fwrite(&bb->currentbitbuffer,
                     sizeof bb->currentbitbuffer,
-                    (size_t) 1,bb->outfp);
+                    (size_t) 1,bb->fp);
+      if (bb->bitsperentry > 0)
+      {
+        uint64_t writtenbits = bb->numberofallvalues * bb->bitsperentry;
+        (void) fseek(bb->fp,0,SEEK_SET);
+        (void) fwrite(&writtenbits,sizeof writtenbits,(size_t) 1,bb->fp);
+      }
+    } else
+    {
+      if (bruteforce)
+      {
+        *bytestring = bb->currentuint8;
+      } else
+      {
+        gt_assert(bb->fp == NULL && bb->currentbitbuffer <= UINT8_MAX);
+        *bytestring = (uint8_t) bb->currentbitbuffer;
+      }
+    }
+  }
+  bb->currentbitbuffer = 0;
+  bb->currentuint8 = 0;
+  bb->remainingbitsinbuffer = bb->bitsinbuffer;
+}
+
+void gt_bitbuffer_delete(GtBitbuffer *bb)
+{
+  if (bb != NULL)
+  {
+    if (bb->fp != NULL)
+    {
+      gt_bitbuffer_flush(false,bb,NULL);
+    }
+    gt_free(bb);
+  }
+}
+
+void gt_bitbuffer_reset_for_read(GtBitbuffer *bb)
+{
+  gt_assert(bb != NULL);
+  bb->remainingbitsinbuffer = 0;
+}
+
+GtUword gt_bitbuffer_read_bytestring(GtBitbuffer *bb,
+                                      GtUword *value,
+                                      const uint8_t *bytestring,
+                                      GtUword bytestring_offset,
+                                      GtBitcount_type bitsforvalue)
+{
+  unsigned int bits2read = bitsforvalue;
+
+  gt_assert(bb != NULL && bb->fp == NULL && bytestring != NULL);
+  while (true)
+  {
+    if (bb->remainingbitsinbuffer == 0)
+    {
+      bb->readvalue = bytestring[bytestring_offset++];
+      bb->remainingbitsinbuffer = bb->bitsinbuffer;
+    }
+    if (bb->remainingbitsinbuffer >= bits2read)
+    {
+      bb->remainingbitsinbuffer -= bits2read;
+      if (bits2read < bb->bitsinbuffer)
+      {
+        bb->currentbitbuffer
+          |= (uint64_t) (bb->readvalue >> bb->remainingbitsinbuffer) &
+             ((((uint64_t) 1) << bits2read) - 1);
+        gt_assert(bb->currentbitbuffer < (1UL << bitsforvalue));
+      } else
+      {
+        bb->currentbitbuffer |= bb->readvalue;
+      }
+      *value = (GtUword) bb->currentbitbuffer;
+      bb->currentbitbuffer = 0;
+      break;
+    } else
+    {
+      bits2read -= bb->remainingbitsinbuffer;
+      bb->currentbitbuffer
+        |= ((((uint64_t) bb->readvalue) &
+            ((((uint64_t) 1) << bb->remainingbitsinbuffer) - 1))
+           << bits2read);
+      bb->remainingbitsinbuffer = 0;
+    }
+  }
+  return bytestring_offset;
+}
+
+GtUword gt_bitbuffer_read_bytestring_bf(GtBitbuffer *bb,
+                                         GtUword *value,
+                                         const uint8_t *bytestring,
+                                         GtUword bytestring_offset,
+                                         GtBitcount_type bitsforvalue)
+{
+  int shift;
+
+  gt_assert(bb != NULL && bb->fp == NULL && bytestring != NULL);
+  gt_assert(bitsforvalue > 0);
+  for (shift = (int) (bitsforvalue - 1); shift >= 0; shift--)
+  {
+    if (bb->remainingbitsinbuffer == 0)
+    {
+      bb->readvalue = bytestring[bytestring_offset++];
+      bb->remainingbitsinbuffer = bb->bitsinbuffer;
     }
-    if (bb->bitsperentry > 0)
+    bb->remainingbitsinbuffer--;
+    if (bb->readvalue & (1 << bb->remainingbitsinbuffer))
     {
-      uint64_t writtenbits = bb->numberofallvalues * bb->bitsperentry;
-      (void) fseek(bb->outfp,0,SEEK_SET);
-      (void) fwrite(&writtenbits,sizeof writtenbits,(size_t) 1,bb->outfp);
+      bb->currentbitbuffer |= (((uint64_t) 1) << shift);
     }
   }
-  gt_free(bb);
+  *value = (GtUword) bb->currentbitbuffer;
+  bb->currentbitbuffer = 0;
+  return bytestring_offset;
 }
diff --git a/src/core/bitbuffer.h b/src/core/bitbuffer.h
index c2d9c64..24bd0d7 100644
--- a/src/core/bitbuffer.h
+++ b/src/core/bitbuffer.h
@@ -21,6 +21,7 @@
 #include <inttypes.h>
 #include <stdio.h>
 #include "core/types_api.h"
+#include "core/unused_api.h"
 
 /* The <GtBitbuffer> class provides means to sequentially write bit-compressed
    integer arrays into a file. */
@@ -28,33 +29,80 @@ typedef struct GtBitbuffer GtBitbuffer;
 
 /* Creates a new <GtBitbuffer> for output to <outfp>.
    <bitsperentry> specifies the number of bits per entry if
-   greater than 0. In this case a header is written in the input file
+   greater than 0. In this case, a header is written in the input file
    consisting of a <uint64_t>-value specifying the number of elements
    written and a <uint8_t> value specifying the number of bits per
    entry. If <bitsperentry> is 0, then no header is written and
    the number of bits for the value to be written has to be specified
    for each call of <gt_bitbuffer_next_value()>. */
-GtBitbuffer* gt_bitbuffer_new(FILE *outfp, unsigned int bitsperentry);
+
+typedef uint16_t GtBitcount_type;
+
+GtBitbuffer *gt_bitbuffer_FILE_new(FILE *outfp,GtBitcount_type bitsperentry);
+
+/* Creates a new <GtBitbuffer> which does not output the stream of
+   uint64_t values to a FILE pointer, but to a uint8_t-buffer specified
+   with each call of the next_value function */
+
+GtBitbuffer *gt_bitbuffer_new(void);
 
 /* Appends GtUword <value> of <bitsforvalue> bits to <bb>. */
-void         gt_bitbuffer_next_value(GtBitbuffer *bb, GtUword value,
-                                     unsigned int bitsforvalue);
+void         gt_bitbuffer_write_FILE(GtBitbuffer *bb, GtUword value,
+                                     GtBitcount_type bitsforvalue);
+
+/* when the bits need to go to a bytestring rather than a FILE pointer,
+  the following function can be used */
+
+void gt_bitbuffer_generic_write_FILE(GtBitbuffer *bb,
+                                     GtUword value,
+                                     GtBitcount_type bitsforvalue);
+
+GtUword gt_bitbuffer_write_bytestring(GtBitbuffer *bb,
+                                      uint8_t *bytestring,
+                                      GtUword bytestring_offset,
+                                      GT_UNUSED GtUword bytestring_length,
+                                      GtUword value,
+                                      GtBitcount_type bitsforvalue);
+
+GtUword gt_bitbuffer_write_bytestring_bf(GtBitbuffer *bb,
+                                         uint8_t *bytestring,
+                                         GtUword bytestring_offset,
+                                         GT_UNUSED GtUword bytestring_length,
+                                         GtUword value,
+                                         GtBitcount_type bitsforvalue);
 
 /* Appends GtUword <value> to <bb>. Requires that <bb> has been created
    with a <bitsperentry> value > 0. */
-void         gt_bitbuffer_next_fixed_bits_value(GtBitbuffer *bb,
-                                                GtUword value);
+void gt_bitbuffer_write_fixed_bits_FILE(GtBitbuffer *bb,
+                                        GtUword value);
 
 /* Appends unsigned 32-bit integer array <tab> of length <len> to <bb>. */
-void         gt_bitbuffer_next_uint32tab(GtBitbuffer *bb, const uint32_t *tab,
-                                         GtUword len);
+void gt_bitbuffer_write_uint32tab_FILE(GtBitbuffer *bb, const uint32_t *tab,
+                                       GtUword len);
 
 /* Appends GtUword integer array <tab> of length <len> to <bb>. */
-void         gt_bitbuffer_next_ulongtab(GtBitbuffer *bb,
-                                        const GtUword *tab,
-                                        GtUword len);
+
+void gt_bitbuffer_write_ulongtab_FILE(GtBitbuffer *bb,
+                                      const GtUword *tab,
+                                      GtUword len);
+
+void gt_bitbuffer_flush(bool bruteforce,GtBitbuffer *bb,uint8_t *bytestring);
 
 /* Deletes <bb> and frees all associated memory. */
 void         gt_bitbuffer_delete(GtBitbuffer *bb);
 
+GtUword gt_bitbuffer_read_bytestring(GtBitbuffer *bb,
+                                     GtUword *value,
+                                     const uint8_t *bytestring,
+                                     GtUword bytestring_offset,
+                                      GtBitcount_type bitsforvalue);
+
+GtUword gt_bitbuffer_read_bytestring_bf(GtBitbuffer *bb,
+                                        GtUword *value,
+                                        const uint8_t *bytestring,
+                                        GtUword bytestring_offset,
+                                        GtBitcount_type bitsforvalue);
+
+void gt_bitbuffer_reset_for_read(GtBitbuffer *bb);
+
 #endif
diff --git a/src/core/bitpackstringsimpleop.h b/src/core/bitpackstringsimpleop.h
index 8d7d0d3..ef78230 100644
--- a/src/core/bitpackstringsimpleop.h
+++ b/src/core/bitpackstringsimpleop.h
@@ -397,6 +397,15 @@ gt_bsGetBit(constBitString str, BitOffset pos)
   return (*p & 1 << (bitElemBits - bitTop - 1))?1:0;
 }
 
+/* we use the buildin_popcount if a GNU compatible compiler is used
+   and the compiler option -mpopcnt is on. */
+#if defined (__GNUC__) && defined (__POPCNT__)
+static inline unsigned
+bitCountUInt32(uint32_t v)
+{
+  return __builtin_popcount(v);
+}
+#else
 /*
  * the following helper function counts the bits set in a 32 bit int
  * see http://graphics.stanford.edu/~seander/bithacks.html#CountBitsSetParallel
@@ -411,5 +420,5 @@ bitCountUInt32(uint32_t v)
   return (((v + (v >> 4)) & (uint32_t)0xF0F0F0FUL) *
          (uint32_t)0x1010101UL) >> 24;           /* count */
 }
-
+#endif
 #endif
diff --git a/src/core/colorspace.h b/src/core/colorspace.h
index d940ca3..b849145 100644
--- a/src/core/colorspace.h
+++ b/src/core/colorspace.h
@@ -21,8 +21,10 @@
 #include "core/error_api.h"
 #include "core/str_api.h"
 
-/*decode a color space coded <color_string> and writes the decoded
-  plain text string to <result> */
+/* Colorspace module */
+
+/* Decode a color space coded <color_string> and writes the decoded
+   plain text string to <result> */
 int gt_colorspace_decode_string(GtStr *color_string,
                                 GtStr *result,
                                 GtError *err);
diff --git a/src/core/csvline_reader.c b/src/core/csvline_reader.c
new file mode 100644
index 0000000..c67dc97
--- /dev/null
+++ b/src/core/csvline_reader.c
@@ -0,0 +1,302 @@
+/*
+  Copyright (c) 2016 Stefan Kurtz <kurtz at zbh.uni-hamburg.de>
+  Copyright (c) 2016 Center for Bioinformatics, University of Hamburg
+
+  Permission to use, copy, modify, and distribute this software for any
+  purpose with or without fee is hereby granted, provided that the above
+  copyright notice and this permission notice appear in all copies.
+
+  THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+  WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+  MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+  ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+  WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+  ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+  OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+#include <limits.h>
+#include "core/arraydef.h"
+#include "core/csvline_reader.h"
+
+struct GtCsvlineReader
+{
+  GtArraychar line;
+  GtArrayGtUword columnoffset;
+  struct
+  {
+    GtArraychar alphabet;
+    GtUword *charcount;
+  } dist;
+  bool empty;
+  char separator;
+};
+
+GtCsvlineReader *gt_csvline_reader_new(void)
+{
+  GtCsvlineReader *csvline_reader = gt_malloc(sizeof *csvline_reader);
+  gt_assert(csvline_reader != NULL);
+  GT_INITARRAY(&csvline_reader->line,char);
+  GT_INITARRAY(&csvline_reader->dist.alphabet,char);
+  GT_INITARRAY(&csvline_reader->columnoffset,GtUword);
+  csvline_reader->empty = true;
+  csvline_reader->separator = 0;
+  csvline_reader->dist.charcount
+    = gt_calloc(UCHAR_MAX+1,sizeof *csvline_reader->dist.charcount);
+  return csvline_reader;
+}
+
+static void csvline_reader_append_char(GtCsvlineReader *csvline_reader,char cc)
+{
+  GT_STOREINARRAY(&csvline_reader->line,char,1024UL,cc);
+  if (csvline_reader->dist.charcount[(int) cc] == 0)
+  {
+    GT_STOREINARRAY(&csvline_reader->dist.alphabet,char,256UL,cc);
+  }
+  csvline_reader->dist.charcount[(int) cc]++;
+}
+
+void gt_csvline_reader_delete(GtCsvlineReader *csvline_reader)
+{
+  if (csvline_reader != NULL)
+  {
+    GT_FREEARRAY(&csvline_reader->columnoffset,GtUword);
+    GT_FREEARRAY(&csvline_reader->line,char);
+    GT_FREEARRAY(&csvline_reader->dist.alphabet,char);
+    gt_free(csvline_reader->dist.charcount);
+    gt_free(csvline_reader);
+  }
+}
+
+void gt_csvline_reader_clear(GtCsvlineReader *csvline_reader)
+{
+  GtUword idx;
+
+  csvline_reader->line.nextfreechar = 0;
+  for (idx = 0; idx < csvline_reader->dist.alphabet.nextfreechar; idx++)
+  {
+    char cc = csvline_reader->dist.alphabet.spacechar[idx];
+    csvline_reader->dist.charcount[(int) cc] = 0;
+  }
+  csvline_reader->dist.alphabet.nextfreechar = 0;
+  for (idx = 0; idx <= UCHAR_MAX; idx++)
+  {
+    gt_assert(csvline_reader->dist.charcount[idx] == 0);
+  }
+  csvline_reader->columnoffset.nextfreeGtUword = 0;
+  csvline_reader->empty = true;
+}
+
+bool gt_csvline_reader_next(GtCsvlineReader *csvline_reader,
+                            FILE *inputfp,char separator)
+{
+  gt_assert(csvline_reader != NULL);
+  gt_csvline_reader_clear(csvline_reader);
+  csvline_reader->separator = separator;
+  while (true)
+  {
+    int cc = fgetc(inputfp);
+
+    if (cc == EOF)
+    {
+      break;
+    }
+    if (cc == '\n')
+    {
+      csvline_reader_append_char(csvline_reader,'\0');
+      return true;
+    }
+    if (cc == csvline_reader->separator)
+    {
+      csvline_reader_append_char(csvline_reader,cc);
+      GT_CHECKARRAYSPACE(&csvline_reader->columnoffset,GtUword,1024);
+      csvline_reader->columnoffset.spaceGtUword[csvline_reader->
+                                                columnoffset.nextfreeGtUword++]
+        = csvline_reader->line.nextfreechar;
+    } else
+    {
+      if (csvline_reader->empty && !isspace(cc))
+      {
+        csvline_reader->empty = false;
+      }
+      csvline_reader_append_char(csvline_reader,cc);
+    }
+  }
+  return false;
+}
+
+bool gt_csvline_reader_white_space_line(const GtCsvlineReader *csvline_reader)
+{
+  return csvline_reader->empty;
+}
+
+GtCsvcolumn gt_csvline_reader_column(const GtCsvlineReader *csvline_reader,
+                                     GtUword colnum)
+{
+  GtCsvcolumn col;
+
+  gt_assert(csvline_reader != NULL &&
+            !gt_csvline_reader_white_space_line(csvline_reader));
+  if (colnum == 0)
+  {
+    gt_assert(csvline_reader->line.nextfreechar >= 2UL);
+    col.content = csvline_reader->line.spacechar;
+  } else
+  {
+    gt_assert(colnum - 1 < csvline_reader->columnoffset.nextfreeGtUword);
+    col.content = csvline_reader->line.spacechar +
+                  csvline_reader->columnoffset.spaceGtUword[colnum-1];
+  }
+  if (colnum == 0)
+  {
+    col.width = csvline_reader->columnoffset.spaceGtUword[colnum] - 1;
+  } else
+  {
+    if (colnum == csvline_reader->columnoffset.nextfreeGtUword)
+    {
+      col.width = csvline_reader->line.nextfreechar -
+                  csvline_reader->columnoffset.spaceGtUword[colnum-1] - 1;
+    } else
+    {
+      col.width = csvline_reader->columnoffset.spaceGtUword[colnum] -
+                  csvline_reader->columnoffset.spaceGtUword[colnum-1] - 1;
+    }
+  }
+  return col;
+}
+
+void gt_csvline_reader_check(const GtCsvlineReader *csvline_reader)
+{
+  GtUword idx, bfdist[UCHAR_MAX+1] = {0};
+
+  for (idx = 0; idx < csvline_reader->line.nextfreechar; idx++)
+  {
+    bfdist[(int) csvline_reader->line.spacechar[idx]]++;
+  }
+  for (idx = 0; idx <= UCHAR_MAX; idx++)
+  {
+    if (bfdist[idx] != csvline_reader->dist.charcount[idx])
+    {
+      fprintf(stderr,"%s\nidx=" GT_WU ",bfdist=" GT_WU " != "
+                                                 GT_WU " = chardist\n",
+                csvline_reader->line.spacechar,idx,bfdist[idx],
+                csvline_reader->dist.charcount[idx]);
+      exit(GT_EXIT_PROGRAMMING_ERROR);
+    }
+  }
+}
+
+GtUword gt_csvline_reader_column_number(const GtCsvlineReader *csvline_reader)
+{
+  if (gt_csvline_reader_white_space_line(csvline_reader))
+  {
+    return 0;
+  }
+  return csvline_reader->columnoffset.nextfreeGtUword + 1;
+}
+
+void gt_csvline_reader_dist_only_for_column(GtCsvlineReader *csvline_reader,
+                                            GtUword colnum)
+{
+  GtUword idx, write_idx,
+          numofcols = gt_csvline_reader_column_number(csvline_reader);
+
+  gt_assert(numofcols > 0 && colnum < numofcols &&
+            csvline_reader->dist.charcount[(int) csvline_reader->separator]
+            == numofcols - 1);
+  csvline_reader->dist.charcount[(int) csvline_reader->separator] = 0;
+  gt_assert(csvline_reader->dist.charcount[(int) '\0'] == 1);
+  csvline_reader->dist.charcount[(int) '\0'] = 0;
+  for (idx = 0; idx < numofcols; idx++)
+  {
+    if (idx != colnum)
+    {
+      GtCsvcolumn col = gt_csvline_reader_column(csvline_reader,idx);
+      GtUword j;
+
+      for (j = 0; j < col.width; j++)
+      {
+        char currentcc = col.content[j];
+        gt_assert(csvline_reader->dist.charcount[(int) currentcc] > 0);
+        csvline_reader->dist.charcount[(int) currentcc]--;
+      }
+    }
+  }
+  for (idx = 0, write_idx = 0;
+       idx < csvline_reader->dist.alphabet.nextfreechar; idx++)
+  {
+    char currentcc = csvline_reader->dist.alphabet.spacechar[idx];
+    if (csvline_reader->dist.charcount[(int) currentcc] > 0)
+    {
+      if (write_idx < idx)
+      {
+        csvline_reader->dist.alphabet.spacechar[write_idx] = currentcc;
+      }
+      write_idx++;
+    }
+  }
+  csvline_reader->dist.alphabet.nextfreechar = write_idx;
+}
+
+void gt_csvline_reader_dist_check(const GtCsvlineReader *csvline_reader,
+                                  const char *string,GtUword len)
+{
+  GtUword idx, numchars = 0, dist_tab[UCHAR_MAX+1] = {0};
+
+  for (idx = 0; idx < len; idx++)
+  {
+    dist_tab[(int) string[idx]]++;
+  }
+  for (idx = 0; idx <= UCHAR_MAX; idx++)
+  {
+    gt_assert(dist_tab[idx] == csvline_reader->dist.charcount[idx]);
+    if (csvline_reader->dist.charcount[idx] > 0)
+    {
+      numchars++;
+    }
+  }
+#ifndef NDEBUG
+  gt_assert(numchars == csvline_reader->dist.alphabet.nextfreechar);
+  for (idx = 0; idx < numchars; idx++)
+  {
+    char cc = csvline_reader->dist.alphabet.spacechar[idx];
+    gt_assert(csvline_reader->dist.charcount[(int) cc] > 0);
+  }
+#endif
+}
+
+void gt_csvline_reader_dist_show(const GtCsvlineReader *csvline_reader)
+{
+  GtUword idx;
+
+  for (idx = 0; idx < csvline_reader->dist.alphabet.nextfreechar; idx++)
+  {
+    char cc = csvline_reader->dist.alphabet.spacechar[idx];
+    printf("%c/" GT_WU,cc,csvline_reader->dist.charcount[(int) cc]);
+    if (idx + 1 < csvline_reader->dist.alphabet.nextfreechar)
+    {
+      printf("%c",csvline_reader->separator);
+    } else
+    {
+      printf("\n");
+    }
+  }
+}
+
+void gt_csvline_reader_dist_accumulate(GtUword *charcount,
+                                       GT_UNUSED GtUword max_character,
+                                       const GtCsvlineReader *csvline_reader)
+{
+  GtUword idx;
+
+  for (idx = 0; idx < csvline_reader->dist.alphabet.nextfreechar; idx++)
+  {
+    char cc = csvline_reader->dist.alphabet.spacechar[idx];
+    gt_assert(cc <= max_character);
+    charcount[(int) cc] += csvline_reader->dist.charcount[(int) cc];
+  }
+}
diff --git a/src/core/csvline_reader.h b/src/core/csvline_reader.h
new file mode 100644
index 0000000..f452ede
--- /dev/null
+++ b/src/core/csvline_reader.h
@@ -0,0 +1,85 @@
+/*
+  Copyright (c) 2016 Stefan Kurtz <kurtz at zbh.uni-hamburg.de>
+  Copyright (c) 2016 Center for Bioinformatics, University of Hamburg
+
+  Permission to use, copy, modify, and distribute this software for any
+  purpose with or without fee is hereby granted, provided that the above
+  copyright notice and this permission notice appear in all copies.
+
+  THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+  WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+  MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+  ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+  WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+  ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+  OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+*/
+
+#ifndef CSVLINE_READER_H
+#define CSVLINE_READER_H
+#include <stdbool.h>
+#include "core/types_api.h"
+#include "core/unused_api.h"
+
+/* Objects of the <GtCsvlineReader> represents the machinery to
+   read files consisting of columns separated by a single separator
+   character, aka comma separated values.
+   The object does not save the lines, but uses the same
+   internal structures for each line. So the user is responsible to
+   save the contents appropriately. A <GtCsvlineReader>-reader reads each
+   character of a line exactly once and maintains the character
+   distribution for the entire line. */
+typedef struct GtCsvlineReader GtCsvlineReader;
+/* returns an empty reader. We do not pass a file pointer here
+   since we want to be able to read different files one after the
+   other, so that only the next-method gets the file pointer. */
+GtCsvlineReader *gt_csvline_reader_new(void);
+/* delete the reader */
+void gt_csvline_reader_delete(GtCsvlineReader *csvline_reader);
+/* clear the internal state, i.e. everything is set as if nothing was
+   read yet. */
+void gt_csvline_reader_clear(GtCsvlineReader *csvline_reader);
+/* try to read the next line via the <FILE>-pointer <inputfp> and use the
+   <separator> to separate the columns. Return <true> on success
+   and store the line in <csvline_reader>. If there is no more
+   line left, return <false>. */
+bool gt_csvline_reader_next(GtCsvlineReader *csvline_reader,
+                            FILE *inputfp,char separator);
+/* Each column of a line is represented by the following struct.
+   The content of the return column is NOT a \0-terminated string. */
+typedef struct
+{
+  const char *content; /* content of the column */
+  GtUword width;       /* number of character column consists of */
+} GtCsvcolumn;
+
+/* Return the number of columns of the current line read by
+   <csvline_reader>. */
+GtUword gt_csvline_reader_column_number(const GtCsvlineReader *csvline_reader);
+/* Return the column with the given number <colnum>. Columns are counted
+   from 0. A <colnum> not in the proper range leads to a failed assertion. */
+GtCsvcolumn gt_csvline_reader_column(const GtCsvlineReader *csvline_reader,
+                                     GtUword colnum);
+/* Return <true> iff the current line only contains white spaces. */
+bool gt_csvline_reader_white_space_line(const GtCsvlineReader *csvline_reader);
+/* While the <GtCsvlineReader>-reader maintains the distribution of the
+   characters for the entire line, it is often required to obtain the
+   character distribution for a single column, whose number is not known
+   when reading the line. In such a situation the following method can
+   be used. It subtracts the contribution of the characters in all columns
+   except for the column number <colnum>, from the character distribution.
+   In this way, the remaining distribution is the one for the
+   specified column. The original distribution is not saved.
+   This method is efficient for cases where the
+   chosen column is much longer than all the other columns of the line. */
+void gt_csvline_reader_dist_only_for_column(GtCsvlineReader *csvline_reader,
+                                            GtUword colnum);
+/* We currently only provide a single method to access the character
+   distribution. The following method adds the character distribution
+   of the current line the to array pointed to by <charcount>. This must
+   be an array one longer than the <max_character> parameter.
+   So <UCHAR_MAX+1> is an appropriate size of the array. */
+void gt_csvline_reader_dist_accumulate(GtUword *charcount,
+                                       GT_UNUSED GtUword max_character,
+                                       const GtCsvlineReader *csvline_reader);
+#endif
diff --git a/src/core/encseq.c b/src/core/encseq.c
index 514d5a8..b3bbe50 100644
--- a/src/core/encseq.c
+++ b/src/core/encseq.c
@@ -710,9 +710,9 @@ bool gt_encseq_contains_special(const GtEncseq *encseq,
 static void showGtRange(const GtRange *range)
 {
   if (range->start + 1 == range->end)
-    printf(""GT_WU"", range->start);
+    printf(GT_WU, range->start);
   else
-    printf(""GT_WU", "GT_WU"", range->start, range->end);
+    printf(GT_WU ", " GT_WU, range->start, range->end);
 }
 #endif
 
@@ -1946,7 +1946,7 @@ void gt_encseq_delete(GtEncseq *encseq)
   if (encseq->mappedptr != NULL) {
     if (encseq->bitpackarray != NULL) {
       /* store points to some subarea of the region mapped by mappedptr:
-         therefor we have to set it to NULL to prevent that it is freed */
+         therefore we have to set it to NULL to prevent that it is freed */
       BITPACKARRAYSTOREVAR(encseq->bitpackarray) = NULL;
       bitpackarray_delete(encseq->bitpackarray);
       encseq->bitpackarray = NULL;
@@ -2128,7 +2128,7 @@ static void showallSWtablewithpages(GtEncseqAccessType sat,
   }
 }
 
-static void showallSWtables(const GtEncseq *encseq)
+void showallSWtables(const GtEncseq *encseq)
 {
   if (encseq->accesstype_via_utables) {
     if (encseq->has_wildcardranges) {
@@ -3194,6 +3194,44 @@ static GtUword gt_encseq_seqstartpos_viautables(const GtEncseq *encseq,
   }
 }
 
+GtUword *gt_all_sequence_separators_get(const GtEncseq *encseq)
+{
+  switch (encseq->satsep) {
+    case GT_ACCESS_TYPE_UCHARTABLES:
+      return gt_all_ssps_get_uchar(&encseq->ssptab.st_uchar);
+    case GT_ACCESS_TYPE_USHORTTABLES:
+      return gt_all_ssps_get_uint16(&encseq->ssptab.st_uint16);
+    case GT_ACCESS_TYPE_UINT32TABLES:
+      return gt_all_ssps_get_uint32(&encseq->ssptab.st_uint32);
+    default: return NULL; /* which means that all sequences are of the
+                             same length */
+  }
+}
+
+GtUword *gt_all_sequence_lengths_get(const GtEncseq *encseq)
+{
+  GtUword idx, previousstart = 0,
+          *ssptab = gt_all_sequence_separators_get(encseq);
+  const GtUword numofsequences = gt_encseq_num_of_sequences(encseq),
+                totallength = gt_encseq_total_length(encseq);;
+
+  if (ssptab == NULL)
+  {
+    return NULL; /* all sequences are of the same length */
+  }
+  gt_assert(numofsequences > 0);
+  for (idx = 0; idx < numofsequences - 1; idx++)
+  {
+    GtUword nextsep = ssptab[idx];
+    gt_assert(previousstart < nextsep);
+    ssptab[idx] = nextsep - previousstart;
+    previousstart = nextsep + 1;
+  }
+  gt_assert(previousstart < totallength);
+  ssptab[idx] = totallength - previousstart;
+  return ssptab;
+}
+
 static bool containsSWViatables(const GtEncseq *encseq,
                                 GtEncseqReader *esr,
                                 GtUword startpos,
@@ -5061,7 +5099,7 @@ static void updatesumranges(GtUword key, GtUint64 value,
      += currentspecialrangevalue(key, distvalue, (GtUword) UINT32_MAX);
   updatesumrangeinfo->realranges += distvalue;
   gt_logger_log(updatesumrangeinfo->logger,
-                "%sranges of length "GT_WU"="GT_WU"",
+                "%sranges of length " GT_WU "=" GT_WU,
                 updatesumrangeinfo->kind, key, distvalue);
 }
 
@@ -5488,7 +5526,7 @@ static int gt_inputfiles2sequencekeyvalues(const char *indexname,
 #if !(defined (_LP64) || defined (_WIN64))
 #define MAXSFXLENFOR32BIT 4294000000UL
       if (currentpos > MAXSFXLENFOR32BIT) {
-        gt_error_set(err, "input sequence must not be longer than "GT_WU"",
+        gt_error_set(err, "input sequence must not be longer than " GT_WU,
                      MAXSFXLENFOR32BIT);
         haserr = true;
         break;
@@ -7105,7 +7143,7 @@ static void checkextractunitatpos(const GtEncseq *encseq,
                                                twobitencodingstoppos);
     extract2bitenc_bruteforce(fwd, &ptbe2, encseq, startpos);
     if (ptbe1.unitsnotspecial != ptbe2.unitsnotspecial) {
-      fprintf(stderr, "fwd=%s, complement=%s: pos "GT_WU""
+      fprintf(stderr, "fwd=%s, complement=%s: pos " GT_WU
                      ": fast.unitsnotspecial = %u "
                      " != %u = brute.unitsnotspecial\n",
               fwd ? "true" : "false",
@@ -7157,7 +7195,7 @@ static void checkextractspecialbits(const GtEncseq *encseq, bool fwd)
         char buffer[GT_INTWORDSIZE+1];
 
         gt_bitsequence_tostring(buffer, spbits2);
-        fprintf(stderr, "%sextractspecialbits at startpos "GT_WU""
+        fprintf(stderr, "%sextractspecialbits at startpos " GT_WU
                        " (unitsnotspecial=%u)\n correct=%s!=\n",
                        fwd ? "fwd" : "rev",
                        startpos, unitsnotspecial, buffer);
@@ -7287,7 +7325,7 @@ static void showcharacterdistribution(const GtEncseq *encseq, GtLogger *logger)
   numofchars = gt_alphabet_num_of_chars(encseq->alpha);
   gt_assert(encseq->headerptr.characterdistribution != NULL);
   for (idx=0; idx<numofchars; idx++) {
-    gt_logger_log(logger, "occurrences(%c)="GT_WU"",
+    gt_logger_log(logger, "occurrences(%c)=" GT_WU,
                          (int) gt_alphabet_pretty_symbol(encseq->alpha, idx),
                          gt_encseq_charcount(encseq, (GtUchar) idx));
   }
@@ -7309,21 +7347,21 @@ void gt_encseq_show_features(const GtEncseq *encseq,
                                        effectivelength));
     }
   }
-  gt_logger_log(logger, "totallength="GT_WU"",
+  gt_logger_log(logger, "totallength=" GT_WU,
                        gt_encseq_total_length(encseq));
-  gt_logger_log(logger, "numofsequences="GT_WU"",
+  gt_logger_log(logger, "numofsequences=" GT_WU,
                        encseq->logicalnumofdbsequences);
-  gt_logger_log(logger, "specialcharacters="GT_WU"",
+  gt_logger_log(logger, "specialcharacters=" GT_WU,
                        gt_encseq_specialcharacters(encseq));
-  gt_logger_log(logger, "specialranges="GT_WU"",
+  gt_logger_log(logger, "specialranges=" GT_WU,
                        gt_encseq_specialranges(encseq));
-  gt_logger_log(logger, "realspecialranges="GT_WU"",
+  gt_logger_log(logger, "realspecialranges=" GT_WU,
                        gt_encseq_realspecialranges(encseq));
-  gt_logger_log(logger, "wildcards="GT_WU"",
+  gt_logger_log(logger, "wildcards=" GT_WU,
                        gt_encseq_wildcards(encseq));
-  gt_logger_log(logger, "wildcardranges="GT_WU"",
+  gt_logger_log(logger, "wildcardranges=" GT_WU,
                        gt_encseq_wildcardranges(encseq));
-  gt_logger_log(logger, "realwildcardranges="GT_WU"",
+  gt_logger_log(logger, "realwildcardranges=" GT_WU,
                        gt_encseq_realwildcardranges(encseq));
 
   gt_assert(encseq->headerptr.characterdistribution != NULL);
@@ -7716,8 +7754,8 @@ static void runscanatpostrial(const GtEncseq *encseq,
     ccra = gt_encseq_get_encoded_char(encseq, pos, readmode);
     ccsr = gt_encseq_reader_next_encoded_char(esr);
     if (ccra != ccsr) {
-      fprintf(stderr, "startpos = "GT_WU""
-                     " access=%s, mode=%s: position="GT_WU""
+      fprintf(stderr, "startpos = " GT_WU
+                     " access=%s, mode=%s: position="GT_WU
                      ": random access (correct) = %u != %u = "
                      " sequential read (wrong)\n",
                      startpos,
@@ -7844,7 +7882,7 @@ static int testfullscan(const GtStrArray *filenametab,
       ccra = gt_encseq_get_encoded_char(encseq, pos, readmode);
       if (filenametab != NULL && readmode == GT_READMODE_FORWARD) {
         if (ccscan != ccra) {
-          gt_error_set(err, "access=%s, position="GT_WU""
+          gt_error_set(err, "access=%s, position=" GT_WU
                             ": scan (readnextchar) = %u != "
                             "%u = random access",
                             gt_encseq_accessname(encseq),
@@ -7857,7 +7895,7 @@ static int testfullscan(const GtStrArray *filenametab,
       }
       ccsr = gt_encseq_reader_next_encoded_char(esr);
       if (ccra != ccsr) {
-        gt_error_set(err, "access=%s, mode=%s: position="GT_WU""
+        gt_error_set(err, "access=%s, mode=%s: position="GT_WU
                           ": random access = %u != %u = sequential read",
                           gt_encseq_accessname(encseq),
                           gt_readmode_show(readmode),
@@ -7873,7 +7911,7 @@ static int testfullscan(const GtStrArray *filenametab,
   }
   if (!haserr) {
     if (pos != totallength) {
-      gt_error_set(err, "sequence length must be "GT_WU" but is "GT_WU"",
+      gt_error_set(err, "sequence length must be "GT_WU" but is " GT_WU,
                        totallength, pos);
       haserr = true;
     }
@@ -7896,14 +7934,14 @@ int gt_encseq_check_minmax(const GtEncseq *encseq, GtError *err)
   for (i = 0UL; !had_err && i < gt_encseq_num_of_sequences(encseq); i++) {
     if (min > gt_encseq_seqlength(encseq, i)) {
       gt_error_set(err, "sequence "GT_WU" has length "GT_WU", but "
-                        "indexed minimum is "
-                        ""GT_WU"", i, gt_encseq_seqlength(encseq, i), min);
+                        "indexed minimum is " GT_WU, i,
+                        gt_encseq_seqlength(encseq, i), min);
       had_err = -1;
     }
     if (!had_err && max < gt_encseq_seqlength(encseq, i)) {
       gt_error_set(err, "sequence "GT_WU" has length "GT_WU", but "
-                        "indexed maximum is "
-                        ""GT_WU"", i, gt_encseq_seqlength(encseq, i), max);
+                        "indexed maximum is " GT_WU, i,
+                        gt_encseq_seqlength(encseq, i), max);
       had_err = -1;
     }
   }
diff --git a/src/core/encseq.h b/src/core/encseq.h
index e4d6b47..e7c1c94 100644
--- a/src/core/encseq.h
+++ b/src/core/encseq.h
@@ -518,13 +518,30 @@ GtUword gt_encseq_equallength(const GtEncseq *encseq);
    given <encseq>. */
 GtMD5Tab*  gt_encseq_get_md5_tab(const GtEncseq *encseq, GtError *err);
 
-/* for a given array of at least one separator positions */
+/* for a given array of at least one separator positions, store the
+   ssptab in the file indexname.ssp */
 int gt_encseq_seppos2ssptab(const char *indexname,
                             GtUword totallength,
                             GtUword numofdbsequences,
                             const GtUword *seppostab,
                             GtError *err);
 
+/* for a given <Gtencseq>-object whicht represents sequences not all
+   of the same length, return an array of all separator positions.
+   If all sequences are of the same length, then return <NULL>. This
+   last case holds, for example, if the <GtEncseq>-object holds only
+   one sequence. */
+
+GtUword *gt_all_sequence_separators_get(const GtEncseq *encseq);
+
+/* for a given <Gtencseq>-object whicht represents sequences not all
+   of the same length, return an array of all sequences lengths.
+   If all sequences are of the same length, then return <NULL>. This
+   last case holds, for example, if the <GtEncseq>-object holds only
+   one sequence. */
+
+GtUword *gt_all_sequence_lengths_get(const GtEncseq *encseq);
+
 /* The following functions are for testing */
 
 #ifndef NDEBUG
diff --git a/src/core/fptr_api.h b/src/core/fptr_api.h
index 35005cd..0c5180f 100644
--- a/src/core/fptr_api.h
+++ b/src/core/fptr_api.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (c) 2006-2008 Gordon Gremme <gremme@@zbh.uni-hamburg.de>
+  Copyright (c) 2006-2008 Gordon Gremme <gremme at zbh.uni-hamburg.de>
   Copyright (c) 2006-2008 Center for Bioinformatics, University of Hamburg
 
   Permission to use, copy, modify, and distribute this software for any
diff --git a/src/core/gtdatapath.c b/src/core/gtdatapath.c
index f28402f..ef33daa 100644
--- a/src/core/gtdatapath.c
+++ b/src/core/gtdatapath.c
@@ -20,6 +20,7 @@
 #include "core/compat.h"
 #include "core/fileutils.h"
 #include "core/gtdatapath.h"
+#include "core/log_api.h"
 
 #ifndef _WIN32
 #define GTDATADIR "/gtdata"
@@ -35,10 +36,14 @@ static const char* GTDATA_DEFAULT_PATHS[]
       "/usr/local/share/genometools" GTDATADIR,
       NULL };
 
+static const char* GTDATA_RELATIVE_SEARCH_PATHS[]
+  = { UPDIR "/share/genometools" GTDATADIR,
+      NULL };
+
 GtStr* gt_get_gtdata_path(const char *prog, GtError *err)
 {
   GtStr *path;
-  const char **defaultpath;
+  const char **defaultpath, **spath;
   int had_err = 0;
   gt_error_check(err);
   gt_assert(prog);
@@ -55,6 +60,14 @@ GtStr* gt_get_gtdata_path(const char *prog, GtError *err)
       if (gt_file_exists_and_is_dir(gt_str_get(path)))
         return path;
     }
+    for (spath = GTDATA_RELATIVE_SEARCH_PATHS; *spath; spath++) {
+      had_err = gt_file_find_exec_in_path(path, prog, err);
+      if (!had_err) {
+        gt_str_append_cstr(path, *spath);
+        if (gt_file_exists_and_is_dir(gt_str_get(path)))
+          return path;
+      }
+    }
     for (defaultpath = GTDATA_DEFAULT_PATHS; *defaultpath; defaultpath++) {
       gt_str_reset(path);
       gt_str_append_cstr(path, *defaultpath);
diff --git a/src/core/mail_address.h b/src/core/mail_address.h
index 8923fd0..c1f746d 100644
--- a/src/core/mail_address.h
+++ b/src/core/mail_address.h
@@ -18,6 +18,6 @@
 #ifndef MAIL_ADDRESS_H
 #define MAIL_ADDRESS_H
 
-#define GT_MAIL_ADDRESS "<gt-users at genometools.org>"
+#define GT_MAIL_ADDRESS "https://github.com/genometools/genometools/issues"
 
 #endif
diff --git a/src/core/radix_sort.c b/src/core/radix_sort.c
index d03fd01..e3a22d3 100644
--- a/src/core/radix_sort.c
+++ b/src/core/radix_sort.c
@@ -50,6 +50,7 @@
 #include <stdint.h>
 #include <string.h>
 #include <limits.h>
+#include "core/unused_api.h"
 #include "core/array2dim_api.h"
 #include "core/assert_api.h"
 #include "core/divmodmul.h"
@@ -234,6 +235,7 @@ typedef union
   GtUword *ulongptr;
   GtUwordPair *ulongpairptr;
   Gtuint64keyPair *uint64keypairptr;
+  uint8_t *flbaptr; /* fixed length byte array */
 } GtRadixvalues;
 
 typedef struct
@@ -254,80 +256,106 @@ typedef struct
   int log_bufsize;
   GtRadixelemtype elemtype;
   GtRadixvalues values;
-  size_t size;
+  size_t size, unitsize;
+  uint8_t *tmpvalue_ptr, *tmpswap_ptr;
 } GtRadixbuffer;
 
 static GtRadixbuffer *gt_radixbuffer_new(GtRadixelemtype elemtype)
 {
-  GtRadixbuffer *buf;
-
-  buf = gt_malloc(sizeof *buf);
-  buf->size = sizeof *buf;
-  buf->log_bufsize = 5;
-  buf->buf_size = 1UL << buf->log_bufsize;
-  gt_assert(buf->buf_size <= UINT8_MAX);
-  buf->cachesize = (UINT8_MAX+1) << buf->log_bufsize;
-  buf->elemtype = elemtype;
+  GtRadixbuffer *rbuf;
+  size_t thissize;
+
+  rbuf = gt_malloc(sizeof *rbuf);
+  rbuf->size = sizeof *rbuf;
+  rbuf->log_bufsize = 5;
+  rbuf->buf_size = 1UL << rbuf->log_bufsize;
+  gt_assert(rbuf->buf_size <= UINT8_MAX);
+  rbuf->cachesize = (UINT8_MAX+1) << rbuf->log_bufsize;
+  rbuf->elemtype = elemtype;
+  if (elemtype <= GtRadixelemtypeGtuint64keyPair)
+  {
+    rbuf->unitsize = 0;
+  } else
+  {
+    rbuf->unitsize = (size_t) elemtype -
+                     (size_t) GtRadixelemtypeGtuint64keyPair;
+  }
+  rbuf->tmpvalue_ptr = rbuf->tmpswap_ptr = NULL;
   if (elemtype == GtRadixelemtypeGtUwordPair)
   {
-    buf->values.ulongpairptr = gt_malloc(sizeof *buf->values.ulongpairptr *
-                                         buf->cachesize);
-    buf->size += sizeof (*buf->values.ulongpairptr) * buf->cachesize;
+    thissize = sizeof (*rbuf->values.ulongpairptr) * rbuf->cachesize;
+    rbuf->values.ulongpairptr = gt_malloc(thissize);
   } else
   {
     if (elemtype == GtRadixelemtypeGtUword)
     {
-      buf->values.ulongptr = gt_malloc(sizeof *buf->values.ulongptr *
-                                       buf->cachesize);
-      buf->size += sizeof *buf->values.ulongptr * buf->cachesize;
+      thissize = sizeof *rbuf->values.ulongptr * rbuf->cachesize;
+      rbuf->values.ulongptr = gt_malloc(thissize);
     } else
     {
-      buf->values.uint64keypairptr
-        = gt_malloc(sizeof *buf->values.uint64keypairptr *
-                                          buf->cachesize);
-      buf->size += sizeof *buf->values.uint64keypairptr *
-                   buf->cachesize;
+      if (elemtype == GtRadixelemtypeGtuint64keyPair)
+      {
+        thissize = sizeof *rbuf->values.uint64keypairptr * rbuf->cachesize;
+        rbuf->values.uint64keypairptr = gt_malloc(thissize);
+      } else
+      {
+        rbuf->tmpvalue_ptr = gt_malloc(rbuf->unitsize);
+        rbuf->tmpswap_ptr = gt_malloc(rbuf->unitsize);
+        thissize = sizeof *rbuf->values.flbaptr * rbuf->unitsize *
+                   rbuf->cachesize;
+        rbuf->values.flbaptr = gt_malloc(thissize);
+        thissize += 2 * rbuf->unitsize;
+      }
     }
   }
-  buf->startofbin = gt_malloc(sizeof *buf->startofbin * (UINT8_MAX + 2));
-  buf->size += sizeof *buf->startofbin * (UINT8_MAX + 2);
-  buf->endofbin = gt_malloc(sizeof *buf->endofbin * (UINT8_MAX + 1));
-  buf->size += sizeof *buf->endofbin * (UINT8_MAX + 1);
-  buf->nextidx = gt_malloc(sizeof *buf->nextidx * (UINT8_MAX + 1));
-  buf->size += sizeof *buf->nextidx * (UINT8_MAX + 1);
-  buf->countcached = buf->countuncached = buf->countinsertionsort = 0;
-  return buf;
+  rbuf->size += thissize;
+  rbuf->startofbin = gt_malloc(sizeof *rbuf->startofbin * (UINT8_MAX + 2));
+  rbuf->size += sizeof *rbuf->startofbin * (UINT8_MAX + 2);
+  rbuf->endofbin = gt_malloc(sizeof *rbuf->endofbin * (UINT8_MAX + 1));
+  rbuf->size += sizeof *rbuf->endofbin * (UINT8_MAX + 1);
+  rbuf->nextidx = gt_malloc(sizeof *rbuf->nextidx * (UINT8_MAX + 1));
+  rbuf->size += sizeof *rbuf->nextidx * (UINT8_MAX + 1);
+  rbuf->countcached = rbuf->countuncached = rbuf->countinsertionsort = 0;
+  return rbuf;
 }
 
-static size_t gt_radixbuffer_size(const GtRadixbuffer *buf)
+static size_t gt_radixbuffer_size(const GtRadixbuffer *rbuf)
 {
-  return buf->size;
+  return rbuf->size;
 }
 
-static void gt_radixbuffer_delete(GtRadixbuffer *buf)
+static void gt_radixbuffer_delete(GtRadixbuffer *rbuf)
 {
-  gt_assert(buf != NULL);
-  if (buf->elemtype == GtRadixelemtypeGtUwordPair)
+  gt_assert(rbuf != NULL);
+  if (rbuf->elemtype == GtRadixelemtypeGtUwordPair)
   {
-    gt_free(buf->values.ulongpairptr);
+    gt_free(rbuf->values.ulongpairptr);
   } else
   {
-    if (buf->elemtype == GtRadixelemtypeGtUword)
+    if (rbuf->elemtype == GtRadixelemtypeGtUword)
     {
-      gt_free(buf->values.ulongptr);
+      gt_free(rbuf->values.ulongptr);
     } else
     {
-      gt_free(buf->values.uint64keypairptr);
+      if (rbuf->elemtype == GtRadixelemtypeGtuint64keyPair)
+      {
+        gt_free(rbuf->values.uint64keypairptr);
+      } else
+      {
+        gt_free(rbuf->tmpvalue_ptr);
+        gt_free(rbuf->tmpswap_ptr);
+        gt_free(rbuf->values.flbaptr);
+      }
     }
   }
-  gt_free(buf->nextidx);
-  gt_free(buf->startofbin);
-  gt_free(buf->endofbin);
-  gt_free(buf);
+  gt_free(rbuf->nextidx);
+  gt_free(rbuf->startofbin);
+  gt_free(rbuf->endofbin);
+  gt_free(rbuf);
 }
 
-static bool gt_radixsort_compare_smaller(const Gtuint64keyPair *ptr1,
-                                         const Gtuint64keyPair *ptr2)
+static bool gt_radixsort_uint64keypair_smaller(const Gtuint64keyPair *ptr1,
+                                               const Gtuint64keyPair *ptr2)
 {
   return (ptr1->uint64_a < ptr2->uint64_a ||
          (ptr1->uint64_a == ptr2->uint64_a && ptr1->uint64_b < ptr2->uint64_b))
@@ -337,6 +365,7 @@ static bool gt_radixsort_compare_smaller(const Gtuint64keyPair *ptr1,
 #include "core/radixsort-ip-ulong.inc"
 #include "core/radixsort-ip-ulongpair.inc"
 #include "core/radixsort-ip-uint64keypair.inc"
+#include "core/radixsort-ip-flba.inc"
 
 #ifdef GT_THREADS_ENABLED
 typedef struct
@@ -359,8 +388,14 @@ static void *gt_radixsort_thread_caller(void *data)
       gt_radixsort_ulong_sub_inplace(threadinfo->rbuf,&threadinfo->stack);
     } else
     {
-      gt_radixsort_uint64keypair_sub_inplace(threadinfo->rbuf,
-                                             &threadinfo->stack);
+      if (threadinfo->rbuf->elemtype == GtRadixelemtypeGtuint64keyPair)
+      {
+        gt_radixsort_uint64keypair_sub_inplace(threadinfo->rbuf,
+                                               &threadinfo->stack);
+      } else
+      {
+        gt_radixsort_flba_sub_inplace(threadinfo->rbuf,&threadinfo->stack);
+      }
     }
   }
   return NULL;
@@ -395,29 +430,33 @@ static GtRadixsortinfo *gt_radixsort_new(GtRadixelemtype elemtype,
   radixsortinfo->maxlen = maxlen;
   if (maxlen > 0)
   {
+    size_t thissize;
+
     if (elemtype == GtRadixelemtypeGtUwordPair)
     {
-      radixsortinfo->sortspace.ulongpairptr
-        = gt_malloc(sizeof *radixsortinfo->sortspace.ulongpairptr * maxlen);
-     radixsortinfo->size += sizeof *radixsortinfo->sortspace.ulongpairptr
-                            * maxlen;
+      thissize = sizeof *radixsortinfo->sortspace.ulongpairptr * maxlen;
+      radixsortinfo->sortspace.ulongpairptr = gt_malloc(thissize);
     } else
     {
       if (elemtype == GtRadixelemtypeGtUword)
       {
-        radixsortinfo->sortspace.ulongptr
-          = gt_malloc(sizeof *radixsortinfo->sortspace.ulongptr * maxlen);
-        radixsortinfo->size += sizeof *radixsortinfo->sortspace.ulongptr
-                               * maxlen;
+        thissize = sizeof *radixsortinfo->sortspace.ulongptr * maxlen;
+        radixsortinfo->sortspace.ulongptr = gt_malloc(thissize);
       } else
       {
-        radixsortinfo->sortspace.uint64keypairptr
-          = gt_malloc(sizeof *radixsortinfo->sortspace.uint64keypairptr
-                      * maxlen);
-        radixsortinfo->size
-          += sizeof *radixsortinfo->sortspace.uint64keypairptr * maxlen;
+        if (elemtype == GtRadixelemtypeGtuint64keyPair)
+        {
+          thissize = sizeof *radixsortinfo->sortspace.uint64keypairptr * maxlen;
+          radixsortinfo->sortspace.uint64keypairptr = gt_malloc(thissize);
+        } else
+        {
+          thissize = sizeof *radixsortinfo->sortspace.flbaptr *
+                     radixsortinfo->rbuf->unitsize * maxlen;
+          radixsortinfo->sortspace.flbaptr = gt_malloc(thissize);
+        }
       }
     }
+    radixsortinfo->size += thissize;
   }
   GT_STACK_INIT(&radixsortinfo->stack,32UL);
   radixsortinfo->size += sizeof radixsortinfo->stack;
@@ -466,6 +505,12 @@ GtRadixsortinfo *gt_radixsort_new_uint64keypair(GtUword maxlen)
   return gt_radixsort_new(GtRadixelemtypeGtuint64keyPair,maxlen);
 }
 
+GtRadixsortinfo *gt_radixsort_new_flba(GtUword maxlen,size_t unitsize)
+{
+  gt_assert(unitsize > 0);
+  return gt_radixsort_new(GtRadixelemtypeGtuint64keyPair + unitsize,maxlen);
+}
+
 size_t gt_radixsort_size(const GtRadixsortinfo *radixsortinfo)
 {
   return radixsortinfo->size;
@@ -503,7 +548,13 @@ void gt_radixsort_delete(GtRadixsortinfo *radixsortinfo)
           gt_free(radixsortinfo->sortspace.ulongptr);
         } else
         {
-          gt_free(radixsortinfo->sortspace.uint64keypairptr);
+          if (radixsortinfo->elemtype == GtRadixelemtypeGtuint64keyPair)
+          {
+            gt_free(radixsortinfo->sortspace.uint64keypairptr);
+          } else
+          {
+            gt_free(radixsortinfo->sortspace.flbaptr);
+          }
         }
       }
     }
@@ -528,12 +579,19 @@ GtUword gt_radixsort_max_num_of_entries_uint64keypair(size_t memlimit)
   return (GtUword) memlimit/sizeof(Gtuint64keyPair);
 }
 
+GtUword gt_radixsort_max_num_of_entries_flba(size_t memlimit,size_t unitsize)
+{
+  gt_assert(unitsize > 0);
+  return (GtUword) memlimit/(sizeof(uint8_t) * unitsize);
+}
+
 static void gt_radixsort_inplace(GtRadixsortinfo *radixsortinfo,
                                  GtRadixvalues *radixvalues,
                                  GtUword len)
 {
   const size_t shift = (sizeof (GtUword) - 1) * CHAR_BIT;
   const size_t doubleshift = (2 * sizeof (GtUword) - 1) * CHAR_BIT;
+  const size_t flba_index = 0;
 #ifdef GT_THREADS_ENABLED
   const unsigned int threads = GT_THREADS_JOBS;
 #else
@@ -561,9 +619,17 @@ static void gt_radixsort_inplace(GtRadixsortinfo *radixsortinfo,
                                  (GtCountbasetype) len,shift);
     } else
     {
-      gt_radixsort_uint64keypair_shuffle(radixsortinfo->rbuf,
-                                    radixvalues->uint64keypairptr,
-                                    (GtCountbasetype) len,doubleshift);
+      if (radixsortinfo->elemtype == GtRadixelemtypeGtuint64keyPair)
+      {
+        gt_radixsort_uint64keypair_shuffle(radixsortinfo->rbuf,
+                                           radixvalues->uint64keypairptr,
+                                           (GtCountbasetype) len,doubleshift);
+      } else
+      {
+        gt_radixsort_flba_shuffle(radixsortinfo->rbuf,
+                                  radixvalues->flbaptr,
+                                  (GtCountbasetype) len,flba_index);
+      }
     }
   }
   GT_STACK_MAKEEMPTY(&radixsortinfo->stack);
@@ -582,10 +648,19 @@ static void gt_radixsort_inplace(GtRadixsortinfo *radixsortinfo,
                                      radixvalues->ulongptr,shift);
     } else
     {
-      gt_radixsort_uint64keypair_process_bin(&radixsortinfo->stack,
-                                        radixsortinfo->rbuf,
-                                        radixvalues->uint64keypairptr,
-                                        doubleshift);
+      if (radixsortinfo->elemtype == GtRadixelemtypeGtuint64keyPair)
+      {
+        gt_radixsort_uint64keypair_process_bin(&radixsortinfo->stack,
+                                               radixsortinfo->rbuf,
+                                               radixvalues->uint64keypairptr,
+                                               doubleshift);
+      } else
+      {
+        gt_radixsort_flba_process_bin(&radixsortinfo->stack,
+                                      radixsortinfo->rbuf,
+                                      radixvalues->flbaptr,
+                                      flba_index);
+      }
     }
   }
   if (threads == 1U || radixsortinfo->stack.nextfree < (GtUword) threads)
@@ -602,8 +677,15 @@ static void gt_radixsort_inplace(GtRadixsortinfo *radixsortinfo,
                                        &radixsortinfo->stack);
       } else
       {
-        gt_radixsort_uint64keypair_sub_inplace(radixsortinfo->rbuf,
-                                          &radixsortinfo->stack);
+        if (radixsortinfo->elemtype == GtRadixelemtypeGtuint64keyPair)
+        {
+          gt_radixsort_uint64keypair_sub_inplace(radixsortinfo->rbuf,
+                                                 &radixsortinfo->stack);
+        } else
+        {
+          gt_radixsort_flba_sub_inplace(radixsortinfo->rbuf,
+                                        &radixsortinfo->stack);
+        }
       }
     }
   } else
@@ -676,6 +758,17 @@ void gt_radixsort_inplace_Gtuint64keyPair(Gtuint64keyPair *source,GtUword len)
   gt_radixsort_delete(radixsortinfo);
 }
 
+void gt_radixsort_inplace_flba(uint8_t *source,GtUword len,size_t unitsize)
+{
+  GtRadixvalues radixvalues;
+  GtRadixsortinfo *radixsortinfo;
+
+  radixsortinfo = gt_radixsort_new_flba(0,unitsize);
+  radixvalues.flbaptr = source;
+  gt_radixsort_inplace(radixsortinfo,&radixvalues,len);
+  gt_radixsort_delete(radixsortinfo);
+}
+
 void gt_radixsort_inplace_sort(GtRadixsortinfo *radixsortinfo,GtUword len)
 {
   gt_radixsort_inplace(radixsortinfo,&radixsortinfo->sortspace,len);
@@ -699,3 +792,13 @@ Gtuint64keyPair *gt_radixsort_space_uint64keypair(
   gt_assert(radixsortinfo->elemtype == GtRadixelemtypeGtUwordPair);
   return radixsortinfo->sortspace.uint64keypairptr;
 }
+
+size_t gt_radixsort_bits(GtUword maxvalue)
+{
+  return (size_t) ceil(log2((double) maxvalue));
+}
+
+size_t gt_radixsort_bits2bytes(size_t bits)
+{
+  return bits/CHAR_BIT + ((bits % CHAR_BIT == 0) ? 0 : 1);
+}
diff --git a/src/core/radix_sort.h b/src/core/radix_sort.h
index db387de..b3af27f 100644
--- a/src/core/radix_sort.h
+++ b/src/core/radix_sort.h
@@ -129,4 +129,15 @@ Gtuint64keyPair* gt_radixsort_space_uint64keypair(
 /* Delete a <GtRadixsortinfo> object. */
 void             gt_radixsort_delete(GtRadixsortinfo *radixsortinfo);
 
+/* XXX: to be documented */
+GtUword gt_radixsort_max_num_of_entries_flba(size_t memlimit,size_t unitsize);
+
+void gt_radixsort_inplace_flba(uint8_t *source,GtUword len,size_t unitsize);
+
+size_t gt_radixsort_flba_unitsize(GtUword maxvalue);
+
+size_t gt_radixsort_bits(GtUword maxvalue);
+
+size_t gt_radixsort_bits2bytes(size_t bits);
+
 #endif
diff --git a/src/core/radixsort-ip-flba.inc b/src/core/radixsort-ip-flba.inc
new file mode 100644
index 0000000..a5fe048
--- /dev/null
+++ b/src/core/radixsort-ip-flba.inc
@@ -0,0 +1,364 @@
+static uint8_t *gt_radixsort_flba_bin_get(
+                                            const GtRadixbuffer *rbuf,
+                                            GtUword binnum)
+{
+  return rbuf->values.flbaptr +
+                 ((binnum << rbuf->log_bufsize) +
+                  (GtUword) rbuf->nextidx[binnum]) * rbuf->unitsize;
+}
+static inline void gt_radixsort_flba_bin_update(
+                                    uint8_t *source,
+                                    GtRadixbuffer *rbuf,
+                                    GtUword binnum,
+                                    const uint8_t* value)
+{
+  GtUword binoffset = binnum << rbuf->log_bufsize;
+
+  memcpy(rbuf->values.flbaptr
+ + (binoffset + (GtUword) rbuf->nextidx[binnum]) * rbuf->unitsize,
+value,rbuf->unitsize);
+  if ((GtUword) rbuf->nextidx[binnum] < rbuf->buf_size - 1)
+  {
+    rbuf->nextidx[binnum]++;
+  } else
+  {
+    GtUword j;
+    uint8_t *wsourceptr, *rsourceptr, *rend, *valptr;
+
+    wsourceptr = source +
+                 (rbuf->endofbin[binnum] - (rbuf->buf_size - 1))
+ * rbuf->unitsize;
+    rsourceptr = wsourceptr + rbuf->buf_size * rbuf->unitsize;
+    rend = source + rbuf->startofbin[binnum+1] * rbuf->unitsize;
+    valptr = rbuf->values.flbaptr +
+             binoffset * rbuf->unitsize;
+    for (j=0; j<rbuf->buf_size; j++)
+    {
+      memcpy(wsourceptr,valptr,rbuf->unitsize);
+      wsourceptr += rbuf->unitsize;
+      if (rsourceptr < rend)
+      {
+        memcpy(valptr,rsourceptr,rbuf->unitsize);
+        rsourceptr += rbuf->unitsize;
+      }
+      valptr += rbuf->unitsize;
+    }
+    rbuf->nextidx[binnum] = 0;
+  }
+  rbuf->endofbin[binnum]++;
+}
+
+static void gt_radixsort_flba_cached_shuffle(GtRadixbuffer *rbuf,
+                                              uint8_t *source,
+                                              GtCountbasetype len,
+                                              size_t rightshift)
+{
+  GtUword binoffset, binnum, bufoffset,
+                nextbin, firstnonemptybin = UINT8_MAX+1;
+  GtCountbasetype *count, previouscount, currentidx;
+  uint8_t *sourceptr,
+                           *sourceend = source + len * rbuf->unitsize;
+
+  rbuf->countcached++;
+  count = rbuf->startofbin; /* use same memory for count and startofbin */
+  for (binnum = 0; binnum <= UINT8_MAX; binnum++)
+  {
+    count[binnum] = 0;
+    rbuf->nextidx[binnum] = 0;
+  }
+  for (sourceptr = source; sourceptr < sourceend; sourceptr += rbuf->unitsize)
+  {
+    count[sourceptr[rightshift]]++;
+  }
+  for (bufoffset = 0, binoffset = 0, binnum = 0; binnum <= UINT8_MAX;
+       bufoffset += rbuf->buf_size, binoffset += count[binnum], binnum++)
+  {
+    const GtUword elems2copy = MIN(rbuf->buf_size,(GtUword) count[binnum]);
+
+    if (elems2copy > 0)
+    {
+      if (firstnonemptybin == UINT8_MAX+1)
+      {
+        firstnonemptybin = binnum;
+      }
+      memcpy(rbuf->values.
+             flbaptr + bufoffset * rbuf->unitsize,
+             source + binoffset * rbuf->unitsize,
+             (sizeof *source * elems2copy) * rbuf->unitsize);
+    }
+  }
+  previouscount = count[0];
+  rbuf->startofbin[0] = rbuf->endofbin[0] = 0;
+  nextbin = 0;
+  for (binnum = 1UL; binnum <= UINT8_MAX; binnum++)
+  {
+    GtCountbasetype temp = rbuf->startofbin[binnum-1] + previouscount;
+    previouscount = count[binnum];
+    rbuf->startofbin[binnum] = rbuf->endofbin[binnum] = temp;
+  }
+  /* to simplify compution of bin end */
+  rbuf->startofbin[UINT8_MAX+1] = len;
+  for (currentidx = 0, binnum = firstnonemptybin;
+       currentidx < len; binnum = nextbin - 1)
+  {
+    /* no decl. */
+    memcpy(rbuf->tmpvalue_ptr,gt_radixsort_flba_bin_get(rbuf,binnum),
+rbuf->unitsize);
+    while (true)
+    {
+      binnum = rbuf->tmpvalue_ptr[rightshift];
+      if (currentidx != rbuf->endofbin[binnum])
+      {
+        /* no decl. */
+        memcpy(rbuf->tmpswap_ptr,rbuf->tmpvalue_ptr,
+rbuf->unitsize);
+        memcpy(rbuf->tmpvalue_ptr,gt_radixsort_flba_bin_get(rbuf,binnum),
+rbuf->unitsize);
+        gt_radixsort_flba_bin_update
+                             (source,rbuf,binnum,
+                              rbuf->tmpswap_ptr);
+      } else
+      {
+        break;
+      }
+    }
+    gt_radixsort_flba_bin_update(source,rbuf,binnum,
+                                           rbuf->tmpvalue_ptr);
+    currentidx++;
+    /* skip over empty bins */
+    while (nextbin <= UINT8_MAX && currentidx >= rbuf->startofbin[nextbin])
+    {
+      nextbin++;
+    }
+    /* skip over full bins */
+    while (nextbin <= UINT8_MAX &&
+           rbuf->endofbin[nextbin-1] == rbuf->startofbin[nextbin])
+    {
+      nextbin++;
+    }
+    if (currentidx < rbuf->endofbin[nextbin-1])
+    {
+      currentidx = rbuf->endofbin[nextbin-1];
+    }
+  }
+  for (binnum = 0; binnum <= UINT8_MAX; binnum++)
+  {
+    GtUword bufleft = (GtUword) rbuf->nextidx[binnum];
+
+    if (bufleft > 0)
+    {
+      uint8_t *sourceptr, *valptr;
+
+      valptr = rbuf->values.flbaptr +
+               (binnum << rbuf->log_bufsize) * rbuf->unitsize;
+      sourceptr = source +
+                  (rbuf->startofbin[binnum+1] - bufleft) * rbuf->unitsize;
+      memcpy(sourceptr,valptr,(sizeof *sourceptr * bufleft) * rbuf->unitsize);
+    }
+  }
+}
+
+static void gt_radixsort_flba_uncached_shuffle(
+                       GtRadixbuffer *rbuf,
+                       uint8_t *source,
+                       GtCountbasetype len,
+                       size_t rightshift)
+{
+  GtUword binnum, nextbin;
+  GtCountbasetype currentidx, previouscount, *count;
+  uint8_t *sourceptr,
+                           *sourceend = source + len * rbuf->unitsize;
+
+  rbuf->countuncached++;
+  count = rbuf->startofbin; /* use same memory for count and startofbin */
+  for (binnum = 0; binnum <= UINT8_MAX; binnum++)
+  {
+    count[binnum] = 0;
+    rbuf->nextidx[binnum] = 0;
+  }
+  for (sourceptr = source; sourceptr < sourceend; sourceptr += rbuf->unitsize)
+  {
+    count[sourceptr[rightshift]]++;
+  }
+  previouscount = count[0];
+  rbuf->startofbin[0] = rbuf->endofbin[0] = 0;
+  nextbin = 0;
+  for (binnum = 1UL; binnum <= UINT8_MAX; binnum++)
+  {
+    GtCountbasetype temp = rbuf->startofbin[binnum-1] + previouscount;
+    previouscount = count[binnum];
+    rbuf->startofbin[binnum] = rbuf->endofbin[binnum] = temp;
+  }
+  /* to simplify compution of bin end */
+  rbuf->startofbin[UINT8_MAX+1] = len;
+  for (currentidx = 0; currentidx < len; /* Nothing */)
+  {
+    GtCountbasetype *binptr;
+    /* no decl. */
+    memcpy(rbuf->tmpvalue_ptr,source + (currentidx) * rbuf->unitsize,
+rbuf->unitsize);
+
+    while (true)
+    {
+      binptr = rbuf->endofbin +
+               (rbuf->tmpvalue_ptr[rightshift]);
+      binnum = *binptr;
+      if (currentidx != binnum)
+      {
+        /* no decl. */
+        memcpy(rbuf->tmpswap_ptr,rbuf->tmpvalue_ptr,
+rbuf->unitsize);
+        memcpy(rbuf->tmpvalue_ptr,source + (binnum) * rbuf->unitsize,
+rbuf->unitsize);
+        memcpy(source + (binnum) * rbuf->unitsize,
+rbuf->tmpswap_ptr,rbuf->unitsize);
+        (*binptr)++;
+      } else
+      {
+        break;
+      }
+    }
+    memcpy(source + (binnum) * rbuf->unitsize,
+rbuf->tmpvalue_ptr,rbuf->unitsize);
+    currentidx++;
+    (*binptr)++;
+    /* skip over empty bins */
+    while (nextbin <= UINT8_MAX && currentidx >= rbuf->startofbin[nextbin])
+    {
+      nextbin++;
+    }
+    /* skip over full bins */
+    while (nextbin <= UINT8_MAX &&
+           rbuf->endofbin[nextbin-1] == rbuf->startofbin[nextbin])
+    {
+      nextbin++;
+    }
+    if (currentidx < rbuf->endofbin[nextbin-1])
+    {
+      currentidx = rbuf->endofbin[nextbin-1];
+    }
+  }
+}
+
+static void gt_radixsort_flba_shuffle(GtRadixbuffer *rbuf,
+                                       uint8_t *source,
+                                       GtCountbasetype len,
+                                       size_t rightshift)
+{
+  gt_assert(rbuf != NULL);
+  if ((GtUword) len > rbuf->cachesize)
+  {
+    gt_radixsort_flba_cached_shuffle(rbuf,source,len,rightshift);
+  } else
+  {
+    gt_radixsort_flba_uncached_shuffle(rbuf,source,len,
+                                                      rightshift);
+  }
+}
+
+static void
+gt_radixsort_flba_inplace_insertionsort(
+                                  GT_UNUSED GtRadixbuffer *rbuf,
+                                  uint8_t *arr,
+                                  GtCountbasetype a_size)
+{
+  uint8_t *optr,
+                           *end = arr + a_size * rbuf->unitsize;
+
+  for (optr = arr + 1 * rbuf->unitsize; optr < end;
+       optr += rbuf->unitsize)
+  {
+    uint8_t *oprevious = optr - 1 * rbuf->unitsize;
+
+    if (memcmp(optr,oprevious,rbuf->unitsize) < 0)
+    {
+      uint8_t *iptr;
+      /* no decl. */
+      memcpy(rbuf->tmpvalue_ptr,optr,
+rbuf->unitsize);
+
+      memcpy(optr,oprevious,rbuf->unitsize);
+      for (iptr = oprevious; iptr > arr; iptr -= 1 * rbuf->unitsize)
+      {
+        uint8_t *iprevious = iptr - 1 * rbuf->unitsize;
+        if (!(memcmp(rbuf->tmpvalue_ptr,iprevious,rbuf->unitsize) < 0))
+        {
+          break;
+        }
+        memcpy(iptr,iprevious,rbuf->unitsize);
+      }
+      memcpy(iptr,rbuf->tmpvalue_ptr,
+rbuf->unitsize);
+    }
+  }
+}
+
+static void gt_radixsort_flba_process_bin(
+                                     GtStackGtRadixsort_stackelem *stack,
+                                     GtRadixbuffer *rbuf,
+                                     uint8_t *source,
+                                     size_t shift)
+{
+  GtUword binnum;
+
+  for (binnum = 0; binnum <= UINT8_MAX; binnum++)
+  {
+    GtCountbasetype width = rbuf->endofbin[binnum] - rbuf->startofbin[binnum];
+
+    if (width >= (GtCountbasetype) 2)
+    {
+      uint8_t *ptr
+       = source + rbuf->startofbin[binnum] * rbuf->unitsize;
+
+      if (width == (GtCountbasetype) 2)
+      {
+        uint8_t *nextptr = ptr + 1 * rbuf->unitsize;
+        if (memcmp(nextptr,ptr,rbuf->unitsize) < 0)
+        {
+          /* no decl. */
+          memcpy(rbuf->tmpswap_ptr,ptr,
+rbuf->unitsize);
+          memcpy(ptr,nextptr,rbuf->unitsize);
+          memcpy(nextptr,rbuf->tmpswap_ptr,
+rbuf->unitsize);
+        }
+      } else
+      {
+        if (width <= (GtCountbasetype) 32)
+        {
+          rbuf->countinsertionsort++;
+          gt_radixsort_flba_inplace_insertionsort(rbuf,ptr,width);
+        } else
+        {
+          GtRadixsort_stackelem tmpstackelem;
+
+          tmpstackelem.left.flbaptr = ptr;
+          tmpstackelem.len = width;
+          tmpstackelem.shift = shift+1;
+          GT_STACK_PUSH(stack,tmpstackelem);
+        }
+      }
+    }
+  }
+}
+
+static void gt_radixsort_flba_sub_inplace(GtRadixbuffer *rbuf,
+                                           GtStackGtRadixsort_stackelem *stack)
+{
+  GtRadixsort_stackelem currentstackelem;
+
+  while (!GT_STACK_ISEMPTY(stack))
+  {
+    currentstackelem = GT_STACK_POP(stack);
+    gt_radixsort_flba_shuffle(rbuf,
+                         currentstackelem.left.flbaptr,
+                         currentstackelem.len,
+                         currentstackelem.shift);
+    if (currentstackelem.shift < rbuf->unitsize-1)
+    {
+      (void) gt_radixsort_flba_process_bin(stack,rbuf,
+                                   currentstackelem.left.flbaptr,
+                                   currentstackelem.shift);
+    }
+  }
+}
diff --git a/src/core/radixsort-ip-uint64keypair.inc b/src/core/radixsort-ip-uint64keypair.inc
index 31dea7f..4783390 100644
--- a/src/core/radixsort-ip-uint64keypair.inc
+++ b/src/core/radixsort-ip-uint64keypair.inc
@@ -2,38 +2,44 @@ static Gtuint64keyPair gt_radixsort_uint64keypair_bin_get(
                                             const GtRadixbuffer *rbuf,
                                             GtUword binnum)
 {
-  return rbuf->values.uint64keypairptr[(binnum << rbuf->log_bufsize) +
-                             (GtUword) rbuf->nextidx[binnum]];
+  return rbuf->values.uint64keypairptr[
+                 (binnum << rbuf->log_bufsize) +
+                 (GtUword) rbuf->nextidx[binnum]];
 }
-
-static void gt_radixsort_uint64keypair_bin_update(
-                                    Gtuint64keyPair *target,
+static inline void gt_radixsort_uint64keypair_bin_update(
+                                    Gtuint64keyPair *source,
                                     GtRadixbuffer *rbuf,
                                     GtUword binnum,
                                     Gtuint64keyPair value)
 {
   GtUword binoffset = binnum << rbuf->log_bufsize;
 
-  rbuf->values.uint64keypairptr[binoffset +
-                                      (GtUword) rbuf->nextidx[binnum]] = value;
+  rbuf->values.uint64keypairptr
+[binoffset + (GtUword) rbuf->nextidx[binnum]]=
+value;
   if ((GtUword) rbuf->nextidx[binnum] < rbuf->buf_size - 1)
   {
     rbuf->nextidx[binnum]++;
   } else
   {
     GtUword j;
-    Gtuint64keyPair *wtargetptr, *rtargetptr, *rend, *valptr;
+    Gtuint64keyPair *wsourceptr, *rsourceptr, *rend, *valptr;
 
-    wtargetptr = target + rbuf->endofbin[binnum] - (rbuf->buf_size - 1);
-    rtargetptr = wtargetptr + rbuf->buf_size;
-    rend = target + rbuf->startofbin[binnum+1];
-    valptr = rbuf->values.uint64keypairptr + binoffset;
+    wsourceptr = source +
+                 (rbuf->endofbin[binnum] - (rbuf->buf_size - 1))
+;
+    rsourceptr = wsourceptr + rbuf->buf_size;
+    rend = source + rbuf->startofbin[binnum+1];
+    valptr = rbuf->values.uint64keypairptr +
+             binoffset;
     for (j=0; j<rbuf->buf_size; j++)
     {
-      *wtargetptr++ = *valptr;
-      if (rtargetptr < rend)
+      *wsourceptr = *valptr;
+      wsourceptr++;
+      if (rsourceptr < rend)
       {
-        *valptr = *rtargetptr++;
+        *valptr = *rsourceptr;
+        rsourceptr++;
       }
       valptr++;
     }
@@ -49,8 +55,9 @@ static void gt_radixsort_uint64keypair_cached_shuffle(GtRadixbuffer *rbuf,
 {
   GtUword binoffset, binnum, bufoffset,
                 nextbin, firstnonemptybin = UINT8_MAX+1;
-  GtCountbasetype *count, previouscount, current;
-  Gtuint64keyPair *sp, *spend = source + len;
+  GtCountbasetype *count, previouscount, currentidx;
+  Gtuint64keyPair *sourceptr,
+                           *sourceend = source + len;
 
   rbuf->countcached++;
   count = rbuf->startofbin; /* use same memory for count and startofbin */
@@ -59,27 +66,28 @@ static void gt_radixsort_uint64keypair_cached_shuffle(GtRadixbuffer *rbuf,
     count[binnum] = 0;
     rbuf->nextidx[binnum] = 0;
   }
-  for (sp = source; sp < spend; sp++)
+  for (sourceptr = source; sourceptr < sourceend; sourceptr++)
   {
     count[(rightshift > (sizeof (GtUword) - 1) * CHAR_BIT) ?
 GT_RADIX_KEY(UINT8_MAX,rightshift - sizeof (GtUword) * CHAR_BIT,
-sp->uint64_a) :
-GT_RADIX_KEY(UINT8_MAX,rightshift,sp->uint64_b)]++;
+sourceptr->uint64_a) :
+GT_RADIX_KEY(UINT8_MAX,rightshift,sourceptr->uint64_b)]++;
   }
   for (bufoffset = 0, binoffset = 0, binnum = 0; binnum <= UINT8_MAX;
        bufoffset += rbuf->buf_size, binoffset += count[binnum], binnum++)
   {
-    GtUword j;
-    const GtUword end = MIN(rbuf->buf_size,(GtUword) count[binnum]);
+    const GtUword elems2copy = MIN(rbuf->buf_size,(GtUword) count[binnum]);
 
-    if (firstnonemptybin == UINT8_MAX+1 && end > 0)
-    {
-      firstnonemptybin = binnum;
-    }
-    for (j=0; j<end; j++)
+    if (elems2copy > 0)
     {
-      rbuf->values.uint64keypairptr[bufoffset + j] =
-        source[binoffset + j];
+      if (firstnonemptybin == UINT8_MAX+1)
+      {
+        firstnonemptybin = binnum;
+      }
+      memcpy(rbuf->values.
+             uint64keypairptr + bufoffset,
+             source + binoffset,
+             (sizeof *source * elems2copy));
     }
   }
   previouscount = count[0];
@@ -87,38 +95,41 @@ GT_RADIX_KEY(UINT8_MAX,rightshift,sp->uint64_b)]++;
   nextbin = 0;
   for (binnum = 1UL; binnum <= UINT8_MAX; binnum++)
   {
-    GtCountbasetype tmp = rbuf->startofbin[binnum-1] + previouscount;
+    GtCountbasetype temp = rbuf->startofbin[binnum-1] + previouscount;
     previouscount = count[binnum];
-    rbuf->startofbin[binnum] = rbuf->endofbin[binnum] = tmp;
+    rbuf->startofbin[binnum] = rbuf->endofbin[binnum] = temp;
   }
   /* to simplify compution of bin end */
   rbuf->startofbin[UINT8_MAX+1] = len;
-  for (current = 0, binnum = firstnonemptybin;
-       current < len; binnum = nextbin - 1)
+  for (currentidx = 0, binnum = firstnonemptybin;
+       currentidx < len; binnum = nextbin - 1)
   {
-    Gtuint64keyPair currentvalue =
-      gt_radixsort_uint64keypair_bin_get(rbuf,binnum);
+    Gtuint64keyPair tmpvalue;
+    tmpvalue = gt_radixsort_uint64keypair_bin_get(rbuf,binnum);
     while (true)
     {
       binnum = (rightshift > (sizeof (GtUword) - 1) * CHAR_BIT) ?
 GT_RADIX_KEY(UINT8_MAX,rightshift - sizeof (GtUword) * CHAR_BIT,
-currentvalue.uint64_a) :
-GT_RADIX_KEY(UINT8_MAX,rightshift,currentvalue.uint64_b);
-      if (current != rbuf->endofbin[binnum])
+tmpvalue.uint64_a) :
+GT_RADIX_KEY(UINT8_MAX,rightshift,tmpvalue.uint64_b);
+      if (currentidx != rbuf->endofbin[binnum])
       {
-        Gtuint64keyPair tmp = currentvalue;
-        currentvalue = gt_radixsort_uint64keypair_bin_get(rbuf,binnum);
-        gt_radixsort_uint64keypair_bin_update(source,rbuf,binnum,tmp);
+        Gtuint64keyPair tmpswap;
+        tmpswap = tmpvalue;
+        tmpvalue = gt_radixsort_uint64keypair_bin_get(rbuf,binnum);
+        gt_radixsort_uint64keypair_bin_update
+                             (source,rbuf,binnum,
+                              tmpswap);
       } else
       {
         break;
       }
     }
     gt_radixsort_uint64keypair_bin_update(source,rbuf,binnum,
-                                                currentvalue);
-    current++;
+                                           tmpvalue);
+    currentidx++;
     /* skip over empty bins */
-    while (nextbin <= UINT8_MAX && current >= rbuf->startofbin[nextbin])
+    while (nextbin <= UINT8_MAX && currentidx >= rbuf->startofbin[nextbin])
     {
       nextbin++;
     }
@@ -128,9 +139,9 @@ GT_RADIX_KEY(UINT8_MAX,rightshift,currentvalue.uint64_b);
     {
       nextbin++;
     }
-    if (current < rbuf->endofbin[nextbin-1])
+    if (currentidx < rbuf->endofbin[nextbin-1])
     {
-      current = rbuf->endofbin[nextbin-1];
+      currentidx = rbuf->endofbin[nextbin-1];
     }
   }
   for (binnum = 0; binnum <= UINT8_MAX; binnum++)
@@ -139,16 +150,13 @@ GT_RADIX_KEY(UINT8_MAX,rightshift,currentvalue.uint64_b);
 
     if (bufleft > 0)
     {
-      GtUword j;
-      Gtuint64keyPair *targetptr, *valptr;
+      Gtuint64keyPair *sourceptr, *valptr;
 
-      valptr =
-        rbuf->values.uint64keypairptr + (binnum << rbuf->log_bufsize);
-      targetptr = source + rbuf->startofbin[binnum+1] - bufleft;
-      for (j=0; j < bufleft; j++)
-      {
-        targetptr[j] = valptr[j];
-      }
+      valptr = rbuf->values.uint64keypairptr +
+               (binnum << rbuf->log_bufsize);
+      sourceptr = source +
+                  (rbuf->startofbin[binnum+1] - bufleft);
+      memcpy(sourceptr,valptr,(sizeof *sourceptr * bufleft));
     }
   }
 }
@@ -160,8 +168,9 @@ static void gt_radixsort_uint64keypair_uncached_shuffle(
                        size_t rightshift)
 {
   GtUword binnum, nextbin;
-  Gtuint64keyPair *sp, *spend = source + len;
-  GtCountbasetype current, previouscount, *count;
+  GtCountbasetype currentidx, previouscount, *count;
+  Gtuint64keyPair *sourceptr,
+                           *sourceend = source + len;
 
   rbuf->countuncached++;
   count = rbuf->startofbin; /* use same memory for count and startofbin */
@@ -170,51 +179,55 @@ static void gt_radixsort_uint64keypair_uncached_shuffle(
     count[binnum] = 0;
     rbuf->nextidx[binnum] = 0;
   }
-  for (sp = source; sp < spend; sp++)
+  for (sourceptr = source; sourceptr < sourceend; sourceptr++)
   {
     count[(rightshift > (sizeof (GtUword) - 1) * CHAR_BIT) ?
 GT_RADIX_KEY(UINT8_MAX,rightshift - sizeof (GtUword) * CHAR_BIT,
-sp->uint64_a) :
-GT_RADIX_KEY(UINT8_MAX,rightshift,sp->uint64_b)]++;
+sourceptr->uint64_a) :
+GT_RADIX_KEY(UINT8_MAX,rightshift,sourceptr->uint64_b)]++;
   }
   previouscount = count[0];
   rbuf->startofbin[0] = rbuf->endofbin[0] = 0;
   nextbin = 0;
   for (binnum = 1UL; binnum <= UINT8_MAX; binnum++)
   {
-    GtCountbasetype tmp = rbuf->startofbin[binnum-1] + previouscount;
+    GtCountbasetype temp = rbuf->startofbin[binnum-1] + previouscount;
     previouscount = count[binnum];
-    rbuf->startofbin[binnum] = rbuf->endofbin[binnum] = tmp;
+    rbuf->startofbin[binnum] = rbuf->endofbin[binnum] = temp;
   }
   /* to simplify compution of bin end */
   rbuf->startofbin[UINT8_MAX+1] = len;
-  for (current = 0; current < len; /* Nothing */)
+  for (currentidx = 0; currentidx < len; /* Nothing */)
   {
-    Gtuint64keyPair currentvalue = source[current];
     GtCountbasetype *binptr;
+    Gtuint64keyPair tmpvalue;
+    tmpvalue = source[currentidx];
 
     while (true)
     {
       binptr = rbuf->endofbin +
                ((rightshift > (sizeof (GtUword) - 1) * CHAR_BIT) ?
 GT_RADIX_KEY(UINT8_MAX,rightshift - sizeof (GtUword) * CHAR_BIT,
-currentvalue.uint64_a) :
-GT_RADIX_KEY(UINT8_MAX,rightshift,currentvalue.uint64_b));
-      if (current != *binptr)
+tmpvalue.uint64_a) :
+GT_RADIX_KEY(UINT8_MAX,rightshift,tmpvalue.uint64_b));
+      binnum = *binptr;
+      if (currentidx != binnum)
       {
-        Gtuint64keyPair tmp = currentvalue;
-        currentvalue = source[*binptr];
-        source[*binptr] = tmp;
+        Gtuint64keyPair tmpswap;
+        tmpswap = tmpvalue;
+        tmpvalue = source[binnum];
+        source[binnum] = tmpswap;
         (*binptr)++;
       } else
       {
         break;
       }
     }
-    source[current++] = currentvalue;
+    source[binnum] = tmpvalue;
+    currentidx++;
     (*binptr)++;
     /* skip over empty bins */
-    while (nextbin <= UINT8_MAX && current >= rbuf->startofbin[nextbin])
+    while (nextbin <= UINT8_MAX && currentidx >= rbuf->startofbin[nextbin])
     {
       nextbin++;
     }
@@ -224,9 +237,9 @@ GT_RADIX_KEY(UINT8_MAX,rightshift,currentvalue.uint64_b));
     {
       nextbin++;
     }
-    if (current < rbuf->endofbin[nextbin-1])
+    if (currentidx < rbuf->endofbin[nextbin-1])
     {
-      current = rbuf->endofbin[nextbin-1];
+      currentidx = rbuf->endofbin[nextbin-1];
     }
   }
 }
@@ -248,25 +261,36 @@ static void gt_radixsort_uint64keypair_shuffle(GtRadixbuffer *rbuf,
 }
 
 static void
-gt_radixsort_uint64keypair_inplace_insertionsort(Gtuint64keyPair *a,
-                                               GtCountbasetype a_size)
+gt_radixsort_uint64keypair_inplace_insertionsort(
+                                  GT_UNUSED GtRadixbuffer *rbuf,
+                                  Gtuint64keyPair *arr,
+                                  GtCountbasetype a_size)
 {
-  Gtuint64keyPair *optr, *iptr, *end = a + a_size;
+  Gtuint64keyPair *optr,
+                           *end = arr + a_size;
 
-  for (optr = a + 1; optr < end; optr++)
+  for (optr = arr + 1; optr < end;
+       optr++)
   {
-    if (gt_radixsort_compare_smaller(optr,(optr-1)))
+    Gtuint64keyPair *oprevious = optr - 1;
+
+    if (gt_radixsort_uint64keypair_smaller(optr,oprevious))
     {
-      Gtuint64keyPair currentElement = *optr;
+      Gtuint64keyPair *iptr;
+      Gtuint64keyPair tmpvalue;
+      tmpvalue = *optr;
 
-      *optr = *(optr-1);
-      for (iptr = optr-1;
-           iptr > a && gt_radixsort_compare_smaller(&currentElement,(iptr-1));
-           iptr--)
+      *optr = *oprevious;
+      for (iptr = oprevious; iptr > arr; iptr -= 1)
       {
-        *iptr = *(iptr-1);
+        Gtuint64keyPair *iprevious = iptr - 1;
+        if (!(gt_radixsort_uint64keypair_smaller(&tmpvalue,iprevious)))
+        {
+          break;
+        }
+        *iptr = *iprevious;
       }
-      *iptr = currentElement;
+      *iptr = tmpvalue;
     }
   }
 }
@@ -285,22 +309,25 @@ static void gt_radixsort_uint64keypair_process_bin(
 
     if (width >= (GtCountbasetype) 2)
     {
-      Gtuint64keyPair *ptr = source + rbuf->startofbin[binnum];
+      Gtuint64keyPair *ptr
+       = source + rbuf->startofbin[binnum];
 
       if (width == (GtCountbasetype) 2)
       {
-        if (gt_radixsort_compare_smaller((ptr+1),ptr))
+        Gtuint64keyPair *nextptr = ptr + 1;
+        if (gt_radixsort_uint64keypair_smaller(nextptr,ptr))
         {
-          Gtuint64keyPair tmp = *ptr;
-          *ptr = *(ptr+1);
-          *(ptr+1) = tmp;
+          Gtuint64keyPair tmpswap;
+          tmpswap = *ptr;
+          *ptr = *nextptr;
+          *nextptr = tmpswap;
         }
       } else
       {
         if (width <= (GtCountbasetype) 32)
         {
           rbuf->countinsertionsort++;
-          gt_radixsort_uint64keypair_inplace_insertionsort(ptr,width);
+          gt_radixsort_uint64keypair_inplace_insertionsort(rbuf,ptr,width);
         } else
         {
           GtRadixsort_stackelem tmpstackelem;
diff --git a/src/core/radixsort-ip-ulong.inc b/src/core/radixsort-ip-ulong.inc
index 6517221..a4db317 100644
--- a/src/core/radixsort-ip-ulong.inc
+++ b/src/core/radixsort-ip-ulong.inc
@@ -2,38 +2,44 @@ static GtUword gt_radixsort_ulong_bin_get(
                                             const GtRadixbuffer *rbuf,
                                             GtUword binnum)
 {
-  return rbuf->values.ulongptr[(binnum << rbuf->log_bufsize) +
-                             (GtUword) rbuf->nextidx[binnum]];
+  return rbuf->values.ulongptr[
+                 (binnum << rbuf->log_bufsize) +
+                 (GtUword) rbuf->nextidx[binnum]];
 }
-
-static void gt_radixsort_ulong_bin_update(
-                                    GtUword *target,
+static inline void gt_radixsort_ulong_bin_update(
+                                    GtUword *source,
                                     GtRadixbuffer *rbuf,
                                     GtUword binnum,
                                     GtUword value)
 {
   GtUword binoffset = binnum << rbuf->log_bufsize;
 
-  rbuf->values.ulongptr[binoffset +
-                                      (GtUword) rbuf->nextidx[binnum]] = value;
+  rbuf->values.ulongptr
+[binoffset + (GtUword) rbuf->nextidx[binnum]]=
+value;
   if ((GtUword) rbuf->nextidx[binnum] < rbuf->buf_size - 1)
   {
     rbuf->nextidx[binnum]++;
   } else
   {
     GtUword j;
-    GtUword *wtargetptr, *rtargetptr, *rend, *valptr;
+    GtUword *wsourceptr, *rsourceptr, *rend, *valptr;
 
-    wtargetptr = target + rbuf->endofbin[binnum] - (rbuf->buf_size - 1);
-    rtargetptr = wtargetptr + rbuf->buf_size;
-    rend = target + rbuf->startofbin[binnum+1];
-    valptr = rbuf->values.ulongptr + binoffset;
+    wsourceptr = source +
+                 (rbuf->endofbin[binnum] - (rbuf->buf_size - 1))
+;
+    rsourceptr = wsourceptr + rbuf->buf_size;
+    rend = source + rbuf->startofbin[binnum+1];
+    valptr = rbuf->values.ulongptr +
+             binoffset;
     for (j=0; j<rbuf->buf_size; j++)
     {
-      *wtargetptr++ = *valptr;
-      if (rtargetptr < rend)
+      *wsourceptr = *valptr;
+      wsourceptr++;
+      if (rsourceptr < rend)
       {
-        *valptr = *rtargetptr++;
+        *valptr = *rsourceptr;
+        rsourceptr++;
       }
       valptr++;
     }
@@ -49,8 +55,9 @@ static void gt_radixsort_ulong_cached_shuffle(GtRadixbuffer *rbuf,
 {
   GtUword binoffset, binnum, bufoffset,
                 nextbin, firstnonemptybin = UINT8_MAX+1;
-  GtCountbasetype *count, previouscount, current;
-  GtUword *sp, *spend = source + len;
+  GtCountbasetype *count, previouscount, currentidx;
+  GtUword *sourceptr,
+                           *sourceend = source + len;
 
   rbuf->countcached++;
   count = rbuf->startofbin; /* use same memory for count and startofbin */
@@ -59,24 +66,25 @@ static void gt_radixsort_ulong_cached_shuffle(GtRadixbuffer *rbuf,
     count[binnum] = 0;
     rbuf->nextidx[binnum] = 0;
   }
-  for (sp = source; sp < spend; sp++)
+  for (sourceptr = source; sourceptr < sourceend; sourceptr++)
   {
-    count[GT_RADIX_KEY(UINT8_MAX,rightshift,*sp)]++;
+    count[GT_RADIX_KEY(UINT8_MAX,rightshift,*sourceptr)]++;
   }
   for (bufoffset = 0, binoffset = 0, binnum = 0; binnum <= UINT8_MAX;
        bufoffset += rbuf->buf_size, binoffset += count[binnum], binnum++)
   {
-    GtUword j;
-    const GtUword end = MIN(rbuf->buf_size,(GtUword) count[binnum]);
+    const GtUword elems2copy = MIN(rbuf->buf_size,(GtUword) count[binnum]);
 
-    if (firstnonemptybin == UINT8_MAX+1 && end > 0)
-    {
-      firstnonemptybin = binnum;
-    }
-    for (j=0; j<end; j++)
+    if (elems2copy > 0)
     {
-      rbuf->values.ulongptr[bufoffset + j] =
-        source[binoffset + j];
+      if (firstnonemptybin == UINT8_MAX+1)
+      {
+        firstnonemptybin = binnum;
+      }
+      memcpy(rbuf->values.
+             ulongptr + bufoffset,
+             source + binoffset,
+             (sizeof *source * elems2copy));
     }
   }
   previouscount = count[0];
@@ -84,35 +92,38 @@ static void gt_radixsort_ulong_cached_shuffle(GtRadixbuffer *rbuf,
   nextbin = 0;
   for (binnum = 1UL; binnum <= UINT8_MAX; binnum++)
   {
-    GtCountbasetype tmp = rbuf->startofbin[binnum-1] + previouscount;
+    GtCountbasetype temp = rbuf->startofbin[binnum-1] + previouscount;
     previouscount = count[binnum];
-    rbuf->startofbin[binnum] = rbuf->endofbin[binnum] = tmp;
+    rbuf->startofbin[binnum] = rbuf->endofbin[binnum] = temp;
   }
   /* to simplify compution of bin end */
   rbuf->startofbin[UINT8_MAX+1] = len;
-  for (current = 0, binnum = firstnonemptybin;
-       current < len; binnum = nextbin - 1)
+  for (currentidx = 0, binnum = firstnonemptybin;
+       currentidx < len; binnum = nextbin - 1)
   {
-    GtUword currentvalue =
-      gt_radixsort_ulong_bin_get(rbuf,binnum);
+    GtUword tmpvalue;
+    tmpvalue = gt_radixsort_ulong_bin_get(rbuf,binnum);
     while (true)
     {
-      binnum = GT_RADIX_KEY(UINT8_MAX,rightshift,currentvalue);
-      if (current != rbuf->endofbin[binnum])
+      binnum = GT_RADIX_KEY(UINT8_MAX,rightshift,tmpvalue);
+      if (currentidx != rbuf->endofbin[binnum])
       {
-        GtUword tmp = currentvalue;
-        currentvalue = gt_radixsort_ulong_bin_get(rbuf,binnum);
-        gt_radixsort_ulong_bin_update(source,rbuf,binnum,tmp);
+        GtUword tmpswap;
+        tmpswap = tmpvalue;
+        tmpvalue = gt_radixsort_ulong_bin_get(rbuf,binnum);
+        gt_radixsort_ulong_bin_update
+                             (source,rbuf,binnum,
+                              tmpswap);
       } else
       {
         break;
       }
     }
     gt_radixsort_ulong_bin_update(source,rbuf,binnum,
-                                                currentvalue);
-    current++;
+                                           tmpvalue);
+    currentidx++;
     /* skip over empty bins */
-    while (nextbin <= UINT8_MAX && current >= rbuf->startofbin[nextbin])
+    while (nextbin <= UINT8_MAX && currentidx >= rbuf->startofbin[nextbin])
     {
       nextbin++;
     }
@@ -122,9 +133,9 @@ static void gt_radixsort_ulong_cached_shuffle(GtRadixbuffer *rbuf,
     {
       nextbin++;
     }
-    if (current < rbuf->endofbin[nextbin-1])
+    if (currentidx < rbuf->endofbin[nextbin-1])
     {
-      current = rbuf->endofbin[nextbin-1];
+      currentidx = rbuf->endofbin[nextbin-1];
     }
   }
   for (binnum = 0; binnum <= UINT8_MAX; binnum++)
@@ -133,16 +144,13 @@ static void gt_radixsort_ulong_cached_shuffle(GtRadixbuffer *rbuf,
 
     if (bufleft > 0)
     {
-      GtUword j;
-      GtUword *targetptr, *valptr;
+      GtUword *sourceptr, *valptr;
 
-      valptr =
-        rbuf->values.ulongptr + (binnum << rbuf->log_bufsize);
-      targetptr = source + rbuf->startofbin[binnum+1] - bufleft;
-      for (j=0; j < bufleft; j++)
-      {
-        targetptr[j] = valptr[j];
-      }
+      valptr = rbuf->values.ulongptr +
+               (binnum << rbuf->log_bufsize);
+      sourceptr = source +
+                  (rbuf->startofbin[binnum+1] - bufleft);
+      memcpy(sourceptr,valptr,(sizeof *sourceptr * bufleft));
     }
   }
 }
@@ -154,8 +162,9 @@ static void gt_radixsort_ulong_uncached_shuffle(
                        size_t rightshift)
 {
   GtUword binnum, nextbin;
-  GtUword *sp, *spend = source + len;
-  GtCountbasetype current, previouscount, *count;
+  GtCountbasetype currentidx, previouscount, *count;
+  GtUword *sourceptr,
+                           *sourceend = source + len;
 
   rbuf->countuncached++;
   count = rbuf->startofbin; /* use same memory for count and startofbin */
@@ -164,45 +173,49 @@ static void gt_radixsort_ulong_uncached_shuffle(
     count[binnum] = 0;
     rbuf->nextidx[binnum] = 0;
   }
-  for (sp = source; sp < spend; sp++)
+  for (sourceptr = source; sourceptr < sourceend; sourceptr++)
   {
-    count[GT_RADIX_KEY(UINT8_MAX,rightshift,*sp)]++;
+    count[GT_RADIX_KEY(UINT8_MAX,rightshift,*sourceptr)]++;
   }
   previouscount = count[0];
   rbuf->startofbin[0] = rbuf->endofbin[0] = 0;
   nextbin = 0;
   for (binnum = 1UL; binnum <= UINT8_MAX; binnum++)
   {
-    GtCountbasetype tmp = rbuf->startofbin[binnum-1] + previouscount;
+    GtCountbasetype temp = rbuf->startofbin[binnum-1] + previouscount;
     previouscount = count[binnum];
-    rbuf->startofbin[binnum] = rbuf->endofbin[binnum] = tmp;
+    rbuf->startofbin[binnum] = rbuf->endofbin[binnum] = temp;
   }
   /* to simplify compution of bin end */
   rbuf->startofbin[UINT8_MAX+1] = len;
-  for (current = 0; current < len; /* Nothing */)
+  for (currentidx = 0; currentidx < len; /* Nothing */)
   {
-    GtUword currentvalue = source[current];
     GtCountbasetype *binptr;
+    GtUword tmpvalue;
+    tmpvalue = source[currentidx];
 
     while (true)
     {
       binptr = rbuf->endofbin +
-               (GT_RADIX_KEY(UINT8_MAX,rightshift,currentvalue));
-      if (current != *binptr)
+               (GT_RADIX_KEY(UINT8_MAX,rightshift,tmpvalue));
+      binnum = *binptr;
+      if (currentidx != binnum)
       {
-        GtUword tmp = currentvalue;
-        currentvalue = source[*binptr];
-        source[*binptr] = tmp;
+        GtUword tmpswap;
+        tmpswap = tmpvalue;
+        tmpvalue = source[binnum];
+        source[binnum] = tmpswap;
         (*binptr)++;
       } else
       {
         break;
       }
     }
-    source[current++] = currentvalue;
+    source[binnum] = tmpvalue;
+    currentidx++;
     (*binptr)++;
     /* skip over empty bins */
-    while (nextbin <= UINT8_MAX && current >= rbuf->startofbin[nextbin])
+    while (nextbin <= UINT8_MAX && currentidx >= rbuf->startofbin[nextbin])
     {
       nextbin++;
     }
@@ -212,9 +225,9 @@ static void gt_radixsort_ulong_uncached_shuffle(
     {
       nextbin++;
     }
-    if (current < rbuf->endofbin[nextbin-1])
+    if (currentidx < rbuf->endofbin[nextbin-1])
     {
-      current = rbuf->endofbin[nextbin-1];
+      currentidx = rbuf->endofbin[nextbin-1];
     }
   }
 }
@@ -236,25 +249,36 @@ static void gt_radixsort_ulong_shuffle(GtRadixbuffer *rbuf,
 }
 
 static void
-gt_radixsort_ulong_inplace_insertionsort(GtUword *a,
-                                               GtCountbasetype a_size)
+gt_radixsort_ulong_inplace_insertionsort(
+                                  GT_UNUSED GtRadixbuffer *rbuf,
+                                  GtUword *arr,
+                                  GtCountbasetype a_size)
 {
-  GtUword *optr, *iptr, *end = a + a_size;
+  GtUword *optr,
+                           *end = arr + a_size;
 
-  for (optr = a + 1; optr < end; optr++)
+  for (optr = arr + 1; optr < end;
+       optr++)
   {
-    if (*optr < *(optr-1))
+    GtUword *oprevious = optr - 1;
+
+    if (*optr < *oprevious)
     {
-      GtUword currentElement = *optr;
+      GtUword *iptr;
+      GtUword tmpvalue;
+      tmpvalue = *optr;
 
-      *optr = *(optr-1);
-      for (iptr = optr-1;
-           iptr > a && currentElement < *(iptr-1);
-           iptr--)
+      *optr = *oprevious;
+      for (iptr = oprevious; iptr > arr; iptr -= 1)
       {
-        *iptr = *(iptr-1);
+        GtUword *iprevious = iptr - 1;
+        if (!(tmpvalue < *iprevious))
+        {
+          break;
+        }
+        *iptr = *iprevious;
       }
-      *iptr = currentElement;
+      *iptr = tmpvalue;
     }
   }
 }
@@ -273,22 +297,25 @@ static void gt_radixsort_ulong_process_bin(
 
     if (width >= (GtCountbasetype) 2)
     {
-      GtUword *ptr = source + rbuf->startofbin[binnum];
+      GtUword *ptr
+       = source + rbuf->startofbin[binnum];
 
       if (width == (GtCountbasetype) 2)
       {
-        if (*(ptr+1) < *ptr)
+        GtUword *nextptr = ptr + 1;
+        if (*nextptr < *ptr)
         {
-          GtUword tmp = *ptr;
-          *ptr = *(ptr+1);
-          *(ptr+1) = tmp;
+          GtUword tmpswap;
+          tmpswap = *ptr;
+          *ptr = *nextptr;
+          *nextptr = tmpswap;
         }
       } else
       {
         if (width <= (GtCountbasetype) 32)
         {
           rbuf->countinsertionsort++;
-          gt_radixsort_ulong_inplace_insertionsort(ptr,width);
+          gt_radixsort_ulong_inplace_insertionsort(rbuf,ptr,width);
         } else
         {
           GtRadixsort_stackelem tmpstackelem;
diff --git a/src/core/radixsort-ip-ulongpair.inc b/src/core/radixsort-ip-ulongpair.inc
index e784ffb..4eae2a6 100644
--- a/src/core/radixsort-ip-ulongpair.inc
+++ b/src/core/radixsort-ip-ulongpair.inc
@@ -2,38 +2,44 @@ static GtUwordPair gt_radixsort_ulongpair_bin_get(
                                             const GtRadixbuffer *rbuf,
                                             GtUword binnum)
 {
-  return rbuf->values.ulongpairptr[(binnum << rbuf->log_bufsize) +
-                             (GtUword) rbuf->nextidx[binnum]];
+  return rbuf->values.ulongpairptr[
+                 (binnum << rbuf->log_bufsize) +
+                 (GtUword) rbuf->nextidx[binnum]];
 }
-
-static void gt_radixsort_ulongpair_bin_update(
-                                    GtUwordPair *target,
+static inline void gt_radixsort_ulongpair_bin_update(
+                                    GtUwordPair *source,
                                     GtRadixbuffer *rbuf,
                                     GtUword binnum,
                                     GtUwordPair value)
 {
   GtUword binoffset = binnum << rbuf->log_bufsize;
 
-  rbuf->values.ulongpairptr[binoffset +
-                                      (GtUword) rbuf->nextidx[binnum]] = value;
+  rbuf->values.ulongpairptr
+[binoffset + (GtUword) rbuf->nextidx[binnum]]=
+value;
   if ((GtUword) rbuf->nextidx[binnum] < rbuf->buf_size - 1)
   {
     rbuf->nextidx[binnum]++;
   } else
   {
     GtUword j;
-    GtUwordPair *wtargetptr, *rtargetptr, *rend, *valptr;
+    GtUwordPair *wsourceptr, *rsourceptr, *rend, *valptr;
 
-    wtargetptr = target + rbuf->endofbin[binnum] - (rbuf->buf_size - 1);
-    rtargetptr = wtargetptr + rbuf->buf_size;
-    rend = target + rbuf->startofbin[binnum+1];
-    valptr = rbuf->values.ulongpairptr + binoffset;
+    wsourceptr = source +
+                 (rbuf->endofbin[binnum] - (rbuf->buf_size - 1))
+;
+    rsourceptr = wsourceptr + rbuf->buf_size;
+    rend = source + rbuf->startofbin[binnum+1];
+    valptr = rbuf->values.ulongpairptr +
+             binoffset;
     for (j=0; j<rbuf->buf_size; j++)
     {
-      *wtargetptr++ = *valptr;
-      if (rtargetptr < rend)
+      *wsourceptr = *valptr;
+      wsourceptr++;
+      if (rsourceptr < rend)
       {
-        *valptr = *rtargetptr++;
+        *valptr = *rsourceptr;
+        rsourceptr++;
       }
       valptr++;
     }
@@ -49,8 +55,9 @@ static void gt_radixsort_ulongpair_cached_shuffle(GtRadixbuffer *rbuf,
 {
   GtUword binoffset, binnum, bufoffset,
                 nextbin, firstnonemptybin = UINT8_MAX+1;
-  GtCountbasetype *count, previouscount, current;
-  GtUwordPair *sp, *spend = source + len;
+  GtCountbasetype *count, previouscount, currentidx;
+  GtUwordPair *sourceptr,
+                           *sourceend = source + len;
 
   rbuf->countcached++;
   count = rbuf->startofbin; /* use same memory for count and startofbin */
@@ -59,24 +66,25 @@ static void gt_radixsort_ulongpair_cached_shuffle(GtRadixbuffer *rbuf,
     count[binnum] = 0;
     rbuf->nextidx[binnum] = 0;
   }
-  for (sp = source; sp < spend; sp++)
+  for (sourceptr = source; sourceptr < sourceend; sourceptr++)
   {
-    count[GT_RADIX_KEY(UINT8_MAX,rightshift,sp->a)]++;
+    count[GT_RADIX_KEY(UINT8_MAX,rightshift,sourceptr->a)]++;
   }
   for (bufoffset = 0, binoffset = 0, binnum = 0; binnum <= UINT8_MAX;
        bufoffset += rbuf->buf_size, binoffset += count[binnum], binnum++)
   {
-    GtUword j;
-    const GtUword end = MIN(rbuf->buf_size,(GtUword) count[binnum]);
+    const GtUword elems2copy = MIN(rbuf->buf_size,(GtUword) count[binnum]);
 
-    if (firstnonemptybin == UINT8_MAX+1 && end > 0)
-    {
-      firstnonemptybin = binnum;
-    }
-    for (j=0; j<end; j++)
+    if (elems2copy > 0)
     {
-      rbuf->values.ulongpairptr[bufoffset + j] =
-        source[binoffset + j];
+      if (firstnonemptybin == UINT8_MAX+1)
+      {
+        firstnonemptybin = binnum;
+      }
+      memcpy(rbuf->values.
+             ulongpairptr + bufoffset,
+             source + binoffset,
+             (sizeof *source * elems2copy));
     }
   }
   previouscount = count[0];
@@ -84,35 +92,38 @@ static void gt_radixsort_ulongpair_cached_shuffle(GtRadixbuffer *rbuf,
   nextbin = 0;
   for (binnum = 1UL; binnum <= UINT8_MAX; binnum++)
   {
-    GtCountbasetype tmp = rbuf->startofbin[binnum-1] + previouscount;
+    GtCountbasetype temp = rbuf->startofbin[binnum-1] + previouscount;
     previouscount = count[binnum];
-    rbuf->startofbin[binnum] = rbuf->endofbin[binnum] = tmp;
+    rbuf->startofbin[binnum] = rbuf->endofbin[binnum] = temp;
   }
   /* to simplify compution of bin end */
   rbuf->startofbin[UINT8_MAX+1] = len;
-  for (current = 0, binnum = firstnonemptybin;
-       current < len; binnum = nextbin - 1)
+  for (currentidx = 0, binnum = firstnonemptybin;
+       currentidx < len; binnum = nextbin - 1)
   {
-    GtUwordPair currentvalue =
-      gt_radixsort_ulongpair_bin_get(rbuf,binnum);
+    GtUwordPair tmpvalue;
+    tmpvalue = gt_radixsort_ulongpair_bin_get(rbuf,binnum);
     while (true)
     {
-      binnum = GT_RADIX_KEY(UINT8_MAX,rightshift,currentvalue.a);
-      if (current != rbuf->endofbin[binnum])
+      binnum = GT_RADIX_KEY(UINT8_MAX,rightshift,tmpvalue.a);
+      if (currentidx != rbuf->endofbin[binnum])
       {
-        GtUwordPair tmp = currentvalue;
-        currentvalue = gt_radixsort_ulongpair_bin_get(rbuf,binnum);
-        gt_radixsort_ulongpair_bin_update(source,rbuf,binnum,tmp);
+        GtUwordPair tmpswap;
+        tmpswap = tmpvalue;
+        tmpvalue = gt_radixsort_ulongpair_bin_get(rbuf,binnum);
+        gt_radixsort_ulongpair_bin_update
+                             (source,rbuf,binnum,
+                              tmpswap);
       } else
       {
         break;
       }
     }
     gt_radixsort_ulongpair_bin_update(source,rbuf,binnum,
-                                                currentvalue);
-    current++;
+                                           tmpvalue);
+    currentidx++;
     /* skip over empty bins */
-    while (nextbin <= UINT8_MAX && current >= rbuf->startofbin[nextbin])
+    while (nextbin <= UINT8_MAX && currentidx >= rbuf->startofbin[nextbin])
     {
       nextbin++;
     }
@@ -122,9 +133,9 @@ static void gt_radixsort_ulongpair_cached_shuffle(GtRadixbuffer *rbuf,
     {
       nextbin++;
     }
-    if (current < rbuf->endofbin[nextbin-1])
+    if (currentidx < rbuf->endofbin[nextbin-1])
     {
-      current = rbuf->endofbin[nextbin-1];
+      currentidx = rbuf->endofbin[nextbin-1];
     }
   }
   for (binnum = 0; binnum <= UINT8_MAX; binnum++)
@@ -133,16 +144,13 @@ static void gt_radixsort_ulongpair_cached_shuffle(GtRadixbuffer *rbuf,
 
     if (bufleft > 0)
     {
-      GtUword j;
-      GtUwordPair *targetptr, *valptr;
+      GtUwordPair *sourceptr, *valptr;
 
-      valptr =
-        rbuf->values.ulongpairptr + (binnum << rbuf->log_bufsize);
-      targetptr = source + rbuf->startofbin[binnum+1] - bufleft;
-      for (j=0; j < bufleft; j++)
-      {
-        targetptr[j] = valptr[j];
-      }
+      valptr = rbuf->values.ulongpairptr +
+               (binnum << rbuf->log_bufsize);
+      sourceptr = source +
+                  (rbuf->startofbin[binnum+1] - bufleft);
+      memcpy(sourceptr,valptr,(sizeof *sourceptr * bufleft));
     }
   }
 }
@@ -154,8 +162,9 @@ static void gt_radixsort_ulongpair_uncached_shuffle(
                        size_t rightshift)
 {
   GtUword binnum, nextbin;
-  GtUwordPair *sp, *spend = source + len;
-  GtCountbasetype current, previouscount, *count;
+  GtCountbasetype currentidx, previouscount, *count;
+  GtUwordPair *sourceptr,
+                           *sourceend = source + len;
 
   rbuf->countuncached++;
   count = rbuf->startofbin; /* use same memory for count and startofbin */
@@ -164,45 +173,49 @@ static void gt_radixsort_ulongpair_uncached_shuffle(
     count[binnum] = 0;
     rbuf->nextidx[binnum] = 0;
   }
-  for (sp = source; sp < spend; sp++)
+  for (sourceptr = source; sourceptr < sourceend; sourceptr++)
   {
-    count[GT_RADIX_KEY(UINT8_MAX,rightshift,sp->a)]++;
+    count[GT_RADIX_KEY(UINT8_MAX,rightshift,sourceptr->a)]++;
   }
   previouscount = count[0];
   rbuf->startofbin[0] = rbuf->endofbin[0] = 0;
   nextbin = 0;
   for (binnum = 1UL; binnum <= UINT8_MAX; binnum++)
   {
-    GtCountbasetype tmp = rbuf->startofbin[binnum-1] + previouscount;
+    GtCountbasetype temp = rbuf->startofbin[binnum-1] + previouscount;
     previouscount = count[binnum];
-    rbuf->startofbin[binnum] = rbuf->endofbin[binnum] = tmp;
+    rbuf->startofbin[binnum] = rbuf->endofbin[binnum] = temp;
   }
   /* to simplify compution of bin end */
   rbuf->startofbin[UINT8_MAX+1] = len;
-  for (current = 0; current < len; /* Nothing */)
+  for (currentidx = 0; currentidx < len; /* Nothing */)
   {
-    GtUwordPair currentvalue = source[current];
     GtCountbasetype *binptr;
+    GtUwordPair tmpvalue;
+    tmpvalue = source[currentidx];
 
     while (true)
     {
       binptr = rbuf->endofbin +
-               (GT_RADIX_KEY(UINT8_MAX,rightshift,currentvalue.a));
-      if (current != *binptr)
+               (GT_RADIX_KEY(UINT8_MAX,rightshift,tmpvalue.a));
+      binnum = *binptr;
+      if (currentidx != binnum)
       {
-        GtUwordPair tmp = currentvalue;
-        currentvalue = source[*binptr];
-        source[*binptr] = tmp;
+        GtUwordPair tmpswap;
+        tmpswap = tmpvalue;
+        tmpvalue = source[binnum];
+        source[binnum] = tmpswap;
         (*binptr)++;
       } else
       {
         break;
       }
     }
-    source[current++] = currentvalue;
+    source[binnum] = tmpvalue;
+    currentidx++;
     (*binptr)++;
     /* skip over empty bins */
-    while (nextbin <= UINT8_MAX && current >= rbuf->startofbin[nextbin])
+    while (nextbin <= UINT8_MAX && currentidx >= rbuf->startofbin[nextbin])
     {
       nextbin++;
     }
@@ -212,9 +225,9 @@ static void gt_radixsort_ulongpair_uncached_shuffle(
     {
       nextbin++;
     }
-    if (current < rbuf->endofbin[nextbin-1])
+    if (currentidx < rbuf->endofbin[nextbin-1])
     {
-      current = rbuf->endofbin[nextbin-1];
+      currentidx = rbuf->endofbin[nextbin-1];
     }
   }
 }
@@ -236,25 +249,36 @@ static void gt_radixsort_ulongpair_shuffle(GtRadixbuffer *rbuf,
 }
 
 static void
-gt_radixsort_ulongpair_inplace_insertionsort(GtUwordPair *a,
-                                               GtCountbasetype a_size)
+gt_radixsort_ulongpair_inplace_insertionsort(
+                                  GT_UNUSED GtRadixbuffer *rbuf,
+                                  GtUwordPair *arr,
+                                  GtCountbasetype a_size)
 {
-  GtUwordPair *optr, *iptr, *end = a + a_size;
+  GtUwordPair *optr,
+                           *end = arr + a_size;
 
-  for (optr = a + 1; optr < end; optr++)
+  for (optr = arr + 1; optr < end;
+       optr++)
   {
-    if (optr->a < (optr-1)->a)
+    GtUwordPair *oprevious = optr - 1;
+
+    if (optr->a < oprevious->a)
     {
-      GtUwordPair currentElement = *optr;
+      GtUwordPair *iptr;
+      GtUwordPair tmpvalue;
+      tmpvalue = *optr;
 
-      *optr = *(optr-1);
-      for (iptr = optr-1;
-           iptr > a && currentElement.a < (iptr-1)->a;
-           iptr--)
+      *optr = *oprevious;
+      for (iptr = oprevious; iptr > arr; iptr -= 1)
       {
-        *iptr = *(iptr-1);
+        GtUwordPair *iprevious = iptr - 1;
+        if (!(tmpvalue.a < iprevious->a))
+        {
+          break;
+        }
+        *iptr = *iprevious;
       }
-      *iptr = currentElement;
+      *iptr = tmpvalue;
     }
   }
 }
@@ -273,22 +297,25 @@ static void gt_radixsort_ulongpair_process_bin(
 
     if (width >= (GtCountbasetype) 2)
     {
-      GtUwordPair *ptr = source + rbuf->startofbin[binnum];
+      GtUwordPair *ptr
+       = source + rbuf->startofbin[binnum];
 
       if (width == (GtCountbasetype) 2)
       {
-        if ((ptr+1)->a < ptr->a)
+        GtUwordPair *nextptr = ptr + 1;
+        if (nextptr->a < ptr->a)
         {
-          GtUwordPair tmp = *ptr;
-          *ptr = *(ptr+1);
-          *(ptr+1) = tmp;
+          GtUwordPair tmpswap;
+          tmpswap = *ptr;
+          *ptr = *nextptr;
+          *nextptr = tmpswap;
         }
       } else
       {
         if (width <= (GtCountbasetype) 32)
         {
           rbuf->countinsertionsort++;
-          gt_radixsort_ulongpair_inplace_insertionsort(ptr,width);
+          gt_radixsort_ulongpair_inplace_insertionsort(rbuf,ptr,width);
         } else
         {
           GtRadixsort_stackelem tmpstackelem;
diff --git a/src/core/str.c b/src/core/str.c
index 5864924..b880417 100644
--- a/src/core/str.c
+++ b/src/core/str.c
@@ -251,6 +251,13 @@ GtStr* gt_str_ref(GtStr *s)
   return s;
 }
 
+/* The body of of the following two functions is identical except for the
+   following:
+   gt_str_read_next_line uses gt_xfgetc while
+   gt_str_read_next_line_generic uses gt_file_xfgetc
+   Also gt_str_read_next_line_generic does not assert <fpin> != NULL
+*/
+
 int gt_str_read_next_line(GtStr *s, FILE *fpin)
 {
   int cc;
diff --git a/src/core/str.h b/src/core/str.h
index be11902..b423a4d 100644
--- a/src/core/str.h
+++ b/src/core/str.h
@@ -31,6 +31,8 @@ void          gt_str_clip_suffix(GtStr *s, char c);
    is returned, otherwise 0. <str> should be empty, or the next line will be
    concatenated to its content. */
 int           gt_str_read_next_line(GtStr *str, FILE *fpin);
+/* Read the next line via a <GtFile>-object, but otherwise behave as
+   the previous function. */
 int           gt_str_read_next_line_generic(GtStr*, GtFile*);
 int           gt_str_unit_test(GtError*);
 
diff --git a/src/core/timer.c b/src/core/timer.c
index 5182fc7..fe3cb84 100644
--- a/src/core/timer.c
+++ b/src/core/timer.c
@@ -65,7 +65,7 @@ GtTimer* gt_timer_new_with_progress_description(const char* desc)
   return t;
 }
 
-void gt_timer_start(GtTimer *t)
+void gt_timer_start(GT_WIN32_UNUSED GtTimer *t)
 {
 #ifndef _WIN32
   gt_assert(t);
@@ -81,7 +81,7 @@ void gt_timer_start(GtTimer *t)
 #endif
 }
 
-void gt_timer_stop(GtTimer *t)
+void gt_timer_stop(GT_WIN32_UNUSED GtTimer *t)
 {
   gt_assert(t);
 #ifndef _WIN32
@@ -132,7 +132,9 @@ static int timeval_add(struct timeval *result,
 }
 #endif
 
-void gt_timer_show_formatted(GtTimer *t, const char *fmt, FILE *fp)
+void gt_timer_show_formatted(GT_WIN32_UNUSED GtTimer *t,
+                             GT_WIN32_UNUSED const char *fmt,
+                             GT_WIN32_UNUSED FILE *fp)
 {
 #ifndef _WIN32
   struct timeval elapsed_tv;
@@ -152,7 +154,25 @@ void gt_timer_show_formatted(GtTimer *t, const char *fmt, FILE *fp)
 #endif
 }
 
-void gt_timer_get_formatted(GtTimer *t, const char *fmt, GtStr *str)
+GtWord gt_timer_elapsed_usec(GT_WIN32_UNUSED GtTimer *t)
+{
+#ifndef _WIN32
+  struct timeval elapsed_tv;
+  if (t->state == TIMER_RUNNING)
+    gt_timer_stop(t);
+  gt_assert(t->state == TIMER_STOPPED);
+  timeval_subtract(&elapsed_tv, &t->stop_tv, &t->gstart_tv);
+  return (GtWord) (elapsed_tv.tv_usec + elapsed_tv.tv_sec * 1000000L);
+#else
+  /* XXX */
+  fprintf(stderr, "gt_elapsed_usec() not implemented\n");
+  exit(EXIT_FAILURE);
+#endif
+}
+
+void gt_timer_get_formatted(GT_WIN32_UNUSED GtTimer *t,
+                            GT_WIN32_UNUSED const char *fmt,
+                            GT_WIN32_UNUSED GtStr *str)
 {
 #ifndef _WIN32
   struct timeval elapsed_tv;
@@ -202,7 +222,9 @@ static void gt_timer_print_progress_report(GtTimer *t,
 }
 #endif
 
-void gt_timer_show_progress(GtTimer *t, const char *desc, FILE *fp)
+void gt_timer_show_progress(GT_WIN32_UNUSED GtTimer *t,
+                            GT_WIN32_UNUSED const char *desc,
+                            GT_WIN32_UNUSED FILE *fp)
 {
 #ifndef _WIN32
   gt_timer_show_progress_formatted(t, fp, "%s", desc);
@@ -213,7 +235,9 @@ void gt_timer_show_progress(GtTimer *t, const char *desc, FILE *fp)
 #endif
 }
 
-void gt_timer_show_progress_formatted(GtTimer *t, FILE *fp, const char *desc,
+void gt_timer_show_progress_formatted(GT_WIN32_UNUSED GtTimer *t,
+                                      GT_WIN32_UNUSED FILE *fp,
+                                      GT_WIN32_UNUSED const char *desc,
                                       ...)
 {
 #ifndef _WIN32
@@ -229,8 +253,10 @@ void gt_timer_show_progress_formatted(GtTimer *t, FILE *fp, const char *desc,
 #endif
 }
 
-void gt_timer_show_progress_va(GtTimer *t, FILE *fp, const char *desc,
-                               va_list ap)
+void gt_timer_show_progress_va(GT_WIN32_UNUSED GtTimer *t,
+                               GT_WIN32_UNUSED FILE *fp,
+                               GT_WIN32_UNUSED const char *desc,
+                               GT_WIN32_UNUSED va_list ap)
 {
 #ifndef _WIN32
   char buf[BUFSIZ];
@@ -259,7 +285,8 @@ void gt_timer_show_progress_va(GtTimer *t, FILE *fp, const char *desc,
 #endif
 }
 
-void gt_timer_show_progress_final(GtTimer *t, FILE *fp)
+void gt_timer_show_progress_final(GT_WIN32_UNUSED GtTimer *t,
+                                  GT_WIN32_UNUSED FILE *fp)
 {
 #ifndef _WIN32
   struct timeval elapsed_tv, elapsed_user_tv, elapsed_sys_tv;
diff --git a/src/core/timer_api.h b/src/core/timer_api.h
index 6bf2764..41b6b38 100644
--- a/src/core/timer_api.h
+++ b/src/core/timer_api.h
@@ -46,6 +46,9 @@ void     gt_timer_show(GtTimer *timer, FILE *fp);
    with: elapsed seconds, elapsed microseconds, used usertime in seconds, system
    time in seconds. The output is written to <fp>. The timer is then stopped. */
 void     gt_timer_show_formatted(GtTimer *timer, const char *fmt, FILE *fp);
+/* return usec of time from start to stop of giben timer. The timer is then
+   stopped. */
+GtWord gt_timer_elapsed_usec(GtTimer *t);
 /* Like <gt_timer_show_formatted()>, but appends the output to <str>. */
 void     gt_timer_get_formatted(GtTimer *t, const char *fmt, GtStr *str);
 /* Output the current state of <timer> on <fp> since the last call of
diff --git a/src/core/unused_api.h b/src/core/unused_api.h
index 62e0a13..f0b7040 100644
--- a/src/core/unused_api.h
+++ b/src/core/unused_api.h
@@ -25,4 +25,10 @@
 #define GT_UNUSED \
         __attribute__ ((unused)) /*@unused@*/
 
+#ifndef _WIN32
+#define GT_WIN32_UNUSED /* Nothing */
+#else
+#define GT_WIN32_UNUSED GT_UNUSED
+#endif
+
 #endif
diff --git a/src/extended/alignment.c b/src/extended/alignment.c
index 4fea675..976b45e 100644
--- a/src/extended/alignment.c
+++ b/src/extended/alignment.c
@@ -41,13 +41,9 @@ struct GtAlignment {
   const GtUchar  *u,
                  *v;
   GtMultieoplist *eops;
-  const Polishing_info *pol_info;
   GtUword ulen,
           vlen,
-          alilen,
-          useedoffset,
-          seedlen;
-  bool seed_display, withpolcheck;
+          alilen;
 };
 
 #define GAPSYMBOL      '-'
@@ -64,10 +60,7 @@ GtAlignment* gt_alignment_new(void)
   alignment->aligned_range_v.end = 0;
   alignment->eops = gt_multieoplist_new();
   alignment->u = alignment->v = NULL;
-  alignment->pol_info = NULL;
   alignment->alilen = alignment->ulen = alignment->vlen = 0;
-  alignment->useedoffset = alignment->seedlen = 0;
-  alignment->seed_display = alignment->withpolcheck = false;
   return alignment;
 }
 
@@ -174,8 +167,6 @@ void gt_alignment_reset(GtAlignment *alignment)
   gt_assert(alignment != NULL);
   gt_multieoplist_reset(alignment->eops);
   alignment->alilen = 0;
-  alignment->useedoffset = 0;
-  alignment->seedlen = 0;
 }
 
 void gt_alignment_remove_last(GtAlignment *alignment)
@@ -534,34 +525,6 @@ static unsigned int gt_alignment_show_advance(unsigned int pos,
   return 0;
 }
 
-#define GT_UPDATE_POSITIVE_INFO(ISMATCH)\
-        if (alignment->pol_info != NULL)\
-        {\
-          if (prefix_positive < max_history && prefix_positive_sum >= 0)\
-          {\
-            if (ISMATCH)\
-            {\
-              prefix_positive_sum += alignment->pol_info->match_score;\
-            } else\
-            {\
-              prefix_positive_sum -= alignment->pol_info->difference_score;\
-            }\
-            if (prefix_positive_sum >= 0)\
-            {\
-              prefix_positive++;\
-            }\
-          }\
-          if (suffix_bits_used < max_history)\
-          {\
-            suffix_bits_used++;\
-          }\
-          suffix_bits >>= 1;\
-          if (ISMATCH)\
-          {\
-            suffix_bits |= set_mask;\
-          }\
-        }
-
 void gt_alignment_show_generic(GtUchar *buffer,
                                bool downcase,
                                const GtAlignment *alignment,
@@ -571,21 +534,10 @@ void gt_alignment_show_generic(GtUchar *buffer,
                                GtUchar wildcardshow)
 {
   GtMultieop meop;
-  GtUword idx_eop, idx_u = 0, idx_v = 0, meoplen, alignmentlength = 0,
-          suffix_bits_used = 0, prefix_positive = 0, pol_size = 0,
-          firstseedcolumn = GT_UWORD_MAX,
-          lastseedcolumn = GT_UWORD_MAX;
-  const GtUword max_history = 64;
+  GtUword idx_eop, idx_u = 0, idx_v = 0, meoplen;
   unsigned int pos = 0;
   GtUchar *topbuf = buffer, *midbuf = NULL, *lowbuf = NULL;
-  GtWord prefix_positive_sum = 0;
-  uint64_t suffix_bits = 0, set_mask = 0;
 
-  if (alignment->pol_info != NULL)
-  {
-    pol_size = GT_MULT2(alignment->pol_info->cut_depth);
-    set_mask = ((uint64_t) 1) << (max_history - 1);
-  }
   gt_assert(alignment != NULL && (characters == NULL || !downcase));
   topbuf[width] = '\n';
   midbuf = topbuf + width + 1;
@@ -626,32 +578,12 @@ void gt_alignment_show_generic(GtUchar *buffer,
           }
           if (is_match)
           {
-            if (alignment->useedoffset <= idx_u &&
-                idx_u < alignment->useedoffset + alignment->seedlen)
-            {
-              if (alignment->seed_display)
-              {
-                midbuf[pos] = (GtUchar) '+';
-              } else
-              {
-                midbuf[pos] = (GtUchar) MATCHSYMBOL;
-              }
-              if (firstseedcolumn == GT_UWORD_MAX)
-              {
-                firstseedcolumn = alignmentlength;
-              }
-              lastseedcolumn = alignmentlength;
-            } else
-            {
-              midbuf[pos] = (GtUchar) MATCHSYMBOL;
-            }
+            midbuf[pos] = (GtUchar) MATCHSYMBOL;
           } else
           {
             midbuf[pos] = (GtUchar) MISMATCHSYMBOL;
           }
           pos = gt_alignment_show_advance(pos,width,topbuf,fp);
-          GT_UPDATE_POSITIVE_INFO(is_match);
-          alignmentlength++;
           idx_u++;
           idx_v++;
         }
@@ -671,8 +603,6 @@ void gt_alignment_show_generic(GtUchar *buffer,
           midbuf[pos] = (GtUchar) MISMATCHSYMBOL;
           lowbuf[pos] = (GtUchar) GAPSYMBOL;
           pos = gt_alignment_show_advance(pos,width,topbuf,fp);
-          GT_UPDATE_POSITIVE_INFO(false);
-          alignmentlength++;
         }
         break;
       case Insertion:
@@ -690,8 +620,6 @@ void gt_alignment_show_generic(GtUchar *buffer,
             lowbuf[pos] = b;
           }
           pos = gt_alignment_show_advance(pos,width,topbuf,fp);
-          GT_UPDATE_POSITIVE_INFO(false);
-          alignmentlength++;
         }
         break;
     }
@@ -712,69 +640,6 @@ void gt_alignment_show_generic(GtUchar *buffer,
     lowbuf[pos] = '\n';
     fwrite(lowbuf,sizeof *lowbuf,pos+1,fp);
   }
-  if (alignment->pol_info != NULL)
-  {
-    GtUword suffix_positive;
-    GtWord suffix_positive_sum = 0;
-    bool startpolished = false, endpolished = false;
-
-    for (suffix_positive = 0; suffix_positive < suffix_bits_used;
-         suffix_positive++)
-    {
-      suffix_positive_sum += ((suffix_bits & set_mask)
-                                ? alignment->pol_info->match_score
-                                : -alignment->pol_info->difference_score);
-      if (suffix_positive_sum < 0)
-      {
-        break;
-      }
-      set_mask >>= 1;
-    }
-    gt_assert(prefix_positive <= alignmentlength &&
-              prefix_positive <= alignmentlength);
-    if (prefix_positive >= pol_size || prefix_positive == alignmentlength ||
-        firstseedcolumn < pol_size)
-    {
-      startpolished = true;
-    }
-    if (suffix_positive >= pol_size || suffix_positive == alignmentlength ||
-        (lastseedcolumn != GT_UWORD_MAX &&
-        lastseedcolumn + pol_size > alignmentlength))
-    {
-      endpolished = true;
-    }
-    fprintf(fp, "# polishing(m=" GT_WD ",d=" GT_WD ",p=" GT_WU
-            "): " GT_WU "/" GT_WU,
-            alignment->pol_info->match_score,
-            -alignment->pol_info->difference_score,
-            pol_size,
-            prefix_positive,
-            suffix_positive);
-    if (firstseedcolumn < pol_size)
-    {
-      fprintf(fp, ", seed_on_start");
-    }
-    if (lastseedcolumn + pol_size > alignmentlength)
-    {
-      fprintf(fp, ", seed_on_end");
-    }
-    if (alignment->withpolcheck)
-    {
-      fprintf(fp, "\n");
-      gt_assert(startpolished && endpolished);
-    } else
-    {
-      if (!startpolished)
-      {
-        fprintf(fp, ", start not polished");
-      }
-      if (!endpolished)
-      {
-        fprintf(fp, ", end not polished");
-      }
-      fprintf(fp, "\n");
-    }
-  }
 }
 
 void gt_alignment_exact_show(GtUchar *buffer,
@@ -945,14 +810,6 @@ void gt_alignment_delete(GtAlignment *alignment)
   gt_free(alignment);
 }
 
-void gt_alignment_set_seedoffset(GtAlignment *alignment,
-                                 GtUword useedoffset,
-                                 GtUword seedlen)
-{
-  alignment->useedoffset = useedoffset;
-  alignment->seedlen = seedlen;
-}
-
 void gt_alignment_clone(const GtAlignment *alignment_from,
                         GtAlignment *alignment_to)
 {
@@ -968,21 +825,6 @@ void gt_alignment_clone(const GtAlignment *alignment_from,
   alignment_to->alilen = alignment_from->alilen;
 }
 
-void gt_alignment_polished_ends(GtAlignment *alignment,
-                                const Polishing_info *pol_info,
-                                bool withpolcheck)
-{
-  gt_assert(alignment != NULL);
-  alignment->pol_info = pol_info;
-  alignment->withpolcheck = withpolcheck;
-}
-
-void gt_alignment_seed_display_set(GtAlignment *alignment)
-{
-  gt_assert(alignment != NULL);
-  alignment->seed_display = true;
-}
-
 int gt_alignment_unit_test(GtError *err)
 {
   static char u[] = "acgtagatatatagat",
diff --git a/src/extended/alignment.h b/src/extended/alignment.h
index db54bd6..d33d814 100644
--- a/src/extended/alignment.h
+++ b/src/extended/alignment.h
@@ -1,4 +1,5 @@
 /*
+  Copyright (c) 2016 Stefan Kurtz <stefan.kurtz at zbh.uni-hamburg.de>
   Copyright (c) 2015 Annika Seidel <annika.seidel at studium.uni-hamburg.de>
   Copyright (c) 2006-2007 Gordon Gremme <gordon at gremme.org>
   Copyright (c) 2006-2015 Center for Bioinformatics, University of Hamburg
@@ -24,8 +25,6 @@
 #include "core/types_api.h"
 #include "core/error_api.h"
 #include "core/score_matrix.h"
-#include "core/unused_api.h"
-#include "match/ft-polish.h"
 #include "extended/multieoplist.h"
 
 /* the GtAlignment class (an object has to be constructed backwards) */
@@ -130,16 +129,6 @@ void         gt_alignment_show_multieop_list(const GtAlignment *alignment,
 int          gt_alignment_unit_test(GtError *err);
 void         gt_alignment_delete(GtAlignment *alignment);
 
-void gt_alignment_polished_ends(GtAlignment *alignment,
-                                const Polishing_info *pol_info,
-                                bool withpolcheck);
-
-void gt_alignment_set_seedoffset(GtAlignment *alignment,
-                                 GtUword useedoffset,
-                                 GtUword seedlen);
-
-void gt_alignment_seed_display_set(GtAlignment *alignment);
-
 void gt_alignment_clone(const GtAlignment *alignment_from,
                               GtAlignment *alignment_to);
 
diff --git a/src/extended/assembly_stats_calculator.c b/src/extended/assembly_stats_calculator.c
index f4657ca..e0bcaf8 100644
--- a/src/extended/assembly_stats_calculator.c
+++ b/src/extended/assembly_stats_calculator.c
@@ -15,6 +15,7 @@
   OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 */
 
+#include "core/array_api.h"
 #include "core/compat.h"
 #include "core/disc_distri_api.h"
 #include "core/format64.h"
@@ -29,6 +30,7 @@ struct GtAssemblyStatsCalculator
   GtUword maxlength;
   GtUword genome_length;
   GtDiscDistri *lengths;
+  GtArray *nstats;
 };
 
 GtAssemblyStatsCalculator *gt_assembly_stats_calculator_new(void)
@@ -42,6 +44,7 @@ GtAssemblyStatsCalculator *gt_assembly_stats_calculator_new(void)
   asc->minlength = 0;
   asc->maxlength = 0;
   asc->genome_length = 0;
+  asc->nstats = gt_array_new(sizeof (GtUword));
   return asc;
 }
 
@@ -50,6 +53,7 @@ void gt_assembly_stats_calculator_delete(GtAssemblyStatsCalculator *asc)
   if (asc != NULL)
   {
     gt_disc_distri_delete(asc->lengths);
+    gt_array_delete(asc->nstats);
     gt_free(asc);
   }
 }
@@ -77,7 +81,7 @@ void gt_assembly_stats_calculator_set_genome_length(
 
 #define NOF_LIMITS 5
 
-#define MAX_NOF_NSTATS 4
+#define MAX_NOF_NSTATS 10
 typedef struct
 {
   char         *name[MAX_NOF_NSTATS];
@@ -94,7 +98,8 @@ typedef struct
                third_quartile,
                three_fourth_num;
   GtUword      nvalue[MAX_NOF_NSTATS],
-               lvalue[MAX_NOF_NSTATS];
+               lvalue[MAX_NOF_NSTATS],
+               val[MAX_NOF_NSTATS];
   unsigned int nofstats;
 } Nstats;
 
@@ -134,8 +139,9 @@ static void calcNstats(GtUword key, GtUint64 value,
   }
 }
 
-#define initNstat(INDEX, NAME, LENGTH)\
+#define initNstat(INDEX, NAME, VAL, LENGTH)\
   nstats.name[INDEX] = (NAME);\
+  nstats.val[INDEX] = VAL;\
   nstats.min[INDEX] = (GtUint64) (LENGTH);\
   nstats.nvalue[INDEX] = 0;\
   nstats.lvalue[INDEX] = 0;\
@@ -169,6 +175,48 @@ GtUword gt_assembly_stats_calculator_nstat(GtAssemblyStatsCalculator *asc,
   return nstats.nvalue[0];
 }
 
+int gt_assembly_stats_calculator_register_nstat(GtAssemblyStatsCalculator *asc,
+                                                GtUword n, GtError *err)
+{
+  GtUword i;
+  bool present;
+  gt_assert(asc != NULL && n > 0);
+
+  if (n > 100) {
+    gt_error_set(err, "invalid N value " GT_WU ", must be <= 100", n);
+    return -1;
+  }
+
+  if (gt_array_size(asc->nstats) == MAX_NOF_NSTATS) {
+    gt_error_set(err, "Limit of N statistics reached (%d)", MAX_NOF_NSTATS);
+    return -1;
+  }
+
+  present = false;
+  for (i = 0; i < gt_array_size(asc->nstats); i++) {
+    if ((*(GtUword*) gt_array_get(asc->nstats, i)) == n) {
+      present = true;
+      break;
+    }
+  }
+  if (!present) {
+    gt_array_add(asc->nstats, n);
+  }
+
+  return 0;
+}
+
+static int gt_assembly_stats_calculator_cmp_nstat(const void *v1,
+                                                  const void *v2) {
+  GtUword u1 = *(GtUword*) v1;
+  GtUword u2 = *(GtUword*) v2;
+  if (u1 < u2)
+    return -1;
+  if (u1 == u2)
+    return 0;
+  return 1;
+}
+
 void gt_assembly_stats_calculator_show(GtAssemblyStatsCalculator *asc,
     GtLogger *logger)
 {
@@ -176,13 +224,26 @@ void gt_assembly_stats_calculator_show(GtAssemblyStatsCalculator *asc,
   unsigned int i;
 
   gt_assert(asc != NULL);
+
+  /* defaults are N50/N80 */
+  if (gt_array_size(asc->nstats) == 0) {
+    gt_assembly_stats_calculator_register_nstat(asc, 50, NULL);
+    gt_assembly_stats_calculator_register_nstat(asc, 80, NULL);
+  }
+
   nstats.nofstats = 0;
-  initNstat(0, "50: ", asc->sumlength * 0.5);
-  initNstat(1, "80: ", asc->sumlength * 0.8);
-  if (asc->genome_length > 0)
-  {
-    initNstat(2, "G50:", asc->genome_length * 0.5);
-    initNstat(3, "G80:", asc->genome_length * 0.8);
+  gt_array_sort_stable(asc->nstats, gt_assembly_stats_calculator_cmp_nstat);
+  for (i = 0; i < gt_array_size(asc->nstats); i++) {
+    GtUword v = *(GtUword*) gt_array_get(asc->nstats, i);
+    initNstat(i, "", v, (GtUint64) (asc->sumlength * ((float) v / 100U)));
+  }
+  if (asc->genome_length > 0) {
+    GtUword j;
+    for (j = 0; j < gt_array_size(asc->nstats); j++) {
+      GtUword v = *(GtUword*) gt_array_get(asc->nstats, j);
+      initNstat(i + j, "G", v,
+                (GtUint64) (asc->genome_length * ((float) v / 100U)));
+    }
   }
 
   initLimit(0, 500ULL);
@@ -242,17 +303,17 @@ void gt_assembly_stats_calculator_show(GtAssemblyStatsCalculator *asc,
   {
     if (nstats.nvalue[i] > 0)
     {
-      gt_logger_log(logger, "N%s                  "GT_WU"", nstats.name[i],
-          nstats.nvalue[i]);
-      gt_logger_log(logger, "L%s                  "GT_WU"", nstats.name[i],
-          nstats.lvalue[i]);
+      gt_logger_log(logger, "N%s%02d                "GT_WU"", nstats.name[i],
+          (int) nstats.val[i], nstats.nvalue[i]);
+      gt_logger_log(logger, "L%s%02d                "GT_WU"", nstats.name[i],
+          (int) nstats.val[i], nstats.lvalue[i]);
     }
     else
     {
-      gt_logger_log(logger, "N%s                  n.a.",
-          nstats.name[i]);
-      gt_logger_log(logger, "L%s                  n.a.",
-          nstats.name[i]);
+      gt_logger_log(logger, "N%s%02d                n.a.",
+          nstats.name[i], (int) nstats.val[i]);
+      gt_logger_log(logger, "L%s%02d                n.a.",
+          nstats.name[i], (int) nstats.val[i]);
     }
   }
 }
diff --git a/src/extended/assembly_stats_calculator.h b/src/extended/assembly_stats_calculator.h
index 424c97a..e0ce6b4 100644
--- a/src/extended/assembly_stats_calculator.h
+++ b/src/extended/assembly_stats_calculator.h
@@ -18,6 +18,7 @@
 #ifndef ASSEMBLY_STATS_CALCULATOR_H
 #define ASSEMBLY_STATS_CALCULATOR_H
 
+#include "core/error_api.h"
 #include "core/logger.h"
 #include "core/types_api.h"
 
@@ -46,6 +47,10 @@ GtUword                    gt_assembly_stats_calculator_nstat(
                                                  GtAssemblyStatsCalculator *asc,
                                                  GtUword n);
 
+int                        gt_assembly_stats_calculator_register_nstat(
+                                                 GtAssemblyStatsCalculator *asc,
+                                                 GtUword n, GtError *err);
+
 /* Set the genome length for the GtAssemblyStatsCalculator <asc>;
    this is not necessary, but if the genome length is set;
    then the NG/LG statistics can also be computed;
diff --git a/src/extended/blast_process_call.h b/src/extended/blast_process_call.h
index e5362ee..ac3d11d 100644
--- a/src/extended/blast_process_call.h
+++ b/src/extended/blast_process_call.h
@@ -27,23 +27,23 @@ typedef struct GtBlastProcessCall GtBlastProcessCall;
 
 /* Returns new <GtBlastProcessCall> object calling blastall for nucleotide
    sequences.
-   blastall has to be installed in PATH or GT_BLAST_PATH has to be set to the
+   Blastall has to be installed in PATH or GT_BLAST_PATH has to be set to the
    correct path. */
 GtBlastProcessCall* gt_blast_process_call_new_all_nucl(void);
 
 /* Returns new <GtBlastProcessCall> object calling blastn.
-   blastn has to be installed in PATH or GT_BLAST_PATH has to be set to the
+   Blastn has to be installed in PATH or GT_BLAST_PATH has to be set to the
    correct path. */
 GtBlastProcessCall* gt_blast_process_call_new_nucl(void);
 
 /* Returns new <GtBlastProcessCall> object calling blastall for protein
    sequences.
-   blastall has to be installed in PATH or GT_BLAST_PATH has to be set to the
+   Blastall has to be installed in PATH or GT_BLAST_PATH has to be set to the
    correct path. */
 GtBlastProcessCall* gt_blast_process_call_new_all_prot(void);
 
 /* Returns new <GtBlastProcessCall> object calling blastp.
-   blastp has to be installed in PATH or GT_BLAST_PATH has to be set to the
+   Blastp has to be installed in PATH or GT_BLAST_PATH has to be set to the
    correct path. */
 GtBlastProcessCall* gt_blast_process_call_new_prot(void);
 
diff --git a/src/extended/compressed_bitsequence.h b/src/extended/compressed_bitsequence.h
index 619d198..496b30c 100644
--- a/src/extended/compressed_bitsequence.h
+++ b/src/extended/compressed_bitsequence.h
@@ -40,18 +40,18 @@ GtCompressedBitsequence* gt_compressed_bitsequence_new(GtBitsequence *bitseq,
                                                        GtUword num_of_bits);
 
 /* Returns 0 or 1 according to the bit at <position> in <cbs>. Note that
-   <position> has to be smaller than the length  of <cbs>. */
+   <position> has to be smaller than the length of <cbs>. */
 int                      gt_compressed_bitsequence_access(
                                                    GtCompressedBitsequence *cbs,
                                                    GtUword position);
 
-/* Returns the number of 1 bits in <cbs> upto and including <position>. Note
+/* Returns the number of 1 bits in <cbs> up to and including <position>. Note
    that <position> has to be smaller than the length of <cbs>. */
 GtUword                  gt_compressed_bitsequence_rank_1(
                                                    GtCompressedBitsequence *cbs,
                                                    GtUword position);
 
-/* Returns the number of 0 bits in <cbs> upto and including <position>. Note
+/* Returns the number of 0 bits in <cbs> up to and including <position>. Note
    that <position> has to be smaller than the length of <cbs>. */
 GtUword                  gt_compressed_bitsequence_rank_0(
                                                    GtCompressedBitsequence *cbs,
diff --git a/src/extended/condenseq.c b/src/extended/condenseq.c
index 6cabac3..5a098bf 100644
--- a/src/extended/condenseq.c
+++ b/src/extended/condenseq.c
@@ -224,13 +224,13 @@ static GtCondenseq *condenseq_new_empty(const GtAlphabet *alph)
   condenseq->alphabet = gt_alphabet_ref((GtAlphabet *) alph);
 
   condenseq->buffsize =
-    condenseq->ldb_allocated =
-    condenseq->ldb_nelems =
+    condenseq->lds_allocated =
+    condenseq->lds_nelems =
     condenseq->orig_len =
     condenseq->orig_num_seq =
     condenseq->ubuffsize =
-    condenseq->udb_allocated =
-    condenseq->udb_nelems = 0;
+    condenseq->uds_allocated =
+    condenseq->uds_nelems = 0;
 
   condenseq->id_len = GT_UNDEF_UWORD;
 
@@ -263,12 +263,12 @@ GtCondenseq *gt_condenseq_new(const GtEncseq *orig_es, GtLogger *logger)
 
 GtUword gt_condenseq_num_links(const GtCondenseq *condenseq)
 {
-  return condenseq->ldb_nelems;
+  return condenseq->lds_nelems;
 }
 
 GtUword gt_condenseq_num_uniques(const GtCondenseq *condenseq)
 {
-  return condenseq->udb_nelems;
+  return condenseq->uds_nelems;
 }
 
 GtUword gt_condenseq_total_link_len(const GtCondenseq *condenseq)
@@ -276,7 +276,7 @@ GtUword gt_condenseq_total_link_len(const GtCondenseq *condenseq)
   GtUword total = 0,
           i;
 
-  for (i = 0; i < condenseq->ldb_nelems; i++) {
+  for (i = 0; i < condenseq->lds_nelems; i++) {
     total += condenseq->links[i].len;
   }
 
@@ -309,24 +309,24 @@ GtUword gt_condenseq_array_size_increase(GtUword allocated)
   return allocated;
 }
 
-static inline void condenseq_udb_resize(GtCondenseq *condenseq)
+static inline void condenseq_uds_resize(GtCondenseq *condenseq)
 {
-  if (condenseq->udb_nelems == condenseq->udb_allocated) {
-    condenseq->udb_allocated =
-      gt_condenseq_array_size_increase(condenseq->udb_allocated);
+  if (condenseq->uds_nelems == condenseq->uds_allocated) {
+    condenseq->uds_allocated =
+      gt_condenseq_array_size_increase(condenseq->uds_allocated);
     condenseq->uniques = gt_realloc(condenseq->uniques,
-                              (size_t) condenseq->udb_allocated *
+                              (size_t) condenseq->uds_allocated *
                               sizeof (*condenseq->uniques));
   }
 }
 
-static inline void condenseq_ldb_resize(GtCondenseq *condenseq)
+static inline void condenseq_lds_resize(GtCondenseq *condenseq)
 {
-  if (condenseq->ldb_nelems == condenseq->ldb_allocated) {
-    condenseq->ldb_allocated =
-      gt_condenseq_array_size_increase(condenseq->ldb_allocated);
+  if (condenseq->lds_nelems == condenseq->lds_allocated) {
+    condenseq->lds_allocated =
+      gt_condenseq_array_size_increase(condenseq->lds_allocated);
     condenseq->links = gt_realloc(condenseq->links,
-                            (size_t) condenseq->ldb_allocated *
+                            (size_t) condenseq->lds_allocated *
                             sizeof (*condenseq->links));
   }
 }
@@ -337,52 +337,52 @@ void gt_condenseq_add_unique_to_db(GtCondenseq *condenseq,
 {
   gt_assert(len != 0);
   /* if previous unique and this one are not consecutive, add the new one */
-  if (condenseq->udb_nelems == 0 ||
-      condenseq->uniques[condenseq->udb_nelems - 1].orig_startpos +
-      condenseq->uniques[condenseq->udb_nelems - 1].len != orig_startpos) {
-    gt_assert(condenseq->udb_nelems == 0 ||
-              condenseq->uniques[condenseq->udb_nelems - 1].orig_startpos +
-              condenseq->uniques[condenseq->udb_nelems - 1].len <
+  if (condenseq->uds_nelems == 0 ||
+      condenseq->uniques[condenseq->uds_nelems - 1].orig_startpos +
+      condenseq->uniques[condenseq->uds_nelems - 1].len != orig_startpos) {
+    gt_assert(condenseq->uds_nelems == 0 ||
+              condenseq->uniques[condenseq->uds_nelems - 1].orig_startpos +
+              condenseq->uniques[condenseq->uds_nelems - 1].len <
               orig_startpos);
-    gt_assert(condenseq->ldb_nelems == 0 ||
-              condenseq->links[condenseq->ldb_nelems - 1].orig_startpos +
-              condenseq->links[condenseq->ldb_nelems - 1].len <=
+    gt_assert(condenseq->lds_nelems == 0 ||
+              condenseq->links[condenseq->lds_nelems - 1].orig_startpos +
+              condenseq->links[condenseq->lds_nelems - 1].len <=
               orig_startpos);
-    condenseq_udb_resize(condenseq);
-    condenseq->uniques[condenseq->udb_nelems].orig_startpos = orig_startpos;
-    condenseq->uniques[condenseq->udb_nelems].len = len;
-    condenseq->uniques[condenseq->udb_nelems].links.spaceuint32_t = NULL;
-    condenseq->udb_nelems++;
+    condenseq_uds_resize(condenseq);
+    condenseq->uniques[condenseq->uds_nelems].orig_startpos = orig_startpos;
+    condenseq->uniques[condenseq->uds_nelems].len = len;
+    condenseq->uniques[condenseq->uds_nelems].links.spaceuint32_t = NULL;
+    condenseq->uds_nelems++;
   }
   else {
-    condenseq->uniques[condenseq->udb_nelems - 1].len += len;
+    condenseq->uniques[condenseq->uds_nelems - 1].len += len;
   }
 }
 
 void gt_condenseq_add_link_to_db(GtCondenseq *condenseq, GtCondenseqLink link)
 {
-  condenseq_ldb_resize(condenseq);
+  condenseq_lds_resize(condenseq);
   gt_assert(condenseq->links != NULL);
-  gt_assert(condenseq->ldb_nelems == 0 ||
-            condenseq->links[condenseq->ldb_nelems - 1].orig_startpos +
-            condenseq->links[condenseq->ldb_nelems - 1].len <=
+  gt_assert(condenseq->lds_nelems == 0 ||
+            condenseq->links[condenseq->lds_nelems - 1].orig_startpos +
+            condenseq->links[condenseq->lds_nelems - 1].len <=
             link.orig_startpos);
-  gt_assert(condenseq->udb_nelems == 0 ||
-            condenseq->uniques[condenseq->udb_nelems - 1].orig_startpos +
-            condenseq->uniques[condenseq->udb_nelems - 1].len <=
+  gt_assert(condenseq->uds_nelems == 0 ||
+            condenseq->uniques[condenseq->uds_nelems - 1].orig_startpos +
+            condenseq->uniques[condenseq->uds_nelems - 1].len <=
             link.orig_startpos);
-  condenseq->links[condenseq->ldb_nelems] = link;
-  condenseq->ldb_nelems++;
+  condenseq->links[condenseq->lds_nelems] = link;
+  condenseq->lds_nelems++;
 }
 
 void gt_condenseq_delete(GtCondenseq *condenseq)
 {
   if (condenseq != NULL) {
     GtUword i;
-    for (i = 0; i < condenseq->ldb_nelems; i++) {
+    for (i = 0; i < condenseq->lds_nelems; i++) {
       gt_editscript_delete(condenseq->links[i].editscript);
     }
-    for (i = 0; i < condenseq->udb_nelems; i++) {
+    for (i = 0; i < condenseq->uds_nelems; i++) {
       GT_FREEARRAY(&(condenseq->uniques[i].links), uint32_t);
     }
     gt_alphabet_delete(condenseq->alphabet);
@@ -461,37 +461,37 @@ static int condenseq_io(GtCondenseq *condenseq,
   if (!had_err)
     had_err = gt_condenseq_io_one(condenseq->orig_num_seq);
   if (!had_err)
-    had_err = gt_condenseq_io_one(condenseq->ldb_nelems);
+    had_err = gt_condenseq_io_one(condenseq->lds_nelems);
   if (!had_err) {
-    if (condenseq->ldb_nelems == 0) {
+    if (condenseq->lds_nelems == 0) {
       gt_warning("compression of condenseq did not succeed in finding any "
                  "compressable similarities, maybe the input is to small or "
                  "the chosen parameters should be reconsidered.");
     }
     if (condenseq->links == NULL) {
-      condenseq->links = gt_calloc((size_t) condenseq->ldb_nelems,
+      condenseq->links = gt_calloc((size_t) condenseq->lds_nelems,
                                    sizeof (*condenseq->links));
-      condenseq->ldb_allocated = condenseq->ldb_nelems;
+      condenseq->lds_allocated = condenseq->lds_nelems;
     }
 
-    had_err = gt_condenseq_io_one(condenseq->udb_nelems);
+    had_err = gt_condenseq_io_one(condenseq->uds_nelems);
   }
 
   if (!had_err) {
-    gt_assert(condenseq->udb_nelems > 0);
+    gt_assert(condenseq->uds_nelems > 0);
 
     if (condenseq->uniques == NULL) {
       condenseq->uniques = gt_malloc(sizeof (*condenseq->uniques) *
-                                     condenseq->udb_nelems );
-      condenseq->udb_allocated = condenseq->udb_nelems;
+                                     condenseq->uds_nelems );
+      condenseq->uds_allocated = condenseq->uds_nelems;
     }
   }
 
-  for (idx = 0; !had_err && idx < condenseq->ldb_nelems; idx++) {
+  for (idx = 0; !had_err && idx < condenseq->lds_nelems; idx++) {
     had_err = condenseq_linkentry_io(&condenseq->links[idx], fp, io_func, err);
   }
 
-  for (idx = 0; !had_err && idx < condenseq->udb_nelems; idx++) {
+  for (idx = 0; !had_err && idx < condenseq->uds_nelems; idx++) {
     had_err = condenseq_uniqueentry_io(&condenseq->uniques[idx], fp, io_func,
                                        err);
   }
@@ -561,19 +561,19 @@ GtCondenseq *gt_condenseq_new_from_file(const char *indexname,
         gt_assert(condenseq->links);
         gt_fa_fclose(fp);
         /*create link array for each unique entry*/
-        for (i = 0; i < condenseq->udb_nelems; i++) {
+        for (i = 0; i < condenseq->uds_nelems; i++) {
           GT_INITARRAY(&(condenseq->uniques[i].links),uint32_t);
         }
         /* check for overflows */
-        if (condenseq->ldb_nelems > (GtUword) ((uint32_t) 0 - (uint32_t) 1)) {
+        if (condenseq->lds_nelems > (GtUword) ((uint32_t) 0 - (uint32_t) 1)) {
           gt_error_set(err, "Overflow, to many link-elements. Can't be stored");
           had_err = -1;
         }
         /* iterate through link entrys and store ids in corresponding unique
           entry array */
-        for (i = 0; !had_err && (GtUword) i < condenseq->ldb_nelems; i++) {
+        for (i = 0; !had_err && (GtUword) i < condenseq->lds_nelems; i++) {
           GtUword uid = condenseq->links[i].unique_id;
-          gt_assert(uid < condenseq->udb_nelems);
+          gt_assert(uid < condenseq->uds_nelems);
           GT_STOREINARRAY(&(condenseq->uniques[uid].links),
                           uint32_t,
                           10,
@@ -626,9 +626,9 @@ static GtUword condenseq_links_position_binsearch(const GtCondenseq *condenseq,
                                                   GtUword position)
 {
   GtWord idx, low, high;
-  gt_assert(condenseq && condenseq->ldb_nelems > 0);
+  gt_assert(condenseq && condenseq->lds_nelems > 0);
   low = (GtWord) -1;
-  gt_safe_assign(high, condenseq->ldb_nelems);
+  gt_safe_assign(high, condenseq->lds_nelems);
   idx = GT_DIV2(low + high);
   while (high - low > (GtWord) 1) {
     if (position < condenseq->links[idx].orig_startpos) {
@@ -641,16 +641,16 @@ static GtUword condenseq_links_position_binsearch(const GtCondenseq *condenseq,
   }
   if (low > (GtWord) -1 && condenseq->links[idx].orig_startpos <= position)
     return (GtUword) idx;
-  return condenseq->ldb_nelems;
+  return condenseq->lds_nelems;
 }
 
 GtUword gt_condenseq_uniques_position_binsearch(const GtCondenseq *condenseq,
                                                 GtUword position)
 {
   GtWord idx, low, high;
-  gt_assert(condenseq && condenseq->udb_nelems > 0);
+  gt_assert(condenseq && condenseq->uds_nelems > 0);
   low = (GtWord) -1;
-  gt_safe_assign(high, condenseq->udb_nelems);
+  gt_safe_assign(high, condenseq->uds_nelems);
   idx = GT_DIV2(low + high);
   while (high - low > (GtWord) 1) {
     if (position < condenseq->uniques[idx].orig_startpos) {
@@ -663,7 +663,7 @@ GtUword gt_condenseq_uniques_position_binsearch(const GtCondenseq *condenseq,
   }
   if (low > (GtWord) -1 && condenseq->uniques[idx].orig_startpos <= position)
     return (GtUword) idx;
-  return condenseq->udb_nelems;
+  return condenseq->uds_nelems;
 }
 
 static GtUword condenseq_unique_extract_encoded(const GtCondenseq *cs,
@@ -738,7 +738,7 @@ const GtUchar *gt_condenseq_extract_encoded_range(GtCondenseq *condenseq,
   GtCondenseqLink *link = NULL;
   GtCondenseqUnique *unique = NULL;
 
-  gt_assert(condenseq && condenseq->udb_nelems != 0);
+  gt_assert(condenseq && condenseq->uds_nelems != 0);
   gt_assert(condenseq->uniques[0].orig_startpos == 0);
   gt_assert(range.start <= range.end);
   gt_assert(range.end < condenseq->orig_len);
@@ -763,7 +763,7 @@ const GtUchar *gt_condenseq_extract_encoded_range(GtCondenseq *condenseq,
 
   if (unique->orig_startpos + unique->len <= range.start) {
     uniqueid++;
-    if (uniqueid == condenseq->udb_nelems)
+    if (uniqueid == condenseq->uds_nelems)
       unique = NULL;
     else {
       unique = &condenseq->uniques[uniqueid];
@@ -771,16 +771,16 @@ const GtUchar *gt_condenseq_extract_encoded_range(GtCondenseq *condenseq,
     }
   }
 
-  if (condenseq->ldb_nelems != 0) {
+  if (condenseq->lds_nelems != 0) {
       linkid = condenseq_links_position_binsearch(condenseq, range.start);
-    if (linkid == condenseq->ldb_nelems)
+    if (linkid == condenseq->lds_nelems)
       linkid = 0;
     link = &condenseq->links[linkid];
   }
   if (link != NULL &&
       link->orig_startpos + link->len <= range.start) {
     linkid++;
-    if (linkid == condenseq->ldb_nelems)
+    if (linkid == condenseq->lds_nelems)
       link = NULL;
     else {
       link = &condenseq->links[linkid];
@@ -802,7 +802,7 @@ const GtUchar *gt_condenseq_extract_encoded_range(GtCondenseq *condenseq,
                                                      buf + buffoffset,
                                                      range.start + buffoffset,
                                                      range.end);
-      if (++uniqueid == condenseq->udb_nelems)
+      if (++uniqueid == condenseq->uds_nelems)
         unique = NULL;
       else {
         unique = &condenseq->uniques[uniqueid];
@@ -815,7 +815,7 @@ const GtUchar *gt_condenseq_extract_encoded_range(GtCondenseq *condenseq,
                                                    buf + buffoffset,
                                                    range.start + buffoffset,
                                                    range.end);
-      if (++linkid == condenseq->ldb_nelems)
+      if (++linkid == condenseq->lds_nelems)
         link = NULL;
       else {
         link = &condenseq->links[linkid];
@@ -892,7 +892,7 @@ gt_condenseq_convert_unique_range_to_global(const GtCondenseq *condenseq,
   GtRange ret;
   GtCondenseqUnique *unique;
   gt_assert(condenseq != NULL);
-  gt_assert(unique_id < condenseq->udb_nelems);
+  gt_assert(unique_id < condenseq->uds_nelems);
   unique = &condenseq->uniques[unique_id];
   ret.start = unique->orig_startpos + range.start;
   ret.end = unique->orig_startpos + range.end;
@@ -949,7 +949,7 @@ GtUword gt_condenseq_each_redundant_range(
   GtRange extract;
 
   gt_assert(condenseq != NULL);
-  gt_assert(uid < condenseq->udb_nelems);
+  gt_assert(uid < condenseq->uds_nelems);
   gt_assert(urange.start <= urange.end);
 
   unique = &condenseq->uniques[uid];
@@ -1062,7 +1062,7 @@ int gt_condenseq_output_to_gff3(const GtCondenseq *condenseq,
                              (GtUword) 1, GT_STRAND_BOTH);
   fnode = (GtFeatureNode*) node;
   gt_feature_node_set_source(fnode, source);
-  for (idx = 0; !had_err && idx < condenseq->udb_nelems; ++idx) {
+  for (idx = 0; !had_err && idx < condenseq->uds_nelems; ++idx) {
     GtCondenseqUnique uq = condenseq->uniques[idx];
     if (seqend <= uq.orig_startpos) {
       const char *desc;
@@ -1096,7 +1096,7 @@ int gt_condenseq_output_to_gff3(const GtCondenseq *condenseq,
   gt_str_append_cstr(id, "L");
   name_len = gt_str_length(name);
   seqend = 0;
-  for (idx = 0; !had_err && idx < condenseq->ldb_nelems; ++idx) {
+  for (idx = 0; !had_err && idx < condenseq->lds_nelems; ++idx) {
     GtCondenseqLink link = condenseq->links[idx];
     if (seqend <= link.orig_startpos) {
       const char *desc;
@@ -1145,7 +1145,7 @@ GtDiscDistri *gt_condenseq_unique_length_dist(const GtCondenseq *condenseq)
   GtUword idx;
   GtDiscDistri *res = gt_disc_distri_new();
 
-  for (idx = 0; idx < condenseq->udb_nelems; idx++) {
+  for (idx = 0; idx < condenseq->uds_nelems; idx++) {
     gt_disc_distri_add(res, condenseq->uniques[idx].len);
   }
   return res;
@@ -1156,7 +1156,7 @@ GtDiscDistri *gt_condenseq_link_length_dist(const GtCondenseq *condenseq)
   GtUword idx;
   GtDiscDistri *res = gt_disc_distri_new();
 
-  for (idx = 0; idx < condenseq->ldb_nelems; idx++) {
+  for (idx = 0; idx < condenseq->lds_nelems; idx++) {
     gt_disc_distri_add(res, condenseq->links[idx].len);
   }
   return res;
@@ -1167,7 +1167,7 @@ GtDiscDistri *gt_condenseq_link_comp_dist(const GtCondenseq *condenseq)
   GtUword idx;
   GtDiscDistri *res = gt_disc_distri_new();
 
-  for (idx = 0; idx < condenseq->ldb_nelems; idx++) {
+  for (idx = 0; idx < condenseq->lds_nelems; idx++) {
     GtEditscript *es = condenseq->links[idx].editscript;
     GtUword vlen;
     size_t size;
@@ -1186,7 +1186,7 @@ GtUword gt_condenseq_unique_range_to_seqrange(const GtCondenseq *condenseq,
   GtCondenseqUnique uq;
 
   gt_assert(condenseq != NULL);
-  gt_assert(uid < condenseq->udb_nelems);
+  gt_assert(uid < condenseq->uds_nelems);
 
   uq = condenseq->uniques[uid];
   seqnum = gt_condenseq_pos2seqnum(condenseq, uq.orig_startpos);
@@ -1204,7 +1204,7 @@ GtUword gt_condenseq_unique_range_to_seqrange(const GtCondenseq *condenseq,
   GtCondenseqLink lk;
 
   gt_assert(condenseq != NULL);
-  gt_assert(lid < condenseq->ldb_nelems);
+  gt_assert(lid < condenseq->lds_nelems);
 
   lk = condenseq->links[lid];
   seqnum = gt_condenseq_pos2seqnum(condenseq, lk.orig_startpos);
@@ -1217,7 +1217,7 @@ GtUword gt_condenseq_unique_range_to_seqrange(const GtCondenseq *condenseq,
 const GtEditscript *gt_condenseq_link_editscript(const GtCondenseq *condenseq,
                                                  GtUword lid)
 {
-  gt_assert(lid < condenseq->ldb_nelems);
+  gt_assert(lid < condenseq->lds_nelems);
   return condenseq->links[lid].editscript;
 }
 
@@ -1230,7 +1230,7 @@ GtUword gt_condenseq_count_relevant_uniques(const GtCondenseq *condenseq,
                                             unsigned int min_align_len)
 {
   GtUword idx, count = 0;
-  for (idx = 0; idx < condenseq->udb_nelems; idx++) {
+  for (idx = 0; idx < condenseq->uds_nelems; idx++) {
     if (condenseq->uniques[idx].len >= min_align_len)
       count++;
   }
@@ -1244,14 +1244,14 @@ GtUword gt_condenseq_size(const GtCondenseq *condenseq,
                           GtUword *descriptions,
                           GtUword *separators) {
   GtUword idx;
-  *uniques = condenseq->udb_nelems * sizeof (*condenseq->uniques);
-  for (idx = 0; idx < condenseq->udb_nelems; idx++) {
+  *uniques = condenseq->uds_nelems * sizeof (*condenseq->uniques);
+  for (idx = 0; idx < condenseq->uds_nelems; idx++) {
     *uniques += condenseq->uniques[idx].links.allocateduint32_t *
       sizeof (*condenseq->uniques[idx].links.spaceuint32_t);
   }
-  *links = condenseq->ldb_nelems * sizeof (*condenseq->links);
+  *links = condenseq->lds_nelems * sizeof (*condenseq->links);
   *editscripts = 0;
-  for (idx = 0; idx < condenseq->ldb_nelems; idx++)
+  for (idx = 0; idx < condenseq->lds_nelems; idx++)
     *editscripts += gt_editscript_size(condenseq->links[idx].editscript);
   *descriptions = condenseq->ids_total_len;
   *descriptions += gt_intset_size_of_struct(condenseq->sdstab);
diff --git a/src/extended/condenseq.h b/src/extended/condenseq.h
index 5805041..dd35e78 100644
--- a/src/extended/condenseq.h
+++ b/src/extended/condenseq.h
@@ -37,10 +37,10 @@ typedef struct GtCondenseq GtCondenseq;
 
 /* Return new <GtCondenseq> object filled with data read from file with basename
    <indexname>.
-   Returns <NULL> on error, or fails if read/file access failes. */
+   Returns <NULL> on error, or fails if read/file access fails. */
 GtCondenseq*       gt_condenseq_new_from_file(const char *indexname,
                                               GtLogger *logger, GtError *err);
-/* Write <condenseq> to File <fp>, fails hard on io-error, returns error value
+/* Write <condenseq> to File <fp>, fails hard on IO-error, returns error value
    and sets <err> accordingly on data errors. */
 int                gt_condenseq_write(GtCondenseq *condenseq, FILE* fp,
                                       GtError *err);
@@ -75,7 +75,7 @@ GtUword            gt_condenseq_seqstartpos(const GtCondenseq *condenseq,
 const char*        gt_condenseq_description(const GtCondenseq *condenseq,
                                             GtUword *desclen,
                                             GtUword seqnum);
-/* Returns the lenght of sequence <seqnum> from <condenseq> */
+/* Returns the length of sequence <seqnum> from <condenseq> */
 GtUword            gt_condenseq_seqlength(const GtCondenseq *condenseq,
                                           GtUword seqnum);
 /* Returns the encoded representation of the <id>s sequence of
@@ -159,7 +159,7 @@ GtUword             gt_condenseq_count_relevant_uniques(
                                                    const GtCondenseq *condenseq,
                                                    unsigned int min_align_len);
 /* return size in bytes of the <condenseq>, other parameters will be set to the
-   sise in bytes of the various elements. where <links> does not contain the
+   size in bytes of the various elements. Where <links> does not contain the
    size of the included editscript, but only the pointer to it. */
 GtUword             gt_condenseq_size(const GtCondenseq *condenseq,
                                       GtUword *uniques,
@@ -171,13 +171,13 @@ GtUword             gt_condenseq_size(const GtCondenseq *condenseq,
    link ranges as experimental_features */
 int                 gt_condenseq_output_to_gff3(const GtCondenseq *condenseq,
                                                 GtError *err);
-/* Returns a distripution of the lengths of the unique elements. */
+/* Returns a distribution of the lengths of the unique elements. */
 GtDiscDistri*       gt_condenseq_unique_length_dist(
                                                   const GtCondenseq *condenseq);
-/* Returns a distripution of the lengths of the link elements. */
+/* Returns a distribution of the lengths of the link elements. */
 GtDiscDistri*       gt_condenseq_link_length_dist(const GtCondenseq *condenseq);
 
-/* Returns a distripution of the compression ratios of all editscripts. */
+/* Returns a distribution of the compression ratios of all editscripts. */
 GtDiscDistri*       gt_condenseq_link_comp_dist(const GtCondenseq *condenseq);
 
 /* Returns the original seqnum from which the unique with <uid> derives, changes
diff --git a/src/extended/condenseq_creator.c b/src/extended/condenseq_creator.c
index 152e08d..3cdda5f 100644
--- a/src/extended/condenseq_creator.c
+++ b/src/extended/condenseq_creator.c
@@ -60,7 +60,7 @@ static GtUword ces_c_xdrops = 0;
   }
 
 typedef struct GtCondenseqCreatorDiagonal {
-  GtUword d, i;
+  GtUword d, j;
 } CesCDiag;
 
 typedef struct GtCondenseqCreatorFullDiags {
@@ -189,22 +189,22 @@ static inline GtUword ces_c_diags_get(CesCDiags *diags, GtUword d,
   }
   if (diags->sparse != NULL) {
     CesCDiag *overwrite = NULL,
-               *ow_tree = NULL;
+             *ow_tree   = NULL;
     CesCDiag key;
     key.d = d;
     overwrite = ces_c_diags_bs_lseq(diags->sparse, d);
     if (overwrite >= diags->sparse->space) {
       if (overwrite->d == d) {
         *diag = overwrite;
-        s_ret = overwrite->i;
+        s_ret = overwrite->j;
       }
       else {
-        if (overwrite->i == GT_UNDEF_UWORD)
+        if (overwrite->j == GT_UNDEF_UWORD)
           *diag = overwrite;
         ow_tree = gt_rbtree_find(diags->sparse->add_tree, &key);
         if (ow_tree != NULL) {
           gt_assert(ow_tree->d == d);
-          s_ret = ow_tree->i;
+          s_ret = ow_tree->j;
           *diag = ow_tree;
         }
       }
@@ -213,7 +213,7 @@ static inline GtUword ces_c_diags_get(CesCDiags *diags, GtUword d,
       ow_tree = gt_rbtree_find(diags->sparse->add_tree, &key);
       if (ow_tree != NULL) {
         gt_assert(ow_tree->d == d);
-        s_ret = ow_tree->i;
+        s_ret = ow_tree->j;
         *diag = ow_tree;
       }
     }
@@ -255,7 +255,7 @@ static inline void ces_c_sparse_diags_add(CesCSparseDiags *diags)
     gt_assert(d_src < diags->space || d_src->d < diag->d);
     /* insert */
     d_dest->d = diag->d;
-    d_dest->i = diag->i;
+    d_dest->j = diag->j;
     d_dest--;
     diags->add_nextfree--;
     diag = gt_rbtree_iter_prev(diags->add_iterator);
@@ -339,7 +339,7 @@ static void ces_c_sparse_diags_clean(GtCondenseqCreator *ces_c)
                       *d_src = diags->space,
                       *end = diags->space + diags->nextfree;
   while (d_src < end) {
-    if (d_src->i != GT_UNDEF_UWORD) {
+    if (d_src->j != GT_UNDEF_UWORD) {
       *d_dest = *d_src;
       d_dest++;
     }
@@ -356,7 +356,7 @@ static void ces_c_sparse_diags_clean(GtCondenseqCreator *ces_c)
 
 static inline void ces_c_diags_set(GtCondenseqCreator *ces_c,
                                    GtUword d,
-                                   GtUword i, GtUword i_min,
+                                   GtUword j, GtUword j_min,
                                    CesCDiag *overwrite)
 {
   CesCDiags *diags = ces_c->diagonals;
@@ -367,18 +367,18 @@ static inline void ces_c_diags_set(GtCondenseqCreator *ces_c,
   if (diags->full != NULL) {
     CesCFullDiags *fdiags = diags->full;
     if (fdiags->space[d] == GT_UNDEF_UWORD ||
-        fdiags->space[d] < i_min ||
-        fdiags->space[d] + ces_c->kmersize - 1 < i)
-      fdiags->space[d] = i;
+        fdiags->space[d] < j_min ||
+        fdiags->space[d] + ces_c->kmersize - 1 < j)
+      fdiags->space[d] = j;
   }
   if (diags->sparse != NULL) {
     CesCSparseDiags *sdiags = diags->sparse;
     if (overwrite != NULL) {
       overwrite->d = d;
-      if (overwrite->i == GT_UNDEF_UWORD ||
-          overwrite->i < i_min ||
-          overwrite->i + ces_c->kmersize - 1 < i)
-      overwrite->i = i;
+      if (overwrite->j == GT_UNDEF_UWORD ||
+          overwrite->j < j_min ||
+          overwrite->j + ces_c->kmersize - 1 < j)
+      overwrite->j = j;
     }
     else {
       GT_UNUSED bool nodecreated;
@@ -388,7 +388,7 @@ static inline void ces_c_diags_set(GtCondenseqCreator *ces_c,
           ces_c_sparse_diags_clean(ces_c);
         ces_c_sparse_diags_add(sdiags);
       }
-      sdiags->add_space[sdiags->add_nextfree].i = i;
+      sdiags->add_space[sdiags->add_nextfree].j = j;
       sdiags->add_space[sdiags->add_nextfree].d = d;
       (void) gt_rbtree_search(sdiags->add_tree,
                               &sdiags->add_space[sdiags->add_nextfree],
@@ -402,22 +402,24 @@ static inline void ces_c_diags_set(GtCondenseqCreator *ces_c,
 }
 
 static void ces_c_sparse_diags_mark(CesCSparseDiags *diags,
-                                    GtUword i_max,
+                                    GtUword j_max,
                                     GtUword d_min,
                                     GtUword d)
 {
-  /* move to end of block (last diagonal that was valid for this j or
-     smaller) only a few steps? Do not cross current d! */
-  CesCDiag *d_ptr = ces_c_diags_bs_lseq(diags, d_min);
-
-  /* mark all within same i-range after block as deleted */
-  /* do not cross current d! */
-  while (d_ptr >= diags->space &&
-         d_ptr->d > d &&
-         d_ptr->i <= i_max) {/* old diag of last block */
-    d_ptr->i = GT_UNDEF_UWORD;
-    diags->marked++;
-    d_ptr--;
+  if (diags != NULL) {
+    /* move to end of block (last diagonal that was valid for this i or
+       smaller) only a few steps? Do not cross current d! */
+    CesCDiag *d_ptr = ces_c_diags_bs_lseq(diags, d_min);
+
+    /* mark all within same j-range after block as deleted */
+    /* do not cross current d! */
+    while (d_ptr >= diags->space &&
+           d_ptr->d > d &&
+           d_ptr->j <= j_max) {/* old diag of last block */
+      d_ptr->j = GT_UNDEF_UWORD;
+      diags->marked++;
+      d_ptr--;
+    }
   }
 }
 
@@ -450,12 +452,14 @@ static void ces_c_xdrop_init(GtXdropArbitraryscores *scores,
   }                                                                         \
   while (false)
 
-/* .end is exclusive!!! */
+/* .end is exclusive!!!
+   i and j are somewhat reversed. i is the subject, j is the query
+*/
 static int ces_c_xdrop(GtCondenseqCreator *ces_c,
                        GtUword i,
                        GtUword j,
-                       GtRange seed_bounds,
-                       GtRange match_bounds,
+                       GtRange query_bounds,
+                       GtRange subject_bounds,
                        GtUword unique_id,
                        GtCondenseqLink *best_link,
                        GtUword *best_match,
@@ -466,17 +470,17 @@ static int ces_c_xdrop(GtCondenseqCreator *ces_c,
   GtCondenseqCreatorXdrop *xdrop = &ces_c->xdrop;
   const bool forward = true;
 
-  gt_assert(match_bounds.start <= i);
-  gt_assert(i + ces_c->kmersize - 1 < match_bounds.end);
+  gt_assert(subject_bounds.start <= i);
+  gt_assert(i + ces_c->kmersize - 1 < subject_bounds.end);
 
   /* left xdrop */
-  if (seed_bounds.start < j && match_bounds.start < i) {
+  if (query_bounds.start < j && subject_bounds.start < i) {
     gt_seqabstract_reinit_encseq(!forward,
                                  GT_READMODE_FORWARD,
                                  xdrop->unique_seq_bwd,
                                  ces_c->input_es,
-                                 i - match_bounds.start,
-                                 match_bounds.start);
+                                 i - subject_bounds.start,
+                                 subject_bounds.start);
     ces_c_xdrops++;
     gt_evalxdroparbitscoresextend(!forward,
                                   &left_xdrop,
@@ -485,13 +489,13 @@ static int ces_c_xdrop(GtCondenseqCreator *ces_c,
                                   xdrop->current_seq_bwd,
                                   xdrop->xdropscore);
   }
-  /* right xdrop (i < match_bounds.end by assertion) */
-  if (j < seed_bounds.end) {
+  /* right xdrop (i < subject_bounds.end by assertion) */
+  if (j < query_bounds.end) {
     gt_seqabstract_reinit_encseq(forward,
                                  GT_READMODE_FORWARD,
                                  xdrop->unique_seq_fwd,
                                  ces_c->input_es,
-                                 match_bounds.end - i,
+                                 subject_bounds.end - i,
                                  i);
     ces_c_xdrops++;
     gt_evalxdroparbitscoresextend(forward,
@@ -520,10 +524,10 @@ static int ces_c_xdrop(GtCondenseqCreator *ces_c,
     xdrop->best_right_res = xdrop->right_xdrop_res;
     xdrop->right_xdrop_res = swap;
 
-    GT_CES_LENCHECK((i - left_xdrop.ivalue) - match_bounds.start);
+    GT_CES_LENCHECK((i - left_xdrop.ivalue) - subject_bounds.start);
     if (!had_err) {
       /* left started att i-1 */
-      best_link->unique_offset = (i - left_xdrop.ivalue) - match_bounds.start;
+      best_link->unique_offset = (i - left_xdrop.ivalue) - subject_bounds.start;
       GT_CES_LENCHECK(xdrop->left->jvalue + xdrop->right->jvalue);
     }
     if (!had_err) {
@@ -552,13 +556,27 @@ static int ces_c_xdrop(GtCondenseqCreator *ces_c,
 
 #define GT_CES_C_MIN_POS_NUM_CUTOFF (GtUword) 30
 
+/*
+          i
+   ┌──────────────→ query
+   │
+   │
+ j │      ╲   k-mer
+   │       ╲
+   │        ╲
+   │
+   ↓
+   subject
+   second k-mer-hit: i',j'
+   i = querypos, j = subjectpos
+*/
 static int ces_c_extend_seeds_window(GtCondenseqCreator *ces_c,
                                      GtCondenseqLink *best_link,
                                      GtError *err)
 {
   int had_err = 0;
-  GtRange seed_bounds,
-          match_bounds;
+  GtRange query_bounds,
+          subject_bounds;
   GtKmerStartpos match_positions;
   GtCondenseqCreatorWindow *win = &ces_c->window;
   GtCondenseqCreatorXdrop *xdrop = &ces_c->xdrop;
@@ -569,8 +587,8 @@ static int ces_c_extend_seeds_window(GtCondenseqCreator *ces_c,
   unsigned int idx_win;
   GtXdropbest empty = {0,0,0,0,0};
   const bool forward = true;
-  match_bounds.end =
-    match_bounds.start = 0;
+  subject_bounds.end =
+    subject_bounds.start = 0;
 
   *xdrop->left = empty;
   *xdrop->right = empty;
@@ -581,18 +599,16 @@ static int ces_c_extend_seeds_window(GtCondenseqCreator *ces_c,
   if (match_positions.no_positions == 0 ||
       ces_c->window.count != ces_c->windowsize)
     return had_err;
-  /* make sure the mean is not from one value (only one kmer has positions in
-     db) */
-
-  /* get bounds for current .end is exclusive */
-  seed_bounds.start = ces_c->current_orig_start;
-  seed_bounds.end = ces_c->current_seq_start + ces_c->current_seq_len;
-  gt_assert(seed_bounds.start <= querypos);
-  if (!(querypos <= seed_bounds.end - ces_c->windowsize)) {
+
+  /* get bounds for current, .end is exclusive */
+  query_bounds.start = ces_c->current_orig_start;
+  query_bounds.end = ces_c->current_seq_start + ces_c->current_seq_len;
+  gt_assert(query_bounds.start <= querypos);
+  if (!(querypos <= query_bounds.end - ces_c->windowsize)) {
     gt_error_set(err, "querypos: " GT_WU ", not smaller end (" GT_WU
                  ") - windowsize (%u) (xdrop calls: " GT_WU " )",
                  querypos,
-                 seed_bounds.end,
+                 query_bounds.end,
                  ces_c->windowsize,
                  ces_c_xdrops);
     had_err = -1;
@@ -603,20 +619,20 @@ static int ces_c_extend_seeds_window(GtCondenseqCreator *ces_c,
       win->idxs[idx_win] = 0;
     }
 
-    if (seed_bounds.start < querypos) {
+    if (query_bounds.start < querypos) {
       gt_seqabstract_reinit_encseq(!forward,
                                    GT_READMODE_FORWARD,
                                    xdrop->current_seq_bwd,
                                    ces_c->input_es,
-                                   querypos - seed_bounds.start,
-                                   seed_bounds.start);
+                                   querypos - query_bounds.start,
+                                   query_bounds.start);
     }
-    if (querypos < seed_bounds.end) {
+    if (querypos < query_bounds.end) {
       gt_seqabstract_reinit_encseq(forward,
                                    GT_READMODE_FORWARD,
                                    xdrop->current_seq_fwd,
                                    ces_c->input_es,
-                                   seed_bounds.end - querypos,
+                                   query_bounds.end - querypos,
                                    querypos);
     }
   }
@@ -630,53 +646,56 @@ static int ces_c_extend_seeds_window(GtCondenseqCreator *ces_c,
     GtUword subjectpos = match_positions.startpos[idx_cur],
             new_uid = match_positions.unique_ids[idx_cur];
     /* end == subjectpos should not be possible as this would be a separator */
-    if (match_bounds.end <= subjectpos || match_bounds.end == 0) {
-      gt_assert(new_uid != ces_c->ces->udb_nelems);
-      match_bounds.start = ces_c->ces->uniques[new_uid].orig_startpos;
-      match_bounds.end = match_bounds.start +
+    if (subject_bounds.end <= subjectpos || subject_bounds.end == 0) {
+      gt_assert(new_uid != ces_c->ces->uds_nelems);
+      subject_bounds.start = ces_c->ces->uniques[new_uid].orig_startpos;
+      subject_bounds.end = subject_bounds.start +
         ces_c->ces->uniques[new_uid].len;
-      gt_assert(match_bounds.start <= subjectpos &&
-                subjectpos + ces_c->kmersize <= match_bounds.end);
+      gt_assert(subject_bounds.start <= subjectpos &&
+                subjectpos + ces_c->kmersize <= subject_bounds.end);
     }
     /* check if new position is already covered by current best alignment */
     if (best_match == GT_UNDEF_UWORD ||
-        /* ivalue is a length -> best + ivalue is outside of best alignment */
+        /* ivalue is a length (within unique) -> best + ivalue is outside of
+           best alignment */
         subjectpos >= best_match + xdrop->right->ivalue) {
       /* start with search for right hit at end of window */
       for (idx_win = ces_c->windowsize - 1;
            !had_err && !found && idx_win >= ces_c->kmersize;
            idx_win--) {
-        GtKmerStartpos i_primes;
-        i_primes.startpos =
+        GtKmerStartpos j_primes;
+        j_primes.startpos =
           win->pos_arrs[GT_CONDENSEQ_CREATOR_WINDOWIDX(win, idx_win)].startpos;
-        i_primes.no_positions =
+        j_primes.no_positions =
           win->pos_arrs[GT_CONDENSEQ_CREATOR_WINDOWIDX(win,
                                                        idx_win)].no_positions;
         /* If 0, there are no known match_positions for kmer at this window
            position. */
-        if (i_primes.no_positions != 0) {
-          GtUword i_prime_idx;
+        if (j_primes.no_positions != 0) {
+          GtUword j_prime_idx = win->idxs[idx_win],
+                  j_prime = j_primes.startpos[j_prime_idx];
+          /* advance to at least the window */
+          while (j_prime_idx < j_primes.no_positions &&
+                 subjectpos + ces_c->kmersize - 1 > j_prime) {
+            j_prime_idx++;
+            j_prime = j_primes.startpos[j_prime_idx];
+          }
+          /* hit within window? */
+          if (j_prime_idx < j_primes.no_positions &&
+              subjectpos + ces_c->windowsize > j_prime) {
+            found = true;
+            had_err = ces_c_xdrop(ces_c,
+                                  subjectpos, querypos,
+                                  query_bounds,
+                                  subject_bounds,
+                                  new_uid,
+                                  best_link,
+                                  &best_match,
+                                  err);
+          }
           /* within each position array, remember last highest position, start
              there, because subjectpos increases each iteration */
-          for (i_prime_idx = win->idxs[idx_win];
-               !had_err && !found && i_prime_idx < i_primes.no_positions;
-               i_prime_idx++) {
-            GtUword i_prime = i_primes.startpos[i_prime_idx];
-            if (i_prime > subjectpos + ces_c->windowsize)
-              break;
-            if (i_prime > subjectpos + ces_c->kmersize - 1) {
-              found = true;
-              had_err = ces_c_xdrop(ces_c,
-                                    subjectpos, querypos,
-                                    seed_bounds,
-                                    match_bounds,
-                                    new_uid,
-                                    best_link,
-                                    &best_match,
-                                    err);
-            }
-          }
-          win->idxs[idx_win] = i_prime_idx;
+          win->idxs[idx_win] = j_prime_idx;
         }
       }
     }
@@ -686,8 +705,8 @@ static int ces_c_extend_seeds_window(GtCondenseqCreator *ces_c,
     if (best_link->len < ces_c->min_align_len)
       best_link->len = 0;
     else {
-      gt_assert(best_link->orig_startpos >= seed_bounds.start);
-      gt_assert(best_link->orig_startpos + best_link->len <= seed_bounds.end);
+      gt_assert(best_link->orig_startpos >= query_bounds.start);
+      gt_assert(best_link->orig_startpos + best_link->len <= query_bounds.end);
     }
   }
   return had_err;
@@ -698,22 +717,22 @@ static int ces_c_extend_seeds_brute_force(GtCondenseqCreator *ces_c,
                                           GtError *err)
 {
   int had_err = 0;
-  GtRange seed_bounds,
-          match_bounds;
+  GtRange query_bounds,
+          subject_bounds;
   GtKmerStartpos match_positions;
   GtCondenseqCreatorWindow *win = &ces_c->window;
   GtCondenseqCreatorXdrop *xdrop = &ces_c->xdrop;
   GtUword best_match = GT_UNDEF_UWORD,
           idx_cur,
-          j = ces_c->main_pos;
+          querypos = ces_c->main_pos;
   const bool forward = true;
   GtXdropbest empty = {0,0,0,0,0};
 
   *xdrop->left = empty;
   *xdrop->right = empty;
 
-  match_bounds.end =
-    match_bounds.start = 0;
+  subject_bounds.end =
+    subject_bounds.start = 0;
 
   match_positions = win->pos_arrs[GT_CONDENSEQ_CREATOR_LAST_WIN(win)];
 
@@ -721,43 +740,43 @@ static int ces_c_extend_seeds_brute_force(GtCondenseqCreator *ces_c,
     return had_err;
 
   /* get bounds for current */
-  seed_bounds.start = ces_c->current_orig_start;
-  seed_bounds.end = ces_c->current_seq_start + ces_c->current_seq_len;
+  query_bounds.start = ces_c->current_orig_start;
+  query_bounds.end = ces_c->current_seq_start + ces_c->current_seq_len;
 
-  if (seed_bounds.start < j) {
+  if (query_bounds.start < querypos) {
     gt_seqabstract_reinit_encseq(!forward,
                                  GT_READMODE_FORWARD,
                                  xdrop->current_seq_bwd,
                                  ces_c->input_es,
-                                 j - seed_bounds.start,
-                                 seed_bounds.start);
+                                 querypos - query_bounds.start,
+                                 query_bounds.start);
   }
-  if (j < seed_bounds.end) {
+  if (querypos < query_bounds.end) {
     gt_seqabstract_reinit_encseq(forward,
                                  GT_READMODE_FORWARD,
                                  xdrop->current_seq_fwd,
                                  ces_c->input_es,
-                                 seed_bounds.end - j,
-                                 j);
+                                 query_bounds.end - querypos,
+                                 querypos);
   }
 
   for (idx_cur = 0;
        !had_err && idx_cur < match_positions.no_positions;
        ++idx_cur) {
-    GtUword i = match_positions.startpos[idx_cur],
+    GtUword subjectpos = match_positions.startpos[idx_cur],
             new_id = match_positions.unique_ids[idx_cur];
-    if (match_bounds.end < i || match_bounds.end == 0) {
-      gt_assert(new_id != ces_c->ces->udb_nelems);
-      match_bounds.start = ces_c->ces->uniques[new_id].orig_startpos;
-      match_bounds.end = match_bounds.start +
+    if (subject_bounds.end < subjectpos || subject_bounds.end == 0) {
+      gt_assert(new_id != ces_c->ces->uds_nelems);
+      subject_bounds.start = ces_c->ces->uniques[new_id].orig_startpos;
+      subject_bounds.end = subject_bounds.start +
         ces_c->ces->uniques[new_id].len;
-      gt_assert(match_bounds.start <= i &&
-                i + ces_c->kmersize <= match_bounds.end);
+      gt_assert(subject_bounds.start <= subjectpos &&
+                subjectpos + ces_c->kmersize <= subject_bounds.end);
     }
     had_err = ces_c_xdrop(ces_c,
-                          i, j,
-                          seed_bounds,
-                          match_bounds,
+                          subjectpos, querypos,
+                          query_bounds,
+                          subject_bounds,
                           new_id,
                           best_link,
                           &best_match,
@@ -768,8 +787,8 @@ static int ces_c_extend_seeds_brute_force(GtCondenseqCreator *ces_c,
     if (best_link->len < ces_c->min_align_len)
       best_link->len = 0;
     else {
-      gt_assert(best_link->orig_startpos >= seed_bounds.start);
-      gt_assert(best_link->orig_startpos + best_link->len <= seed_bounds.end);
+      gt_assert(best_link->orig_startpos >= query_bounds.start);
+      gt_assert(best_link->orig_startpos + best_link->len <= query_bounds.end);
     }
   }
   return had_err;
@@ -780,124 +799,111 @@ static int ces_c_extend_seeds_diags(GtCondenseqCreator *ces_c,
                                     GtError *err)
 {
   int had_err = 0;
-  GtRange seed_bounds,
-          match_bounds = {0,0};
-  GtKmerStartpos match_positions;
+  GtRange query_bounds,
+          subject_bounds = {0,0};
+  GtKmerStartpos subject_positions;
   GtCondenseqCreatorWindow *win = &ces_c->window;
   GtCondenseqCreatorXdrop *xdrop = &ces_c->xdrop;
   CesCDiags *diags = ces_c->diagonals;
   GtUword best_match = GT_UNDEF_UWORD,
-          i_idx, j,
-          old_mid_i = GT_UNDEF_UWORD;
+          subject_idx, querypos;
   GtXdropbest empty = {0,0,0,0,0};
   const bool forward = true;
 
   *xdrop->left = empty;
   *xdrop->right = empty;
 
-  match_bounds.end = 0;
+  subject_bounds.end = 0;
 
-  match_positions = win->pos_arrs[GT_CONDENSEQ_CREATOR_LAST_WIN(win)];
+  subject_positions = win->pos_arrs[GT_CONDENSEQ_CREATOR_LAST_WIN(win)];
 
-  if (match_positions.no_positions == 0)
+  /* nothing there or window not full */
+  if (subject_positions.no_positions == 0 ||
+      ces_c->window.count != ces_c->windowsize)
     return had_err;
 
-  j = ces_c->main_pos;
+  querypos = ces_c->main_pos;
 
   /* get bounds for current */
-  seed_bounds.start = ces_c->current_orig_start;
-  seed_bounds.end = ces_c->current_seq_start + ces_c->current_seq_len;
+  query_bounds.start = ces_c->current_orig_start;
+  query_bounds.end = ces_c->current_seq_start + ces_c->current_seq_len;
 
 #ifdef GT_CONDENSEQ_LIMIT
-  match_positions.no_positions =
-    match_positions.no_positions > GT_CONDENSEQ_LIMIT ?
+  subject_positions.no_positions =
+    subject_positions.no_positions > GT_CONDENSEQ_LIMIT ?
     GT_CONDENSEQ_LIMIT :
-    match_positions.no_positions;
+    subject_positions.no_positions;
 #endif
 
-  for (i_idx = 0;
-       !had_err && i_idx < match_positions.no_positions;
-       ++i_idx) {
-    /* j = current position, i match positions in uniques, right part of seed
-       pair */
+  for (subject_idx = 0;
+       !had_err && subject_idx < subject_positions.no_positions;
+       ++subject_idx) {
     GtUword d,
-            i = match_positions.startpos[i_idx],
-            new_id = match_positions.unique_ids[i_idx],
-            i_prime;
+            subjectpos = subject_positions.startpos[subject_idx],
+            new_id = subject_positions.unique_ids[subject_idx],
+            j_prime;
     CesCDiag *overwrite_diag = NULL;
-    gt_assert(i < j);
 
-    d = j - i;
+    gt_assert(subjectpos < querypos);
+    d = querypos - subjectpos;
 
-    if (match_bounds.end < i || match_bounds.end == 0) {
-      if (match_bounds.end != 0 && diags->sparse != NULL) {
+    if (subject_bounds.end < subjectpos || subject_bounds.end == 0) {
+      if (subject_bounds.end != 0) {
         ces_c_sparse_diags_mark(diags->sparse,
-                                match_bounds.end,
-                                j - match_bounds.end,
+                                subject_bounds.end,
+                                querypos - subject_bounds.end,
                                 d);
       }
-      gt_assert(new_id != ces_c->ces->udb_nelems);
-      match_bounds.start = ces_c->ces->uniques[new_id].orig_startpos;
-      match_bounds.end = match_bounds.start +
+      gt_assert(new_id != ces_c->ces->uds_nelems);
+      subject_bounds.start = ces_c->ces->uniques[new_id].orig_startpos;
+      subject_bounds.end = subject_bounds.start +
         ces_c->ces->uniques[new_id].len;
-      gt_assert(match_bounds.start <= i &&
-                i + ces_c->kmersize <= match_bounds.end);
+      gt_assert(subject_bounds.start <= subjectpos &&
+                subjectpos + ces_c->kmersize <= subject_bounds.end);
     }
 
-    /* check for previous hit on diagonal within this block. */
-    if ((i_prime = ces_c_diags_get(diags, d,
+    if ((j_prime = ces_c_diags_get(diags, d,
                                    &overwrite_diag)) != GT_UNDEF_UWORD &&
-        i_prime >= match_bounds.start &&
-        seed_bounds.start + ces_c->windowsize <= j) {
+        j_prime >= subject_bounds.start) {
       GtUword distance;
-
-      gt_assert(i_prime < i);
-      distance = i - i_prime;
+      gt_assert(j_prime < subjectpos);
+      distance = subjectpos - j_prime;
 
       if (distance > (GtUword) ces_c->kmersize &&
           distance <= (GtUword) ces_c->windowsize) {
-        GtUword j_prime,
-                midpoint_seed_i,
-                midpoint_seed_j,
-                midpoint_offset = GT_DIV2(distance);
-
-        /* as j > j' and d = j - i = j' - i', j' = d + i' can not overflow */
-        j_prime = d + i_prime;
-
-        midpoint_seed_j = j_prime + midpoint_offset;
-        midpoint_seed_i = i_prime + midpoint_offset;
-        /* i and i_prime are from the same unique sequences.
-           midpoint_seed_j position has to be outside of the current
-           best alignment. (only checks for '>' because the previous j was
-           smaller) */
+        GtUword i_prime;
+
+        /* as querypos > i' and d = querypos - subjectpos = i' - j',
+           i' = d + j' can not overflow */
+        i_prime = d + j_prime;
+        gt_assert(i_prime >= query_bounds.start);
+        gt_assert(i_prime <= query_bounds.end);
+
+        /* subjectpos and j_prime are from the same unique sequences.
+           j' position has to be outside of the current best alignment. (only
+           checks for '>' because the previous querypos was smaller) */
         if (best_match == GT_UNDEF_UWORD ||
-            midpoint_seed_j > best_match + xdrop->right->jvalue) {
-          gt_assert(midpoint_seed_j >= seed_bounds.start);
-          gt_assert(midpoint_seed_j <= seed_bounds.end);
-          if (old_mid_i != midpoint_seed_i) {
-            old_mid_i = midpoint_seed_i;
-            if (seed_bounds.start < midpoint_seed_j) {
-              gt_seqabstract_reinit_encseq(!forward,
-                                           GT_READMODE_FORWARD,
-                                           xdrop->current_seq_bwd,
-                                           ces_c->input_es,
-                                           midpoint_seed_j -
-                                           seed_bounds.start,
-                                           seed_bounds.start);
-            }
-            if (midpoint_seed_j < seed_bounds.end) {
-              gt_seqabstract_reinit_encseq(forward,
-                                           GT_READMODE_FORWARD,
-                                           xdrop->current_seq_fwd,
-                                           ces_c->input_es,
-                                           seed_bounds.end - midpoint_seed_j,
-                                           midpoint_seed_j);
-            }
+            j_prime > best_match + xdrop->right->ivalue) {
+          if (query_bounds.start < i_prime) {
+            gt_seqabstract_reinit_encseq(!forward,
+                                         GT_READMODE_FORWARD,
+                                         xdrop->current_seq_bwd,
+                                         ces_c->input_es,
+                                         i_prime - query_bounds.start,
+                                         query_bounds.start);
+          }
+          if (i_prime < query_bounds.end) {
+            gt_seqabstract_reinit_encseq(forward,
+                                         GT_READMODE_FORWARD,
+                                         xdrop->current_seq_fwd,
+                                         ces_c->input_es,
+                                         query_bounds.end - i_prime,
+                                         i_prime);
           }
           had_err = ces_c_xdrop(ces_c,
-                                midpoint_seed_i, midpoint_seed_j,
-                                seed_bounds,
-                                match_bounds,
+                                j_prime, i_prime,
+                                query_bounds,
+                                subject_bounds,
                                 new_id,
                                 best_link,
                                 &best_match,
@@ -905,16 +911,16 @@ static int ces_c_extend_seeds_diags(GtCondenseqCreator *ces_c,
         }
       }
     }
-    ces_c_diags_set(ces_c, d, i, match_bounds.start, overwrite_diag);
+    ces_c_diags_set(ces_c, d, subjectpos, subject_bounds.start, overwrite_diag);
   }
 
 #ifdef GT_CONDENSEQ_CREATOR_DIAGS_DEBUG
   if (diags->full != NULL) {
-    gt_log_log("J: " GT_WU " FULL", j);
-    for (i_idx = 0; i_idx < diags->full->nextfree; i_idx++) {
-      if (diags->full->space[i_idx] != GT_UNDEF_UWORD)
+    gt_log_log("I: " GT_WU " FULL", querypos);
+    for (subject_idx = 0; subject_idx < diags->full->nextfree; subject_idx++) {
+      if (diags->full->space[subject_idx] != GT_UNDEF_UWORD)
         gt_log_log("D: " GT_WU ", I: " GT_WU,
-                   i_idx, diags->full->space[i_idx]);
+                   subject_idx, diags->full->space[subject_idx]);
     }
   }
   if (diags->sparse != NULL) {
@@ -925,19 +931,21 @@ static int ces_c_extend_seeds_diags(GtCondenseqCreator *ces_c,
         gt_rbtree_iter_new_from_first(diags->sparse->add_tree);
     gt_rbtree_iter_reset_from_first(diags->sparse->add_iterator);
     iter = diags->sparse->add_iterator;
-    gt_log_log("J: " GT_WU " array:", j);
-    for (i_idx = 0; i_idx < diags->sparse->nextfree; i_idx++) {
-      if (diags->sparse->space[i_idx].i != GT_UNDEF_UWORD)
-        gt_log_log("D: " GT_WU ", I: " GT_WU,
-                   diags->sparse->space[i_idx].d,
-                   diags->sparse->space[i_idx].i);
+    gt_log_log("I: " GT_WU " array:", querypos);
+    for (subject_idx = 0;
+         subject_idx < diags->sparse->nextfree;
+         subject_idx++) {
+      if (diags->sparse->space[subject_idx].j != GT_UNDEF_UWORD)
+        gt_log_log("D: " GT_WU ", J: " GT_WU,
+                   diags->sparse->space[subject_idx].d,
+                   diags->sparse->space[subject_idx].j);
       else
-        gt_log_log("D: " GT_WU ", I: X", diags->sparse->space[i_idx].d);
+        gt_log_log("D: " GT_WU ", J: X", diags->sparse->space[subject_idx].d);
     }
     gt_log_log("tree:");
     diag = gt_rbtree_iter_data(iter);
     while (diag != NULL) {
-      gt_log_log("D: " GT_WU ", I: " GT_WU, diag->d, diag->i);
+      gt_log_log("D: " GT_WU ", J: " GT_WU, diag->d, diag->j);
       diag = gt_rbtree_iter_next(iter);
     }
   }
@@ -947,8 +955,8 @@ static int ces_c_extend_seeds_diags(GtCondenseqCreator *ces_c,
     if (best_link->len < ces_c->min_align_len)
       best_link->len = 0;
     else {
-      gt_assert(best_link->orig_startpos >= seed_bounds.start);
-      gt_assert(best_link->orig_startpos + best_link->len <= seed_bounds.end);
+      gt_assert(best_link->orig_startpos >= query_bounds.start);
+      gt_assert(best_link->orig_startpos + best_link->len <= query_bounds.end);
     }
   }
   return had_err;
@@ -1236,7 +1244,7 @@ static void ces_c_add_kmers(GtCondenseqCreator *ces_c,
   gt_assert(start < end);
   if (start + ces_c->min_align_len <= end)
     gt_kmer_database_add_interval(ces_c->kmer_db, start, end - 1,
-                                  ces_c->ces->udb_nelems - 1);
+                                  ces_c->ces->uds_nelems - 1);
 }
 
 static CesCState ces_c_handle_seqend(GtCondenseqCreator *ces_c,
@@ -1574,8 +1582,8 @@ static int ces_c_analyse(GtCondenseqCreator *ces_c, GtTimer *timer,
           gt_log_log(GT_WU " kmer positions in unique (kmer_db)",
                      gt_kmer_database_get_kmer_count(ces_c->kmer_db));
           gt_log_log(GT_WU " times xdrop was called", ces_c_xdrops);
-          gt_log_log(GT_WU " uniques", ces_c->ces->udb_nelems);
-          gt_log_log(GT_WU " links", ces_c->ces->ldb_nelems);
+          gt_log_log(GT_WU " uniques", ces_c->ces->uds_nelems);
+          gt_log_log(GT_WU " links", ces_c->ces->lds_nelems);
           if (gt_showtime_enabled()) {
             if (percentile + 1 <= 100)
               gt_timer_show_progress_formatted(timer, stderr,
@@ -1607,7 +1615,7 @@ static void ces_c_write_unique_fasta(GtCondenseqCreator *ces_c, FILE *fp)
   char *buffer = NULL;
   unsigned int buffsize = 0;
   GtCondenseqUnique current;
-  for (idx = 0; idx < ces_c->ces->udb_nelems; ++idx) {
+  for (idx = 0; idx < ces_c->ces->uds_nelems; ++idx) {
     current = ces_c->ces->uniques[idx];
     gt_assert(current.len != 0);
     if (gt_log_enabled()) {
@@ -1723,11 +1731,11 @@ int gt_condenseq_creator_create(GtCondenseqCreator *condenseq_creator,
   if (!had_err) {
     if (gt_showtime_enabled())
       gt_timer_show_progress(timer, "write data, alphabet", stderr);
-    gt_log_log(GT_WU " kmer positons in final kmer_db",
+    gt_log_log(GT_WU " kmer positions in final kmer_db",
                gt_kmer_database_get_kmer_count(condenseq_creator->kmer_db));
     gt_log_log(GT_WU " xdrop calls.", ces_c_xdrops);
-    gt_log_log(GT_WU " uniques", condenseq_creator->ces->udb_nelems);
-    gt_log_log(GT_WU " links", condenseq_creator->ces->ldb_nelems);
+    gt_log_log(GT_WU " uniques", condenseq_creator->ces->uds_nelems);
+    gt_log_log(GT_WU " links", condenseq_creator->ces->lds_nelems);
     gt_log_log(GT_WU " bytes in final kmer_db",
                gt_kmer_database_get_used_size(condenseq_creator->kmer_db));
     gt_log_log(GT_WU " bytes allocated for kmer_db",
diff --git a/src/extended/condenseq_creator.h b/src/extended/condenseq_creator.h
index d04876e..cd110b0 100644
--- a/src/extended/condenseq_creator.h
+++ b/src/extended/condenseq_creator.h
@@ -55,7 +55,7 @@ int                 gt_condenseq_creator_create(
                                           GtLogger *kdb_logger,
                                           GtError *err);
 /* This option turns of optimized seed extension. Every seed is used for xdrop
-   without filtering. And no cutoff is used for number of considered kmer
+   without filtering. And no cutoff is used for number of considered k-mer
    positions.
    Consider this to be a development option for benchmarking purpose.
    Disables diagonals and filtered extension. */
@@ -83,25 +83,25 @@ void                gt_condenseq_creator_enable_full_diagonals(
    effect as gt_condenseq_creator_enable_opt(). */
 void                gt_condenseq_creator_disable_full_diagonals(
                                          GtCondenseqCreator *condenseq_creator);
-/* If a kmer appears more often than <cutoff_value> in the unique data it won't
+/* If a k-mer appears more often than <cutoff_value> in the unique data it won't
    be used to find new alignments, because it likely has a low chance to find
    new alignments. */
 void                gt_condenseq_creator_set_cutoff(
                                           GtCondenseqCreator *condenseq_creator,
                                           GtUword cutoff_value);
-/* If this option is used every kmer in the unique data will be used to find new
-   alignments. */
+/* If this option is used every k-mer in the unique data will be used
+   to find new alignments. */
 void                gt_condenseq_creator_disable_cutoff(
                                          GtCondenseqCreator *condenseq_creator);
 /* If this option is set the <cutoff_value> will be deduced by the current mean
-   value of kmers in the unique data. */
+   value of k-mers in the unique data. */
 void                gt_condenseq_creator_use_mean_cutoff(
                                          GtCondenseqCreator *condenseq_creator);
-/* If this option is set only <cutoff_value> many kmers will be saved to find
+/* If this option is set only <cutoff_value> many k-mers will be saved to find
    alignments. Only works when a cutoff is set. */
 void                gt_condenseq_creator_disable_prune(
                                          GtCondenseqCreator *condenseq_creator);
-/* This option specifies which fraction of the mean value of each kmer in the
+/* This option specifies which fraction of the mean value of each k-mer in the
    unique data is used to calculate a current <cutoff_value> (mean/<fraction>.*/
 void                gt_condenseq_creator_set_mean_fraction(
                                           GtCondenseqCreator *condenseq_creator,
diff --git a/src/extended/condenseq_rep.h b/src/extended/condenseq_rep.h
index 4d0a291..17dae94 100644
--- a/src/extended/condenseq_rep.h
+++ b/src/extended/condenseq_rep.h
@@ -71,13 +71,13 @@ struct GtCondenseq {
   GtUword buffsize,
           id_len, /* GT_UNDEF_UWORD if sdstab != NULL */
           ids_total_len,
-          ldb_allocated,
-          ldb_nelems,
+          lds_allocated,
+          lds_nelems,
           orig_len,
           orig_num_seq,
           ubuffsize,
-          udb_allocated,
-          udb_nelems;
+          uds_allocated,
+          uds_nelems;
 };
 
 /* Returns a new GtCondenseq object, which is empty and can be filled by
@@ -85,7 +85,7 @@ struct GtCondenseq {
 GtCondenseq* gt_condenseq_new(const GtEncseq *orig_es, GtLogger *logger);
 
 /* Returns index of the unique element with the biggest orig_startpos smaller
-   than <position>. if smallest is larger: return first. */
+   than <position>. If smallest is larger: return first. */
 GtUword      gt_condenseq_uniques_position_binsearch(
                                                    const GtCondenseq *condenseq,
                                                    GtUword position);
diff --git a/src/extended/condenseq_search_arguments.h b/src/extended/condenseq_search_arguments.h
index 20ed334..b84a571 100644
--- a/src/extended/condenseq_search_arguments.h
+++ b/src/extended/condenseq_search_arguments.h
@@ -23,6 +23,8 @@
 #include "core/str_api.h"
 #include "extended/condenseq.h"
 
+/* The <GtCondenseqSearchArguments> class represents some general options used
+   by all implemented search tools that search on GtCondenseq. */
 typedef struct GtCondenseqSearchArguments GtCondenseqSearchArguments;
 
 /* Returns a new <GtCondenseqSearchArguments> object */
diff --git a/src/extended/editscript.c b/src/extended/editscript.c
index 904607e..1562ff2 100644
--- a/src/extended/editscript.c
+++ b/src/extended/editscript.c
@@ -169,6 +169,8 @@ static inline void editscript_space_add_length(GtEditscript *es,
   /* scheme: [1111][x][x][x][x] first store consecutive ones for each element
      needed, (like elias gamma) then store the value split up to chunks of
      element size */
+  /* Idea: this could be made faster with lookup-tables for the filling of most
+     significant bits. */
   uint32_t num_elems = 0,
            shift;
   GtBitsequence tmp = value;
@@ -178,24 +180,29 @@ static inline void editscript_space_add_length(GtEditscript *es,
     editscript_space_add_next(es, fillpos, tmp);
   }
   else {
+    /* count the number elements needed */
     while (tmp != 0) {
       num_elems++;
       tmp >>= es->entry_size;
     }
-    /* number of one bits corresponds to num of elements needed */
-    tmp = (GtBitsequence) (1 << num_elems) - 1;
-    while ((tmp & GT_EDITSCRIPT_FIRSTMASK(es)) != 0) {
-      /* add ~0 (full) elements */
+
+    /* write number of entries in unary */
+    tmp = num_elems;
+    /* write full 1-entries */
+    while (tmp >= es->entry_size) {
       editscript_space_add_next(es, fillpos, GT_EDITSCRIPT_FULLMASK(es));
-      tmp >>= es->entry_size;
+      tmp -= es->entry_size;
     }
     if (tmp != 0) {
-      /* move bits to front */
-      while ((tmp & GT_EDITSCRIPT_FIRSTMASK(es)) == 0) {
-        tmp <<= 1;
-      }
+      /* write tmp 1 bits at most siginficant positions, e.g. entry_size=4,
+         tmp=3: [1110]
+         left shift by number of zeros, mask with entry_size 1bits.
+      */
+      tmp = (GT_EDITSCRIPT_FULLMASK(es) << (es->entry_size - tmp)) &
+        GT_EDITSCRIPT_FULLMASK(es);
     }
-    /* either add remaining bits or one zero element to seperated */
+    /* tmp contains either the remaining bits or one zero element to seperated
+     */
     editscript_space_add_next(es, fillpos, tmp);
 
     /* store actual value */
@@ -216,31 +223,38 @@ editscript_space_get_length(const GtEditscript *es,
 {
   GtBitsequence ret = 0,
                 elem = 0,
+                part_elem = 0,
                 num_elems = 0;
 
-  num_elems = elem = editscript_space_get_next(es, pos);
+  elem = editscript_space_get_next(es, pos);
   (*elems_used)++;
   /* first bit not set, the value itself. */
   if ((elem & GT_EDITSCRIPT_FIRSTMASK(es)) == 0) {
     return elem;
   }
+  /* first bit is set, cosecutive 1-bits represent number of elements to read */
   while (elem == GT_EDITSCRIPT_FULLMASK(es)) {
+    num_elems += es->entry_size;
     elem = editscript_space_get_next(es, pos);
     (*elems_used)++;
-    if (elem != 0) {
-      num_elems <<= es->entry_size;
-      num_elems |= elem;
-    }
   }
-  /* move bits to right, max entry_size steps. */
-  while ((num_elems & 1) == 0) {
-    num_elems >>= 1;
+  /* elem is not full with 1 bits, but some most significant bits are set equal
+     to number of elements to read, iterate over 1 bits, read elements of number
+     while we do so. */
+  while ((elem & GT_EDITSCRIPT_FIRSTMASK(es)) != 0) {
+    elem <<= 1;
+    part_elem = editscript_space_get_next(es, pos);
+    (*elems_used)++;
+    ret <<= es->entry_size;
+    ret |= part_elem;
   }
+  /* more elements to read as has been indicated by full 1-bit elems from above
+     */
   while (num_elems != 0) {
-    num_elems >>= 1;
-    ret <<= es->entry_size;
+    num_elems--;
     elem = editscript_space_get_next(es, pos);
     (*elems_used)++;
+    ret <<= es->entry_size;
     ret |= elem;
   }
   return ret;
diff --git a/src/extended/editscript.h b/src/extended/editscript.h
index 35fa784..7941b8f 100644
--- a/src/extended/editscript.h
+++ b/src/extended/editscript.h
@@ -32,39 +32,45 @@
    reversed. */
 typedef struct GtEditscript GtEditscript;
 
+/* Class <GtEditscriptBuilder> is used to fill a <GtEditscript> one operation a
+   time. We recommend to use the function gt_editscript_new_with_sequences() to
+   fill the <GtEditscript> object directly. Operations are added left to right,
+   not as in <GtAlignment> or <GtMultieop> classes! */
+typedef struct GtEditscriptBuilder GtEditscriptBuilder;
+
 /* Returns new empty <GtEditscript> object. */
-GtEditscript*   gt_editscript_new(GtAlphabet *alphabet);
+GtEditscript* gt_editscript_new(GtAlphabet *alphabet);
 
 /* print out a string representing the editscript */
-void            gt_editscript_show(const GtEditscript *editscript,
-                                   GtAlphabet *alphabet);
+void          gt_editscript_show(const GtEditscript *editscript,
+                                 GtAlphabet *alphabet);
 /* Delete content of <editscript> */
-void            gt_editscript_reset(GtEditscript *editscript);
+void          gt_editscript_reset(GtEditscript *editscript);
 
 /* Returns new <GtEditscript> object and fills it with <encseq> as "second" or v
    sequence and <multieops> representing the edit operations when aligned to a
    sequence u. <start> and <dir> define where sequence v starts within
    <encseq>. Expects <multieops> to be in reverse (right to left) order. */
-GtEditscript*   gt_editscript_new_with_sequences(const GtEncseq *encseq,
-                                                 GtMultieoplist *multieops,
-                                                 GtUword start,
-                                                 GtReadmode dir);
+GtEditscript* gt_editscript_new_with_sequences(const GtEncseq *encseq,
+                                               GtMultieoplist *multieops,
+                                               GtUword start,
+                                               GtReadmode dir);
 /* Sets <match> <mismatch> <insertion> and <deletion> to the number of
    occurrences of those edit operations within the <editscript> */
-void            gt_editscript_get_stats(const GtEditscript *editscript,
-                                        GtUword *match,
-                                        GtUword *mismatch,
-                                        GtUword *insertion,
-                                        GtUword *deletion);
+void          gt_editscript_get_stats(const GtEditscript *editscript,
+                                      GtUword *match,
+                                      GtUword *mismatch,
+                                      GtUword *insertion,
+                                      GtUword *deletion);
 /* Returns the length of the target sequence v. */
-GtUword         gt_editscript_get_target_len(const GtEditscript *editscript);
+GtUword       gt_editscript_get_target_len(const GtEditscript *editscript);
 
 /* Returns the length of the source sequence u. */
-GtUword         gt_editscript_get_source_len(const GtEditscript *editscript);
+GtUword       gt_editscript_get_source_len(const GtEditscript *editscript);
 
 /* Returns the length of the target subsequence of v that corresponds to u
    starting at <srcfrom> with length <srclen>. */
-GtUword         gt_editscript_get_target_subseq_len(
+GtUword       gt_editscript_get_target_subseq_len(
                                                  const GtEditscript *editscript,
                                                  GtUword srcfrom,
                                                  GtUword srclen);
@@ -74,24 +80,24 @@ GtUword         gt_editscript_get_target_subseq_len(
    alignment, <buffer> will be resized and <bufsize> set accordingly. If
    <buffer> is NULL, space will be allocated and <bufsize> set.
    Returns the number of <GtUchar>s written to buffer. */
-GtUword         gt_editscript_get_sequence(const GtEditscript *editscript,
-                                           const GtEncseq *encseq,
-                                           GtUword start,
-                                           GtReadmode dir,
-                                           GtUchar **buffer,
-                                           GtUword *bufsize);
+GtUword       gt_editscript_get_sequence(const GtEditscript *editscript,
+                                         const GtEncseq *encseq,
+                                         GtUword start,
+                                         GtReadmode dir,
+                                         GtUchar **buffer,
+                                         GtUword *bufsize);
 /* Transform sequence u defined by <start> and <dir> in <encseq> using the edit
    operations in <editscript> and stores the result in <buffer> which has to be
    large enough to hold v (the resulting sequence). Extracts only positions
    <vfrompos> to <vtopos> (inclusive) relative to v.
    Returns the number of <GtUchar>s written to buffer. */
-GtUword         gt_editscript_get_sub_sequence_v(const GtEditscript *editscript,
-                                                 const GtEncseq *encseq,
-                                                 GtUword start,
-                                                 GtReadmode dir,
-                                                 GtUword vfrompos,
-                                                 GtUword vtopos,
-                                                 GtUchar *buffer);
+GtUword       gt_editscript_get_sub_sequence_v(const GtEditscript *editscript,
+                                               const GtEncseq *encseq,
+                                               GtUword start,
+                                               GtReadmode dir,
+                                               GtUword vfrompos,
+                                               GtUword vtopos,
+                                               GtUchar *buffer);
 /* Transform sequence u defined by <start> and <dir> in <encseq> using the edit
    operations in <editscript> and stores the result in <buffer> of size
    <bufsize>. As the length of the corresponding v can not be known in an
@@ -100,32 +106,26 @@ GtUword         gt_editscript_get_sub_sequence_v(const GtEditscript *editscript,
    Extracts only positions <ufrompos> to <utopos> (inclusive) relative to start
    of u.
    Returns the number of <GtUchar>s written to buffer. */
-GtUword         gt_editscript_get_sub_sequence_u(const GtEditscript *editscript,
-                                                 const GtEncseq *encseq,
-                                                 GtUword start,
-                                                 GtReadmode dir,
-                                                 GtUword ufrompos,
-                                                 GtUword utopos,
-                                                 GtUchar **buffer,
-                                                 GtUword *bufsize);
+GtUword       gt_editscript_get_sub_sequence_u(const GtEditscript *editscript,
+                                               const GtEncseq *encseq,
+                                               GtUword start,
+                                               GtReadmode dir,
+                                               GtUword ufrompos,
+                                               GtUword utopos,
+                                               GtUchar **buffer,
+                                               GtUword *bufsize);
 /* Read or write to/from File, depending on <editscript>. If <NULL>, it
    allocates memory for a new <GtEditscript> object and tries to fill it from
    file <fp>. If not <NULL> it writs the content of <editscript> to <fp>.
    Returns <NULL> on error, in which case <editscript> will be deleted and <err>
    will be set. */
-GtEditscript*   gt_editscript_io(GtEditscript *editscript, FILE *fp,
+GtEditscript* gt_editscript_io(GtEditscript *editscript, FILE *fp,
                                  GtError *err);
 /* Returns the size of the <editscript> in bytes in memory. */
-size_t          gt_editscript_size(const GtEditscript *editscript);
+size_t        gt_editscript_size(const GtEditscript *editscript);
 
 /* Free all memory associated with <editscript> */
-void            gt_editscript_delete(GtEditscript *editscript);
-
-/* Class <GtEditscriptBuilder> is used to fill a <GtEditscript> one operation a
-   time. We recommend to use the function gt_editscript_new_with_sequences() to
-   fill the <GtEditscript> object directly. Operations are added left to right,
-   not as in <GtAlignment> or <GtMultieop> classes! */
-typedef struct GtEditscriptBuilder GtEditscriptBuilder;
+void          gt_editscript_delete(GtEditscript *editscript);
 
 /* Returns new <GtEditscriptBuilder> object */
 GtEditscriptBuilder *gt_editscript_builder_new(GtEditscript *editscript);
diff --git a/src/extended/elias_gamma.h b/src/extended/elias_gamma.h
index 0acce69..538823c 100644
--- a/src/extended/elias_gamma.h
+++ b/src/extended/elias_gamma.h
@@ -29,7 +29,7 @@
 typedef struct GtEliasGammaBitwiseDecoder GtEliasGammaBitwiseDecoder;
 
 /* Encodes the given positive integer <x>, writes it to a new <GtBittab> object
-   and returns it. Expects x > 0. To encode 0 just add 1 to all numbers to
+   and returns it. Expects <x> > 0. To encode 0 just add 1 to all numbers to
    encode. */
 GtBittab*                   gt_elias_gamma_encode(GtUword x);
 
diff --git a/src/extended/encdesc.c b/src/extended/encdesc.c
index b223799..9fcf44c 100644
--- a/src/extended/encdesc.c
+++ b/src/extended/encdesc.c
@@ -44,7 +44,6 @@
 #include "extended/encdesc_header_io.h"
 #include "extended/encdesc_rep.h"
 #include "extended/huffcode.h"
-#include "extended/rbtree.h"
 #include "extended/sampling.h"
 
 #define GT_ENCDESC_ARRAY_RESIZE 50
diff --git a/src/extended/encdesc_header_io.h b/src/extended/encdesc_header_io.h
index d6a52cf..b608bf6 100644
--- a/src/extended/encdesc_header_io.h
+++ b/src/extended/encdesc_header_io.h
@@ -21,6 +21,8 @@
 #include "core/error_api.h"
 #include "extended/encdesc.h"
 
+/* GtEncdescHeaderIO module */
+
 /* Write header information of <encdesc> to <FILE> <fp>.
    Returns 0 on success, 1 on error, sets <err> accordingly.
    TODO DW this function does more than that, it sets some bool within the
diff --git a/src/extended/fasta_header_iterator.h b/src/extended/fasta_header_iterator.h
index 4892169..5dd4579 100644
--- a/src/extended/fasta_header_iterator.h
+++ b/src/extended/fasta_header_iterator.h
@@ -21,14 +21,18 @@
 #include "core/str_array_api.h"
 #include "extended/cstr_iterator_rep.h"
 
-/* implements <GtCstrIterator> */
+/* The <GtFastaHeaderIterator> class, implements <GtCstrIterator> */
 typedef struct GtFastaHeaderIterator GtFastaHeaderIterator;
 
 const GtCstrIteratorClass* gt_fasta_header_iterator_class(void);
 
+/* Returns new <GtCstrIterator> which will allow to iterate over the fasta
+   headers of file(s) <filenametab>. Returns <NULL> on error. */
 GtCstrIterator*            gt_fasta_header_iterator_new(GtStrArray *filenametab,
                                                         GtError *err);
 
+/* Tests if <GSI> is a <GtFastaHeaderIterator> and returns the meta class object
+   or <NULL> if the class is not a <GtFastaHeaderIterator>. */
 #define                    gt_fasta_header_iterator_cast(GSI) \
   gt_cstr_iterator_cast(gt_fasta_header_iterator_class(), GSI)
 #endif
diff --git a/src/extended/gff3_escaping.c b/src/extended/gff3_escaping.c
index fd1d469..5170620 100644
--- a/src/extended/gff3_escaping.c
+++ b/src/extended/gff3_escaping.c
@@ -178,23 +178,23 @@ int gt_gff3_escaping_unit_test(GtError *err)
 
   /* test allowed chars, need not be escaped but should be unescaped */
   for (i = ' '; !had_err && i < 0x7F; i++) {
-    char code[4];
-    snprintf(code, 4, "%%%02X", i);
+    char code[10];
+    snprintf(code, 10, "%%%02X", i);
     had_err = test_single_escaping((char) i, code, false, true, err);
   }
 
   /* control characters, must be escaped and unescaped */
   for (i = 1; !had_err && i < ' '; i++) {
-    char code[4];
-    snprintf(code, 4, "%%%02X", i);
+    char code[10];
+    snprintf(code, 10, "%%%02X", i);
     had_err = test_single_escaping((char) i, code, true, true, err);
   }
 
   /* non-hex codes (e.g. '%ZS') should be ignored altogether */
   for (i = 0x7F; !had_err && i <= 0xFF; i++) {
-    char code[10];
-    snprintf(code, 10, "foo%%%Xbar", i);
-    had_err = gt_gff3_unescape(unescaped, code, 10, err);
+    char code[16];
+    snprintf(code, 16, "foo%%%Xbar", i);
+    had_err = gt_gff3_unescape(unescaped, code, 16, err);
     gt_ensure(!strcmp(gt_str_get(unescaped), code));
     gt_str_reset(unescaped);
   }
diff --git a/src/extended/gff3_parser.c b/src/extended/gff3_parser.c
index 3613a18..9d29f15 100644
--- a/src/extended/gff3_parser.c
+++ b/src/extended/gff3_parser.c
@@ -998,10 +998,27 @@ static int compare_other_attribute(const char *attr_name, GtFeatureNode *new_gf,
                                    GtFeatureNode *old_gf, const char *id,
                                    GtGFF3Parser *parser, GtError *err)
 {
+  const char *old_attr_val = NULL,
+             *new_attr_val = NULL;
   gt_error_check(err);
   gt_assert(attr_name && new_gf && old_gf && parser);
-  if (strcmp(gt_feature_node_get_attribute(new_gf, attr_name),
-             gt_feature_node_get_attribute(old_gf, attr_name))) {
+  old_attr_val = gt_feature_node_get_attribute(old_gf, attr_name);
+  new_attr_val = gt_feature_node_get_attribute(new_gf, attr_name);
+  if (!old_attr_val || !new_attr_val) {
+    gt_error_set(err, "the multi-feature with %s \"%s\" on line %u in file "
+                 "\"%s\" does not share attribute '%s' with its counterpart "
+                 "on line %u ('%s' vs. '%s')",
+                 GT_GFF_ID, id,
+                 gt_genome_node_get_line_number((GtGenomeNode*) new_gf),
+                 gt_genome_node_get_filename((GtGenomeNode*) new_gf),
+                 attr_name,
+                 gt_genome_node_get_line_number((GtGenomeNode*) old_gf),
+                 (new_attr_val ? new_attr_val : "<missing>"),
+                 (old_attr_val ? old_attr_val : "<missing>"));
+    return -1;
+  }
+  gt_assert(new_attr_val && old_attr_val);
+  if (strcmp(new_attr_val, old_attr_val)) {
     if (parser->tidy && !strcmp(attr_name, GT_GFF_PARENT)) {
       tidy_multi_feature_with_different_parent(new_gf, old_gf, id,
                                                parser->feature_info);
diff --git a/src/extended/huffcode.h b/src/extended/huffcode.h
index f90ce0f..d9a480f 100644
--- a/src/extended/huffcode.h
+++ b/src/extended/huffcode.h
@@ -124,7 +124,7 @@ typedef int (*GtHuffmanDecoderGetMemFunc) (GtBitsequence **bitsequence,
    part of mmaped space. <mem_func> will be called initially to get the first
    chunk of data.
    This type of encoder is helpful if the encoded data is sampled or read in
-   chunks from mmapped files. */
+   chunks from mmaped files. */
 GtHuffmanDecoder* gt_huffman_decoder_new_from_memory(
                                             GtHuffman *huffman,
                                             GtHuffmanDecoderGetMemFunc mem_func,
diff --git a/src/extended/intset.h b/src/extended/intset.h
index 461616b..1d7fd62 100644
--- a/src/extended/intset.h
+++ b/src/extended/intset.h
@@ -74,7 +74,7 @@ size_t    gt_intset_size_of_rep(GtIntset *intset);
 size_t    gt_intset_best_memory_size(GtUword maxelement, GtUword num_of_elems);
 
 /* Write <intset> to file <fp>. Fails with exit on IO-error. Returns NULL if
-   data error occures and writes it to <err>, <intset> will be deleted at that
+   data error occurs and writes it to <err>, <intset> will be deleted at that
    point. */
 GtIntset* gt_intset_write(GtIntset *intset, FILE *fp, GtError *err);
 
diff --git a/src/extended/intset_16.c b/src/extended/intset_16.c
index 7e5a446..be53b02 100644
--- a/src/extended/intset_16.c
+++ b/src/extended/intset_16.c
@@ -17,7 +17,7 @@
 
 /*
   THIS FILE IS GENERATED by
-  ./scripts/gen-intsets.rb.
+  scripts/gen-intsets.rb.
   DO NOT EDIT.
 */
 
@@ -469,6 +469,16 @@ const GtIntsetClass* gt_intset_16_class(void)
   return this_c;
 }
 
+#define GT_INTSET_TEST_16_BINSEARCH(IDX) \
+gt_ensure(gt_intset_16_get_test(is, IDX) == arr[IDX]); \
+gt_ensure(gt_intset_16_get(is, IDX) == arr[IDX]); \
+gt_ensure( \
+  gt_intset_16_get_idx_smallest_geq_test(is, arr[IDX] + 1) == \
+  IDX + 1); \
+gt_ensure( \
+  gt_intset_16_get_idx_smallest_geq(is, arr[IDX] + 1) == \
+  IDX + 1)
+
 int gt_intset_16_unit_test(GtError *err)
 {
   int had_err = 0;
@@ -486,7 +496,7 @@ int gt_intset_16_unit_test(GtError *err)
     arr[idx] = arr[idx - 1] + gt_rand_max(stepsize) + 1;
   }
 
-  is_size =     gt_intset_16_size_of_rep(arr[num_of_elems - 1], num_of_elems);
+  is_size = gt_intset_16_size_of_rep(arr[num_of_elems - 1], num_of_elems);
 
   if (!had_err) {
     if (is_size < (size_t) UINT_MAX) {
@@ -503,23 +513,16 @@ int gt_intset_16_unit_test(GtError *err)
       gt_ensure(gt_intset_16_elems_is_valid(is));
       gt_ensure(gt_intset_16_secstart_is_valid(is));
 
-      for (idx = 0; !had_err && idx < num_of_elems; idx++) {
-        if (arr[idx] != 0 && arr[idx - 1] != (arr[idx] - 1)) {
-          gt_ensure(
-            gt_intset_16_get_idx_smallest_geq_test(is, arr[idx] - 1) ==
-            idx);
-          gt_ensure(
-            gt_intset_16_get_idx_smallest_geq(is, arr[idx] - 1) ==
-            idx);
-        }
-        gt_ensure(gt_intset_16_get_test(is, idx) == arr[idx]);
-        gt_ensure(gt_intset_16_get(is, idx) == arr[idx]);
+      GT_INTSET_TEST_16_BINSEARCH(0);
+      for (idx = 1; !had_err && idx < num_of_elems; idx++) {
+        GtUword to_find = (arr[idx - 1] == (arr[idx] - 1)) ? idx - 1 : idx;
         gt_ensure(
-          gt_intset_16_get_idx_smallest_geq_test(is, arr[idx] + 1) ==
-          idx + 1);
+          gt_intset_16_get_idx_smallest_geq_test(is, arr[idx] - 1) ==
+          to_find);
         gt_ensure(
-          gt_intset_16_get_idx_smallest_geq(is, arr[idx] + 1) ==
-          idx + 1);
+          gt_intset_16_get_idx_smallest_geq(is, arr[idx] - 1) ==
+          to_find);
+        GT_INTSET_TEST_16_BINSEARCH(idx);
       }
       if (!had_err)
         had_err = gt_intset_unit_test_notinset(is, 0, arr[0] - 1, err);
diff --git a/src/extended/intset_16.h b/src/extended/intset_16.h
index 95b16f1..aee85b5 100644
--- a/src/extended/intset_16.h
+++ b/src/extended/intset_16.h
@@ -17,7 +17,7 @@
 
 /*
   THIS FILE IS GENERATED by
-  ./scripts/gen-intsets.rb.
+  scripts/gen-intsets.rb.
   DO NOT EDIT.
 */
 
diff --git a/src/extended/intset_32.c b/src/extended/intset_32.c
index b14bbf3..3d41eb0 100644
--- a/src/extended/intset_32.c
+++ b/src/extended/intset_32.c
@@ -17,7 +17,7 @@
 
 /*
   THIS FILE IS GENERATED by
-  ./scripts/gen-intsets.rb.
+  scripts/gen-intsets.rb.
   DO NOT EDIT.
 */
 
@@ -469,6 +469,16 @@ const GtIntsetClass* gt_intset_32_class(void)
   return this_c;
 }
 
+#define GT_INTSET_TEST_32_BINSEARCH(IDX) \
+gt_ensure(gt_intset_32_get_test(is, IDX) == arr[IDX]); \
+gt_ensure(gt_intset_32_get(is, IDX) == arr[IDX]); \
+gt_ensure( \
+  gt_intset_32_get_idx_smallest_geq_test(is, arr[IDX] + 1) == \
+  IDX + 1); \
+gt_ensure( \
+  gt_intset_32_get_idx_smallest_geq(is, arr[IDX] + 1) == \
+  IDX + 1)
+
 int gt_intset_32_unit_test(GtError *err)
 {
   int had_err = 0;
@@ -486,7 +496,7 @@ int gt_intset_32_unit_test(GtError *err)
     arr[idx] = arr[idx - 1] + gt_rand_max(stepsize) + 1;
   }
 
-  is_size =     gt_intset_32_size_of_rep(arr[num_of_elems - 1], num_of_elems);
+  is_size = gt_intset_32_size_of_rep(arr[num_of_elems - 1], num_of_elems);
 
   if (!had_err) {
     if (is_size < (size_t) UINT_MAX) {
@@ -503,23 +513,16 @@ int gt_intset_32_unit_test(GtError *err)
       gt_ensure(gt_intset_32_elems_is_valid(is));
       gt_ensure(gt_intset_32_secstart_is_valid(is));
 
-      for (idx = 0; !had_err && idx < num_of_elems; idx++) {
-        if (arr[idx] != 0 && arr[idx - 1] != (arr[idx] - 1)) {
-          gt_ensure(
-            gt_intset_32_get_idx_smallest_geq_test(is, arr[idx] - 1) ==
-            idx);
-          gt_ensure(
-            gt_intset_32_get_idx_smallest_geq(is, arr[idx] - 1) ==
-            idx);
-        }
-        gt_ensure(gt_intset_32_get_test(is, idx) == arr[idx]);
-        gt_ensure(gt_intset_32_get(is, idx) == arr[idx]);
+      GT_INTSET_TEST_32_BINSEARCH(0);
+      for (idx = 1; !had_err && idx < num_of_elems; idx++) {
+        GtUword to_find = (arr[idx - 1] == (arr[idx] - 1)) ? idx - 1 : idx;
         gt_ensure(
-          gt_intset_32_get_idx_smallest_geq_test(is, arr[idx] + 1) ==
-          idx + 1);
+          gt_intset_32_get_idx_smallest_geq_test(is, arr[idx] - 1) ==
+          to_find);
         gt_ensure(
-          gt_intset_32_get_idx_smallest_geq(is, arr[idx] + 1) ==
-          idx + 1);
+          gt_intset_32_get_idx_smallest_geq(is, arr[idx] - 1) ==
+          to_find);
+        GT_INTSET_TEST_32_BINSEARCH(idx);
       }
       if (!had_err)
         had_err = gt_intset_unit_test_notinset(is, 0, arr[0] - 1, err);
diff --git a/src/extended/intset_32.h b/src/extended/intset_32.h
index a0a77bb..21b8134 100644
--- a/src/extended/intset_32.h
+++ b/src/extended/intset_32.h
@@ -17,7 +17,7 @@
 
 /*
   THIS FILE IS GENERATED by
-  ./scripts/gen-intsets.rb.
+  scripts/gen-intsets.rb.
   DO NOT EDIT.
 */
 
diff --git a/src/extended/intset_8.c b/src/extended/intset_8.c
index c441c1c..ee58514 100644
--- a/src/extended/intset_8.c
+++ b/src/extended/intset_8.c
@@ -17,7 +17,7 @@
 
 /*
   THIS FILE IS GENERATED by
-  ./scripts/gen-intsets.rb.
+  scripts/gen-intsets.rb.
   DO NOT EDIT.
 */
 
@@ -469,6 +469,16 @@ const GtIntsetClass* gt_intset_8_class(void)
   return this_c;
 }
 
+#define GT_INTSET_TEST_8_BINSEARCH(IDX) \
+gt_ensure(gt_intset_8_get_test(is, IDX) == arr[IDX]); \
+gt_ensure(gt_intset_8_get(is, IDX) == arr[IDX]); \
+gt_ensure( \
+  gt_intset_8_get_idx_smallest_geq_test(is, arr[IDX] + 1) == \
+  IDX + 1); \
+gt_ensure( \
+  gt_intset_8_get_idx_smallest_geq(is, arr[IDX] + 1) == \
+  IDX + 1)
+
 int gt_intset_8_unit_test(GtError *err)
 {
   int had_err = 0;
@@ -486,7 +496,7 @@ int gt_intset_8_unit_test(GtError *err)
     arr[idx] = arr[idx - 1] + gt_rand_max(stepsize) + 1;
   }
 
-  is_size =     gt_intset_8_size_of_rep(arr[num_of_elems - 1], num_of_elems);
+  is_size = gt_intset_8_size_of_rep(arr[num_of_elems - 1], num_of_elems);
 
   if (!had_err) {
     if (is_size < (size_t) UINT_MAX) {
@@ -503,23 +513,16 @@ int gt_intset_8_unit_test(GtError *err)
       gt_ensure(gt_intset_8_elems_is_valid(is));
       gt_ensure(gt_intset_8_secstart_is_valid(is));
 
-      for (idx = 0; !had_err && idx < num_of_elems; idx++) {
-        if (arr[idx] != 0 && arr[idx - 1] != (arr[idx] - 1)) {
-          gt_ensure(
-            gt_intset_8_get_idx_smallest_geq_test(is, arr[idx] - 1) ==
-            idx);
-          gt_ensure(
-            gt_intset_8_get_idx_smallest_geq(is, arr[idx] - 1) ==
-            idx);
-        }
-        gt_ensure(gt_intset_8_get_test(is, idx) == arr[idx]);
-        gt_ensure(gt_intset_8_get(is, idx) == arr[idx]);
+      GT_INTSET_TEST_8_BINSEARCH(0);
+      for (idx = 1; !had_err && idx < num_of_elems; idx++) {
+        GtUword to_find = (arr[idx - 1] == (arr[idx] - 1)) ? idx - 1 : idx;
         gt_ensure(
-          gt_intset_8_get_idx_smallest_geq_test(is, arr[idx] + 1) ==
-          idx + 1);
+          gt_intset_8_get_idx_smallest_geq_test(is, arr[idx] - 1) ==
+          to_find);
         gt_ensure(
-          gt_intset_8_get_idx_smallest_geq(is, arr[idx] + 1) ==
-          idx + 1);
+          gt_intset_8_get_idx_smallest_geq(is, arr[idx] - 1) ==
+          to_find);
+        GT_INTSET_TEST_8_BINSEARCH(idx);
       }
       if (!had_err)
         had_err = gt_intset_unit_test_notinset(is, 0, arr[0] - 1, err);
diff --git a/src/extended/intset_8.h b/src/extended/intset_8.h
index 1650794..6f02ce0 100644
--- a/src/extended/intset_8.h
+++ b/src/extended/intset_8.h
@@ -17,7 +17,7 @@
 
 /*
   THIS FILE IS GENERATED by
-  ./scripts/gen-intsets.rb.
+  scripts/gen-intsets.rb.
   DO NOT EDIT.
 */
 
diff --git a/src/extended/io_function_pointers.h b/src/extended/io_function_pointers.h
index b5f7163..7845f98 100644
--- a/src/extended/io_function_pointers.h
+++ b/src/extended/io_function_pointers.h
@@ -23,8 +23,12 @@
 
 #include "core/error_api.h"
 
+/* GtIOFunctionPointer module */
+
 /* IO function, either reads or writes to file <stream>. Either one of the two
-   functions below. */
+   functions below. Used for defining file types or headers using one
+   metafunction for reading and writing, switching the mode depending on which
+   of the functions is used. */
 typedef int (*GtIOFunc)(void *ptr, size_t size, size_t nmemb, FILE *stream,
                         GtError *err);
 
diff --git a/src/extended/linspace_management.c b/src/extended/linspace_management.c
index 6929542..85559ff 100644
--- a/src/extended/linspace_management.c
+++ b/src/extended/linspace_management.c
@@ -250,11 +250,14 @@ void *gt_linspace_management_get_maxspace(const GtLinspaceManagement
   return NULL;
 }
 
-static inline bool check(const GtLinspaceManagement *spacemanager,
+#ifndef NDEBUG
+static bool gt_linspace_management_check_space(
+                         const GtLinspaceManagement *spacemanager,
                          GtUword ulen, GtUword vlen)
 {
   return ((ulen+1)*(vlen+1)*sizeof(GtUword) <= spacemanager->valueTabsize);
 }
+#endif
 
 GtUword **gt_linspace_management_change_to_square(GtLinspaceManagement
                                                  *spacemanager,
@@ -262,7 +265,7 @@ GtUword **gt_linspace_management_change_to_square(GtLinspaceManagement
 {
   GtUword **E;
   GtUword idx;
-  gt_assert(check(spacemanager, ulen, vlen));
+  gt_assert(gt_linspace_management_check_space(spacemanager, ulen, vlen));
 
   E = gt_linspace_management_get_rTabspace(spacemanager);
   *E = gt_linspace_management_get_valueTabspace(spacemanager);
diff --git a/src/extended/match_blast.c b/src/extended/match_blast.c
index 32f8ad1..b1c98b8 100644
--- a/src/extended/match_blast.c
+++ b/src/extended/match_blast.c
@@ -1,6 +1,7 @@
 /*
   Copyright (c) 2011 Sascha Kastens <mail at skastens.de>
-  Copyright (c) 2011 Center for Bioinformatics, University of Hamburg
+  Copyright (c)      2016 Annika Seidel <annika.seidel at studium.uni-hamburg.de>
+  Copyright (c) 2011-2016 Center for Bioinformatics, University of Hamburg
 
   Permission to use, copy, modify, and distribute this software for any
   purpose with or without fee is hereby granted, provided that the above
@@ -31,7 +32,9 @@ struct GtMatchBlast {
   GtMatch parent_instance;
   double evalue;
   float bitscore;
-  GtUword ali_length;
+  GtUword ali_length,
+          mm_num,
+          gap_open_num;
   double similarity;
 };
 
@@ -84,6 +87,36 @@ GtMatch* gt_match_blast_new(char *seqid1,
   matchb->bitscore = bitscore;
   matchb->ali_length = length;
   matchb->similarity = similarity;
+  matchb->mm_num = 0;
+  matchb->gap_open_num = 0;
+  return match;
+}
+
+GtMatch* gt_match_blast_new_extended(char *seqid1,
+                                     char *seqid2,
+                                     GtUword start_seq1,
+                                     GtUword end_seq1,
+                                     GtUword start_seq2,
+                                     GtUword end_seq2,
+                                     double evalue,
+                                     float bitscore,
+                                     GtUword length,
+                                     double similarity,
+                                     GtUword mm_num,
+                                     GtUword gap_open_num,
+                                     GtMatchDirection dir)
+{
+  GtMatch *match;
+  GtMatchBlast *matchb;
+  match = gt_match_create(gt_match_blast_class(), start_seq1, end_seq1,
+                          start_seq2, end_seq2, seqid1, seqid2, dir);
+  matchb = gt_match_blast_cast(match);
+  matchb->evalue = evalue;
+  matchb->bitscore = bitscore;
+  matchb->ali_length = length;
+  matchb->similarity = similarity;
+  matchb->mm_num = mm_num;
+  matchb->gap_open_num = gap_open_num;
   return match;
 }
 
@@ -111,6 +144,18 @@ void gt_match_blast_set_similarity(GtMatchBlast *mb, double similarity)
   mb->similarity = similarity;
 }
 
+void gt_match_blast_set_mismatches(GtMatchBlast *mb, GtUword mm_num)
+{
+  gt_assert(mb);
+  mb->mm_num = mm_num;
+}
+
+void gt_match_blast_set_gapopen(GtMatchBlast *mb, GtUword gap_open_num)
+{
+  gt_assert(mb);
+  mb->gap_open_num = gap_open_num;
+}
+
 double gt_match_blast_get_evalue(GtMatchBlast *mb)
 {
   gt_assert(mb);
@@ -134,3 +179,15 @@ double gt_match_blast_get_similarity(GtMatchBlast *mb)
   gt_assert(mb);
   return mb->similarity;
 }
+
+GtUword gt_match_blast_get_mismatches(GtMatchBlast *mb)
+{
+  gt_assert(mb);
+  return mb->mm_num;
+}
+
+GtUword gt_match_blast_get_gapopen(GtMatchBlast *mb)
+{
+  gt_assert(mb);
+  return mb->gap_open_num;
+}
diff --git a/src/extended/match_blast_api.h b/src/extended/match_blast_api.h
index 8bd6500..53b7cd4 100644
--- a/src/extended/match_blast_api.h
+++ b/src/extended/match_blast_api.h
@@ -1,6 +1,7 @@
 /*
   Copyright (c) 2011 Sascha Kastens <mail at skastens.de>
-  Copyright (c) 2011 Center for Bioinformatics, University of Hamburg
+  Copyright (c)      2016 Annika Seidel <annika.seidel at studium.uni-hamburg.de>
+  Copyright (c) 2011-2016 Center for Bioinformatics, University of Hamburg
 
   Permission to use, copy, modify, and distribute this software for any
   purpose with or without fee is hereby granted, provided that the above
@@ -39,6 +40,27 @@ GtMatch* gt_match_blast_new(char *seqid1,
                             double similarity,
                             GtMatchDirection dir);
 
+/* Creates a new <GtMatch> object meant to store results in the BLAST
+   format. That is, it stores double values <evalue> for match E-values,
+   <bitscore>s and the alignment length <ali_l> in addition to the generic
+   match contents <seqid1>, <seqid2>, <start_seq1>, <start_seq2>, <end_seq1>,
+   and <end_seq2>. In addition to <gt_match_blast_new> it also stores
+   the number of mismatches and the number of gap */
+
+GtMatch* gt_match_blast_new_extended(char *seqid1,
+                                     char *seqid2,
+                                     GtUword start_seq1,
+                                     GtUword end_seq1,
+                                     GtUword start_seq2,
+                                     GtUword end_seq2,
+                                     double evalue,
+                                     float bitscore,
+                                     GtUword length,
+                                     double similarity,
+                                     GtUword mm_num,
+                                     GtUword gap_open_num,
+                                     GtMatchDirection dir);
+
 /* Sets <evalue> to be the E-value in <mb>. */
 void gt_match_blast_set_evalue(GtMatchBlast *mb, double evalue);
 
@@ -51,6 +73,12 @@ void gt_match_blast_set_align_length(GtMatchBlast *mb, GtUword length);
 /* Sets <similarity> to be the match similarity in <mb>. */
 void gt_match_blast_set_similarity(GtMatchBlast *mb, double similarity);
 
+/* Sets <num to be the number of mismatches in <mb>. */
+void gt_match_blast_set_mismatches(GtMatchBlast *mb, GtUword mm_num);
+
+/* Sets <num> to be the number of gap openings in <mb>. */
+void gt_match_blast_set_gapopen(GtMatchBlast *mb, GtUword gap_open_num);
+
 /* Returns the E-value stored in <mb>. */
 double gt_match_blast_get_evalue(GtMatchBlast *mb);
 
@@ -63,4 +91,9 @@ GtUword gt_match_blast_get_align_length(GtMatchBlast *mb);
 /* Returns the alignment similarity stored in <mb>. */
 double gt_match_blast_get_similarity(GtMatchBlast *mb);
 
+/* Returns the number of mismatches stored in <mb>. */
+GtUword gt_match_blast_get_mismatches(GtMatchBlast *mb);
+
+/* Returns the number of gap openings stored in <mb>. */
+GtUword gt_match_blast_get_gapopen(GtMatchBlast *mb);
 #endif
diff --git a/src/extended/match_iterator_blast.c b/src/extended/match_iterator_blast.c
index e741184..ae4d006 100644
--- a/src/extended/match_iterator_blast.c
+++ b/src/extended/match_iterator_blast.c
@@ -33,8 +33,8 @@
 #include "extended/match_iterator_blast.h"
 #include "extended/match_iterator_rep.h"
 
-#define READNUMS 5
-#define READVALUES 10
+#define GT_BLASTITER_READNUMS 7
+#define GT_BLASTITER_READVALUES 12
 
 #define GT_MATCHER_BLAST_CANNOTPARSECOLUMN(S)\
         gt_error_set(err, "file %s, line " GT_WU ", column " GT_WU ": %s", \
@@ -70,7 +70,7 @@ static GtMatchIteratorStatus gt_match_iterator_blast_next(GtMatchIterator *mi,
 {
   gt_assert(mi);
   GtUword columncount = 0;
-  GtWord storeinteger[READNUMS], tmp;
+  GtWord storeinteger[GT_BLASTITER_READNUMS], tmp;
   double e_value;
   float bitscore, identity;
   bool reverse = false;
@@ -90,14 +90,15 @@ static GtMatchIteratorStatus gt_match_iterator_blast_next(GtMatchIterator *mi,
     if (!mib->pvt->process)
       fseek(mib->pvt->matchfilep, -1, SEEK_CUR);
     readvalues = fscanf(mib->pvt->matchfilep,
-                        "%s %s %f " GT_WD " %*d %*d " GT_WD " " GT_WD " " GT_WD
-                        " " GT_WD " %lg %f\n", query_seq, db_seq, &identity,
-                        &storeinteger[0],
+                        "%s %s %f " GT_WD " " GT_WD " " GT_WD " " GT_WD " "
+                        GT_WD " " GT_WD " " GT_WD " %lg %f\n",
+                        query_seq, db_seq, &identity,
+                        &storeinteger[0], &storeinteger[5], &storeinteger[6],
                         &storeinteger[1], &storeinteger[2], &storeinteger[3],
                         &storeinteger[4], &e_value, &bitscore);
     if (readvalues == EOF)
       return GT_MATCHER_STATUS_END;
-    if (readvalues != READVALUES)
+    if (readvalues != GT_BLASTITER_READVALUES)
     {
       GT_MATCHER_BLAST_CANNOTPARSELINE("invalid format");
       had_err = -1;
@@ -115,19 +116,20 @@ static GtMatchIteratorStatus gt_match_iterator_blast_next(GtMatchIterator *mi,
         i = 0;
       } else break;
     }
-    if ((readvalues = sscanf(buffer, "%s %s %f " GT_WD " %*d %*d " GT_WD " "
-                             GT_WD " " GT_WD " " GT_WD " %lg " "%f\n",
-                             query_seq, db_seq, &identity,
-                             &storeinteger[0],
+    if ((readvalues = sscanf(buffer, "%s %s %f " GT_WD " " GT_WD " " GT_WD " "
+                             GT_WD " " GT_WD " " GT_WD " " GT_WD " %lg " "%f\n",
+                             query_seq, db_seq, &identity, &storeinteger[0],
+                             &storeinteger[5], &storeinteger[6],
                              &storeinteger[1], &storeinteger[2],
                              &storeinteger[3], &storeinteger[4], &e_value,
-                             &bitscore)) != READVALUES) {
+                             &bitscore)) != GT_BLASTITER_READVALUES) {
       GT_MATCHER_BLAST_CANNOTPARSELINE("invalid format");
       had_err = -1;
     }
   }
 
-  for (columncount = 0; !had_err && columncount < (GtUword) (READNUMS);
+  for (columncount = 0; !had_err &&
+                        columncount < (GtUword) (GT_BLASTITER_READNUMS);
        columncount++) {
     if (storeinteger[columncount] < 0) {
          GT_MATCHER_BLAST_CANNOTPARSECOLUMN("non-negative integer expected");
@@ -150,17 +152,20 @@ static GtMatchIteratorStatus gt_match_iterator_blast_next(GtMatchIterator *mi,
       storeinteger[3] = storeinteger[4];
       storeinteger[4] = tmp;
     }
-    *match = gt_match_blast_new(query_seq,
-                                db_seq,
-                                storeinteger[1],
-                                storeinteger[2],
-                                storeinteger[3],
-                                storeinteger[4],
-                                e_value,
-                                bitscore,
-                                storeinteger[0],
-                                identity,
-                                reverse ? GT_MATCH_REVERSE : GT_MATCH_DIRECT);
+    *match = gt_match_blast_new_extended(query_seq,
+                                         db_seq,
+                                         storeinteger[1],
+                                         storeinteger[2],
+                                         storeinteger[3],
+                                         storeinteger[4],
+                                         e_value,
+                                         bitscore,
+                                         storeinteger[0],
+                                         identity,
+                                         storeinteger[5],
+                                         storeinteger[6],
+                                         reverse ? GT_MATCH_REVERSE
+                                                 : GT_MATCH_DIRECT);
     mib->pvt->curpos++;
     return GT_MATCHER_STATUS_OK;
   }
@@ -187,19 +192,23 @@ GtMatchIterator* gt_match_iterator_blast_file_new(const char *matchfile,
       mpb->pvt->gtmatchfilep = NULL;
       if (!mpb->pvt->matchfilep) {
         gt_error_set(err, "could not open %s", matchfile);
+        gt_match_iterator_delete(mp);
         return NULL;
       }
     } else {
       mpb->pvt->gtmatchfilep = gt_file_open(mode, matchfile, "r", err);
       mpb->pvt->matchfilep = NULL;
-      if (!mpb->pvt->gtmatchfilep)
+      if (!mpb->pvt->gtmatchfilep) {
+        gt_match_iterator_delete(mp);
         return NULL;
+      }
     }
     mpb->pvt->matchfile = matchfile;
     mpb->pvt->process = false;
     return mp;
   } else {
     gt_error_set(err, "no such file or directory %s", matchfile);
+    gt_match_iterator_delete(mp);
     return NULL;
   }
 }
diff --git a/src/extended/match_iterator_open.c b/src/extended/match_iterator_open.c
index 5a25fbc..5f10962 100644
--- a/src/extended/match_iterator_open.c
+++ b/src/extended/match_iterator_open.c
@@ -30,7 +30,7 @@
 #include "extended/match_iterator_open.h"
 #include "extended/match_iterator_rep.h"
 
-#define READNUMS 5
+#define GT_MATCHITER_READNUMS 5
 
 #define GT_MATCHER_OPEN_CANNOTPARSECOLUMN(S)\
         gt_error_set(err, "file %s, line " GT_WU ", column " GT_WU ": %s", \
@@ -63,7 +63,7 @@ static GtMatchIteratorStatus gt_match_iterator_open_next(GtMatchIterator *gmpi,
 {
   GtUword columncount = 0;
   int readnums;
-  GtWord storeinteger[READNUMS];
+  GtWord storeinteger[GT_MATCHITER_READNUMS];
   int had_err = 0, i = 0;
   char buffer[BUFSIZ], seqid1[BUFSIZ], seqid2[BUFSIZ], matchtype;
   GtMatchIteratorOpen *mpi = gt_match_iterator_open_cast(gmpi);
@@ -89,7 +89,7 @@ static GtMatchIteratorStatus gt_match_iterator_open_next(GtMatchIterator *gmpi,
                       &storeinteger[4]);
     if (readnums == EOF)
       return GT_MATCHER_STATUS_END;
-    if (readnums != READNUMS + 3)
+    if (readnums != GT_MATCHITER_READNUMS + 3)
     {
       GT_MATCHER_OPEN_CANNOTPARSELINE("invalid format");
       had_err = -1;
@@ -116,13 +116,14 @@ static GtMatchIteratorStatus gt_match_iterator_open_next(GtMatchIterator *gmpi,
                seqid2,
                &storeinteger[3],
                &storeinteger[4])
-               != READNUMS + 2) {
+               != GT_MATCHITER_READNUMS + 2) {
       GT_MATCHER_OPEN_CANNOTPARSELINE("invalid format");
       had_err = -1;
     }
   }
 
-  for (columncount = 0; !had_err && columncount < (GtUword) (READNUMS);
+  for (columncount = 0; !had_err &&
+                        columncount < (GtUword) GT_MATCHITER_READNUMS;
        columncount++) {
     if (storeinteger[columncount] < 0) {
          GT_MATCHER_OPEN_CANNOTPARSECOLUMN("non-negative integer expected");
diff --git a/src/extended/multieoplist.c b/src/extended/multieoplist.c
index 4549154..992aff3 100644
--- a/src/extended/multieoplist.c
+++ b/src/extended/multieoplist.c
@@ -58,7 +58,7 @@ GtMultieoplist *gt_multieoplist_new_with_size(GtUword size)
 }
 
 GtMultieoplist *gt_multieoplist_clone(GtMultieoplist *copy,
-                                      GtMultieoplist *source)
+                                      const GtMultieoplist *source)
 {
   GtUword i;
   gt_assert(source != NULL);
@@ -207,7 +207,7 @@ void gt_multieoplist_remove_last(GtMultieoplist *multieops)
   }
 }
 
-GtUword gt_multieoplist_get_repdel_length(GtMultieoplist *multieops)
+GtUword gt_multieoplist_get_repdel_length(const GtMultieoplist *multieops)
 {
   GtUword len = 0, i;
   Eop *space;
@@ -224,7 +224,7 @@ GtUword gt_multieoplist_get_repdel_length(GtMultieoplist *multieops)
   return len;
 }
 
-GtUword gt_multieoplist_get_repins_length(GtMultieoplist *multieops)
+GtUword gt_multieoplist_get_repins_length(const GtMultieoplist *multieops)
 {
   GtUword len = 0, i;
   Eop *space;
@@ -241,7 +241,7 @@ GtUword gt_multieoplist_get_repins_length(GtMultieoplist *multieops)
   return len;
 }
 
-GtUword gt_multieoplist_get_length(GtMultieoplist *multieops)
+GtUword gt_multieoplist_get_length(const GtMultieoplist *multieops)
 {
   GtUword len = 0, i;
   Eop *space;
@@ -253,9 +253,9 @@ GtUword gt_multieoplist_get_length(GtMultieoplist *multieops)
   return len;
 }
 
-GtUword gt_multieoplist_get_num_entries(GtMultieoplist *multieops)
+GtUword gt_multieoplist_get_num_entries(const GtMultieoplist *multieops)
 {
-  return(multieops->meoplist.nextfreeEop);
+  return multieops->meoplist.nextfreeEop;
 }
 
 GtMultieop gt_multieoplist_get_entry(const GtMultieoplist *multieops,
@@ -284,7 +284,7 @@ GtMultieop gt_multieoplist_get_entry(const GtMultieoplist *multieops,
   return eop;
 }
 
-void gt_multieoplist_show(GtMultieoplist *multieops, FILE *fp)
+void gt_multieoplist_show(const GtMultieoplist *multieops, FILE *fp)
 {
   GtUword stepssum,
           num = multieops->meoplist.nextfreeEop;
@@ -397,7 +397,7 @@ static GtMultieoplist *gt_multieoplist_io_fp(GtMultieoplist *multieops,
 }
 
 GtMultieoplist *gt_multieoplist_io(GtMultieoplist *multieops, FILE *fp,
-                               GtError *err)
+                                   GtError *err)
 {
   if (multieops == NULL) {
     multieops = gt_calloc((size_t) 1, sizeof (GtMultieoplist));
diff --git a/src/extended/multieoplist.h b/src/extended/multieoplist.h
index d2f5e66..69b9d14 100644
--- a/src/extended/multieoplist.h
+++ b/src/extended/multieoplist.h
@@ -94,12 +94,12 @@ void            gt_multieoplist_remove_last(GtMultieoplist *multieops);
    object in that case. <source> may not be NULL!
  */
 GtMultieoplist* gt_multieoplist_clone(GtMultieoplist *copy,
-                                      GtMultieoplist *source);
+                                      const GtMultieoplist *source);
 
 /* Returns the number of <GtMultieop> elements in <multieops>, each of which
-   can have <steps> >= 1, therefor this represents not the length of the
+   can have <steps> >= 1, therefore this represents not the length of the
    alignment. */
-GtUword         gt_multieoplist_get_num_entries(GtMultieoplist *multieops);
+GtUword      gt_multieoplist_get_num_entries(const GtMultieoplist *multieops);
 
 /* Returns <GtMultieop> number <index>. */
 GtMultieop      gt_multieoplist_get_entry(const GtMultieoplist *multieops,
@@ -107,34 +107,34 @@ GtMultieop      gt_multieoplist_get_entry(const GtMultieoplist *multieops,
 
 /* Returns sum of <Replacement>, <Match>, <Mismatch> and <Deletion> including
    their <steps>. This corresponds to the length of the first sequence. */
-GtUword         gt_multieoplist_get_repdel_length(GtMultieoplist *multieops);
+GtUword     gt_multieoplist_get_repdel_length(const GtMultieoplist *multieops);
 
 /* Returns sum of <Replacement>, <Match>, <Mismatch> and <Insertion> including
    their <steps>. This corresponds to the length of the second sequence. */
-GtUword         gt_multieoplist_get_repins_length(GtMultieoplist *multieops);
+GtUword     gt_multieoplist_get_repins_length(const GtMultieoplist *multieops);
 
 /* Returns sum of <Replacement>, <Match>, <Mismatch>, <Deletion> and
    <Insertion> including their <steps>. This corresponds to the length of the
    whole alignment. */
-GtUword         gt_multieoplist_get_length(GtMultieoplist *multieops);
+GtUword         gt_multieoplist_get_length(const GtMultieoplist *multieops);
 
 /* Print a string representation of <multieops> to <fp> ending with a newline.
    For example: [M5,R2,M3,I1,M6] R is equivalent for <Mismatch> and
    <Replacement>.
    Assumes reverse ordered <GtMultieoplist>. */
-void            gt_multieoplist_show(GtMultieoplist *multieops, FILE *fp);
+void            gt_multieoplist_show(const GtMultieoplist *multieops, FILE *fp);
 
 /* Returns the combination of two <GtMultieoplist>s. Adds <multieops_to_add> to
-   the end of <multieops> (which is usualy the start of the alignment).
+   the end of <multieops> (which is usually the start of the alignment).
    <forward> defines if <multieops_to_add> should be read in forward or reverse
-   direction.  If <multieops_to_add> and <multieops> are from consequtive
+   direction. If <multieops_to_add> and <multieops> are from consecutive
    alignments:
    [...<-...][...<-...] or [...->...][...->...]
-   use true
-   if they ar from alignments with the same startpoint:
+   use true.
+   If they are from alignments with the same start point:
    [...->...][...<-...]
-   use false
-   if the layout is like this:
+   use false.
+   If the layout is like this:
    [...<-...][...->...]
    none of them can be added to the end of the other without reversing one
    beforehand. */
diff --git a/src/extended/popcount_tab.h b/src/extended/popcount_tab.h
index 169b191..2f54269 100644
--- a/src/extended/popcount_tab.h
+++ b/src/extended/popcount_tab.h
@@ -24,7 +24,8 @@
 /* The <GtPopcountTab> class represents a table of values of a fixed bit
    width sorted by their popcount (number of bits set to 1). Values are sorted
    by increasing value within one popcount class (set of values with the
-   same popcount). */
+   same popcount).
+   The idea was copied from: http://alexbowe.com/popcount-permutations/ */
 typedef struct GtPopcountTab GtPopcountTab;
 
 /* Returns <GtPopcountTab> object with tables for unsigned values of
diff --git a/src/extended/ranked_list.c b/src/extended/ranked_list.c
index 911302f..18fb353 100644
--- a/src/extended/ranked_list.c
+++ b/src/extended/ranked_list.c
@@ -23,13 +23,13 @@
 #include "core/unused_api.h"
 #include "core/yarandom.h"
 #include "extended/ranked_list.h"
-#include "extended/rbtree.h"
+/*#include "extended/rbtree.h"*/
 
 struct GtRankedList
 {
   GtUword currentsize,
                 maxsize;
-  GtRBTree *root;
+  /*GtRBTree *root;*/
   GtCompareWithData comparefunction;
   GtFree free_func;
   void *worstelement,
diff --git a/src/extended/rbtree.c b/src/extended/rbtree.c
index 6553b85..bdc4ff9 100644
--- a/src/extended/rbtree.c
+++ b/src/extended/rbtree.c
@@ -81,7 +81,7 @@ struct GtRBTree
 
 struct GtRBTreeIter
 {
-  GtRBTree *tree;
+  const GtRBTree *tree;
   GtRBTreeNode *it;
   GtRBTreeNode *path[HEIGHT_LIMIT];
   size_t top;
@@ -172,7 +172,7 @@ void gt_rbtree_clear(GtRBTree *tree)
   }
 }
 
-static inline void *gt_rbtree_find_with_cmp_g(GtRBTree *tree, void *key,
+static inline void *gt_rbtree_find_with_cmp_g(const GtRBTree *tree, void *key,
                                               GtCompareWithData cmpfunc,
                                               void *info)
 {
@@ -190,7 +190,7 @@ static inline void *gt_rbtree_find_with_cmp_g(GtRBTree *tree, void *key,
   return it == NULL ? NULL : it->key;
 }
 
-void *gt_rbtree_find_with_cmp(GtRBTree *tree, void *key,
+void *gt_rbtree_find_with_cmp(const GtRBTree *tree, void *key,
                               GtCompareWithData cmpfunc, void *info)
 {
   gt_assert(tree);
@@ -199,7 +199,7 @@ void *gt_rbtree_find_with_cmp(GtRBTree *tree, void *key,
   return gt_rbtree_find_with_cmp_g(tree, key, cmpfunc, info);
 }
 
-void *gt_rbtree_find(GtRBTree *tree, void *key)
+void *gt_rbtree_find(const GtRBTree *tree, void *key)
 {
   gt_assert(tree);
   gt_assert(key);
@@ -411,13 +411,13 @@ int gt_rbtree_erase(GtRBTree *tree, void *key)
   return rv;
 }
 
-size_t gt_rbtree_size(GtRBTree *tree)
+size_t gt_rbtree_size(const GtRBTree *tree)
 {
   gt_assert(tree);
   return tree->size;
 }
 
-static int gt_rbtree_recurse(GtRBTreeNode *root, GtRBTreeAction action,
+static int gt_rbtree_recurse(const GtRBTreeNode *root, GtRBTreeAction action,
                              GtUword level, void *actinfo)
 {
   if (root->link[0] == NULL && root->link[1] == NULL) {
@@ -453,7 +453,8 @@ static int gt_rbtree_recurse(GtRBTreeNode *root, GtRBTreeAction action,
           return retcode;\
         }
 
-static int gt_rbtree_recursewithstop(GtRBTreeNode *root, GtRBTreeAction action,
+static int gt_rbtree_recursewithstop(const GtRBTreeNode *root,
+                                     GtRBTreeAction action,
                                      GtUword level, void *actinfo)
 {
   int retcode;
@@ -482,7 +483,7 @@ static int gt_rbtree_recursewithstop(GtRBTreeNode *root, GtRBTreeAction action,
   return 0;
 }
 
-static int gt_rbtree_recursereverseorder(GtRBTreeNode *root,
+static int gt_rbtree_recursereverseorder(const GtRBTreeNode *root,
                                          GtRBTreeAction action,
                                          GtUword level, void *actinfo)
 {
@@ -517,7 +518,7 @@ static int gt_rbtree_recursereverseorder(GtRBTreeNode *root,
   return 0;
 }
 
-int gt_rbtree_walk(GtRBTree *tree, GtRBTreeAction action, void *actinfo)
+int gt_rbtree_walk(const GtRBTree *tree, GtRBTreeAction action, void *actinfo)
 {
   gt_assert(tree);
   gt_assert(action);
@@ -529,7 +530,8 @@ int gt_rbtree_walk(GtRBTree *tree, GtRBTreeAction action, void *actinfo)
   return 0;
 }
 
-int gt_rbtree_walk_stop(GtRBTree *tree, GtRBTreeAction action, void *actinfo)
+int gt_rbtree_walk_stop(const GtRBTree *tree, GtRBTreeAction action,
+                        void *actinfo)
 {
   gt_assert(tree);
   gt_assert(action);
@@ -540,7 +542,8 @@ int gt_rbtree_walk_stop(GtRBTree *tree, GtRBTreeAction action, void *actinfo)
   return 0;
 }
 
-int gt_rbtree_walk_reverse(GtRBTree *tree, GtRBTreeAction action, void *actinfo)
+int gt_rbtree_walk_reverse(const GtRBTree *tree, GtRBTreeAction action,
+                           void *actinfo)
 {
   gt_assert(tree);
   gt_assert(action);
@@ -552,7 +555,7 @@ int gt_rbtree_walk_reverse(GtRBTree *tree, GtRBTreeAction action, void *actinfo)
   return 0;
 }
 
-static inline void* gt_rbtree_minimum_key_for_node(GtRBTreeNode *root)
+static inline void* gt_rbtree_minimum_key_for_node(const GtRBTreeNode *root)
 {
   if (root == NULL) {
     return NULL;
@@ -563,7 +566,7 @@ static inline void* gt_rbtree_minimum_key_for_node(GtRBTreeNode *root)
   return root->key;
 }
 
-static inline void* gt_rbtree_maximum_key_for_node(GtRBTreeNode *root)
+static inline void* gt_rbtree_maximum_key_for_node(const GtRBTreeNode *root)
 {
   if (root == NULL) {
     return NULL;
@@ -574,19 +577,19 @@ static inline void* gt_rbtree_maximum_key_for_node(GtRBTreeNode *root)
   return root->key;
 }
 
-void* gt_rbtree_minimum_key(GtRBTree *tree)
+void* gt_rbtree_minimum_key(const GtRBTree *tree)
 {
   gt_assert(tree);
   return gt_rbtree_minimum_key_for_node(tree->root);
 }
 
-void* gt_rbtree_maximum_key(GtRBTree *tree)
+void* gt_rbtree_maximum_key(const GtRBTree *tree)
 {
   gt_assert(tree);
   return gt_rbtree_maximum_key_for_node(tree->root);
 }
 
-void* gt_rbtree_root_key(GtRBTree *tree)
+void* gt_rbtree_root_key(const GtRBTree *tree)
 {
   gt_assert(tree);
   if (tree->size == 0 || tree->root == NULL)
@@ -595,7 +598,7 @@ void* gt_rbtree_root_key(GtRBTree *tree)
     return tree->root->key;
 }
 
-void* gt_rbtree_previous_key(GtRBTree *tree, void *key,
+void* gt_rbtree_previous_key(const GtRBTree *tree, void *key,
                              GtCompareWithData cmpfun, void *cmpinfo)
 {
   int cmp;
@@ -631,7 +634,7 @@ void* gt_rbtree_previous_key(GtRBTree *tree, void *key,
   return found->key;
 }
 
-void* gt_rbtree_previous_equal_key(GtRBTree *tree, void *key,
+void* gt_rbtree_previous_equal_key(const GtRBTree *tree, void *key,
                                    GtCompareWithData cmpfun, void *cmpinfo)
 {
   int cmp;
@@ -661,8 +664,8 @@ void* gt_rbtree_previous_equal_key(GtRBTree *tree, void *key,
   return found->key;
 }
 
-void* gt_rbtree_next_key(GtRBTree *tree, void *key, GtCompareWithData cmpfun,
-                         void *cmpinfo)
+void* gt_rbtree_next_key(const GtRBTree *tree, void *key,
+                         GtCompareWithData cmpfun, void *cmpinfo)
 {
   int cmp;
   const GtRBTreeNode *current,
@@ -697,7 +700,7 @@ void* gt_rbtree_next_key(GtRBTree *tree, void *key, GtCompareWithData cmpfun,
   return found->key;
 }
 
-void* gt_rbtree_next_equal_key(GtRBTree *tree, void *key,
+void* gt_rbtree_next_equal_key(const GtRBTree *tree, void *key,
                                GtCompareWithData cmpfun, void *cmpinfo)
 {
   int cmp;
@@ -727,7 +730,7 @@ void* gt_rbtree_next_equal_key(GtRBTree *tree, void *key,
   return found->key;
 }
 
-static inline void *start(GtRBTreeIter *trav, GtRBTree *tree, int dir)
+static inline void *start(GtRBTreeIter *trav, const GtRBTree *tree, int dir)
 {
   trav->tree = tree;
   trav->it = tree->root;
@@ -775,7 +778,7 @@ static inline void *move(GtRBTreeIter *trav, int dir, GT_UNUSED bool strict)
   return trav->it == NULL ? NULL : trav->it->key;
 }
 
-GtRBTreeIter* gt_rbtree_iter_new_from_first(GtRBTree *tree)
+GtRBTreeIter* gt_rbtree_iter_new_from_first(const GtRBTree *tree)
 {
   GtRBTreeIter *trav = gt_malloc(sizeof (GtRBTreeIter));
   gt_assert(tree);
@@ -783,7 +786,7 @@ GtRBTreeIter* gt_rbtree_iter_new_from_first(GtRBTree *tree)
   return trav;
 }
 
-GtRBTreeIter* gt_rbtree_iter_new_from_last(GtRBTree *tree)
+GtRBTreeIter* gt_rbtree_iter_new_from_last(const GtRBTree *tree)
 {
   GtRBTreeIter *trav = gt_malloc(sizeof (GtRBTreeIter));
   gt_assert(tree);
diff --git a/src/extended/rbtree.h b/src/extended/rbtree.h
index eb7ec7b..1012afd 100644
--- a/src/extended/rbtree.h
+++ b/src/extended/rbtree.h
@@ -48,8 +48,8 @@ void           gt_rbtree_delete(GtRBTree *tree);
 void           gt_rbtree_clear(GtRBTree *tree);
 
 /* Returns <key> if element was found in <tree> and NULL if not */
-void*          gt_rbtree_find(GtRBTree *tree, void *key);
-void*          gt_rbtree_find_with_cmp(GtRBTree *tree, void *key,
+void*          gt_rbtree_find(const GtRBTree *tree, void *key);
+void*          gt_rbtree_find_with_cmp(const GtRBTree *tree, void *key,
                                        GtCompareWithData cmpfunc, void *info);
 /* inserts <key> into <tree>. If <key> is already present in <tree>, it will not
    be changed. */
@@ -66,32 +66,33 @@ void*          gt_rbtree_search_with_cmp(GtRBTree *tree, void *key,
 /* Remove <key> from <tree>, returns -1 if no such key exists and 0 on success
 */
 int            gt_rbtree_erase(GtRBTree *tree, void *key);
-size_t         gt_rbtree_size(GtRBTree *tree);
-int            gt_rbtree_walk(GtRBTree *tree, GtRBTreeAction action,
+size_t         gt_rbtree_size(const GtRBTree *tree);
+int            gt_rbtree_walk(const GtRBTree *tree, GtRBTreeAction action,
                               void *actinfo);
-int            gt_rbtree_walk_stop(GtRBTree *tree, GtRBTreeAction action,
+int            gt_rbtree_walk_stop(const GtRBTree *tree, GtRBTreeAction action,
                                    void *actinfo);
-int            gt_rbtree_walk_reverse(GtRBTree *tree, GtRBTreeAction action,
-                                    void *actinfo);
-void*          gt_rbtree_minimum_key(GtRBTree *tree);
-void*          gt_rbtree_maximum_key(GtRBTree *tree);
-void*          gt_rbtree_root_key(GtRBTree *tree);
-void*          gt_rbtree_next_key(GtRBTree *tree, void *key,
+int            gt_rbtree_walk_reverse(const GtRBTree *tree,
+                                      GtRBTreeAction action,
+                                      void *actinfo);
+void*          gt_rbtree_minimum_key(const GtRBTree *tree);
+void*          gt_rbtree_maximum_key(const GtRBTree *tree);
+void*          gt_rbtree_root_key(const GtRBTree *tree);
+void*          gt_rbtree_next_key(const GtRBTree *tree, void *key,
                                   GtCompareWithData cmpfun,
                                   void *cmpinfo);
-void*          gt_rbtree_next_equal_key(GtRBTree *tree, void *key,
+void*          gt_rbtree_next_equal_key(const GtRBTree *tree, void *key,
                                         GtCompareWithData cmpfun,
                                         void *cmpinfo);
-void*          gt_rbtree_previous_key(GtRBTree *tree, void *key,
+void*          gt_rbtree_previous_key(const GtRBTree *tree, void *key,
                                       GtCompareWithData cmpfun,
                                       void *cmpinfo);
-void*          gt_rbtree_previous_equal_key(GtRBTree *tree, void *key,
+void*          gt_rbtree_previous_equal_key(const GtRBTree *tree, void *key,
                                             GtCompareWithData cmpfun,
                                             void *cmpinfo);
 int            gt_rbtree_unit_test(GtError *err);
 
-GtRBTreeIter*  gt_rbtree_iter_new_from_first(GtRBTree *tree);
-GtRBTreeIter*  gt_rbtree_iter_new_from_last(GtRBTree *tree);
+GtRBTreeIter*  gt_rbtree_iter_new_from_first(const GtRBTree *tree);
+GtRBTreeIter*  gt_rbtree_iter_new_from_last(const GtRBTree *tree);
 /* Resets the iterator to the first (smallest) element */
 void           gt_rbtree_iter_reset_from_first(GtRBTreeIter *trav);
 /* Resets the iterator to the last (largest) element */
diff --git a/src/extended/rcr.h b/src/extended/rcr.h
index e66cea6..90dc83a 100644
--- a/src/extended/rcr.h
+++ b/src/extended/rcr.h
@@ -30,6 +30,8 @@
 typedef struct GtRcrEncoder GtRcrEncoder;
 typedef struct GtRcrDecoder GtRcrDecoder;
 
+/* TODO DW move the bool switches to setter functions like for verbosity */
+
 /* Returns a new GtRcrEncoder object. <ref> points to a reference genome,
    <filename> is a BAM file containing alignments of short reads to
    the reference genome. If <vquals> is true, quality values of read
diff --git a/src/extended/safe_popen.c b/src/extended/safe_popen.c
index 760054e..b228539 100644
--- a/src/extended/safe_popen.c
+++ b/src/extended/safe_popen.c
@@ -22,6 +22,7 @@
 #include <sys/wait.h>
 #endif
 #include "core/ma_api.h"
+#include "core/unused_api.h"
 #include "extended/safe_popen.h"
 
 #ifndef _WIN32
@@ -50,9 +51,9 @@ static pid_t safe_fork(void) {
 }
 #endif
 
-GtSafePipe *gt_safe_popen(const char *path,
-                          char *const argv[],
-                          char *const envp[],
+GtSafePipe *gt_safe_popen(GT_WIN32_UNUSED const char *path,
+                          GT_WIN32_UNUSED char *const argv[],
+                          GT_WIN32_UNUSED char *const envp[],
                           GtError *err) {
 #ifndef _WIN32
   int stdin_pipe[2], stdout_pipe[2], had_err = 0;
@@ -136,7 +137,7 @@ GtSafePipe *gt_safe_popen(const char *path,
 #endif
 }
 
-int gt_safe_pclose(GtSafePipe *p) {
+int gt_safe_pclose(GT_WIN32_UNUSED GtSafePipe *p) {
 #ifndef _WIN32
   int   status;
   pid_t pid = (pid_t) -1;
diff --git a/src/extended/sam_alignment.h b/src/extended/sam_alignment.h
index 977f4a8..e9e6289 100644
--- a/src/extended/sam_alignment.h
+++ b/src/extended/sam_alignment.h
@@ -26,12 +26,19 @@
 #include "core/str_api.h"
 #include "core/types_api.h"
 
+/* The <GtSamAlignment> class is a wrapper around the sam/bam interface. It
+   allows __GenomeTools__-style interaction with sam/bam data. To be used in
+   conjunction with <GtSamfileIterator> */
 typedef struct GtSamAlignment GtSamAlignment;
 
+/* Returns a new (mostly empty) <GtSamAlignment>, use <GtSamfileIterator> to
+   obtain alignments from file */
 GtSamAlignment* gt_sam_alignment_new(GtAlphabet *alphabet);
 
+/* Returns the identifier of <sam_alignment>. */
 const char*     gt_sam_alignment_identifier(GtSamAlignment *sam_alignment);
 
+/* Returns a deep copy of <sam_alignment>. */
 GtSamAlignment* gt_sam_alignment_clone(GtSamAlignment *sam_alignment);
 
 /* Returns the number of the reference sequence this alignment corresponds to,
@@ -40,25 +47,26 @@ GtSamAlignment* gt_sam_alignment_clone(GtSamAlignment *sam_alignment);
 int32_t         gt_sam_alignment_ref_num(GtSamAlignment *sam_alignment);
 
 /* Returns the starting position of the alignment in the reference sequence */
-GtUword   gt_sam_alignment_pos(GtSamAlignment *sam_alignment);
+GtUword         gt_sam_alignment_pos(GtSamAlignment *sam_alignment);
 
 /* Returns the ending position of the alignment in the reference sequence */
-GtUword gt_sam_alignment_rightmost_pos(GtSamAlignment *sam_alignment);
+GtUword         gt_sam_alignment_rightmost_pos(GtSamAlignment *sam_alignment);
 
 /* Returns length of read, not length of the alignment */
-GtUword   gt_sam_alignment_read_length(GtSamAlignment *sam_alignment);
+GtUword         gt_sam_alignment_read_length(GtSamAlignment *sam_alignment);
 
 /* Returns mapping quality value */
-GtUword gt_sam_alignment_mapping_quality(GtSamAlignment *sam_alignment);
+GtUword         gt_sam_alignment_mapping_quality(GtSamAlignment *sam_alignment);
 
 /* Returns encoded read sequence from <sam_alignment>. */
 const GtUchar*  gt_sam_alignment_sequence(GtSamAlignment *sam_alignment);
 
-/* lower level version of <gt_sam_alignment_sequence> using an external
- * buffer to save the sequence information */
-void gt_sam_alignment_sequence_external_buffer(GtSamAlignment *sam_alignment,
-    GtUchar **seq_buffer, GtUword *bufsize);
-
+/* Lower level version of <gt_sam_alignment_sequence> using an external
+   buffer to save the sequence information */
+void            gt_sam_alignment_sequence_external_buffer(
+                                                  GtSamAlignment *sam_alignment,
+                                                  GtUchar **seq_buffer,
+                                                  GtUword *bufsize);
 /* Returns string of qualities in ASCII format as in Sanger FASTQ for the
    read sequence from <sam_alignment>.
    The length is the same as the length of the read sequence. */
@@ -68,15 +76,14 @@ const GtUchar*  gt_sam_alignment_qualitystring(GtSamAlignment *sam_alignment);
 uint16_t        gt_sam_alignment_cigar_length(GtSamAlignment *sam_alignment);
 
 /* lower level version of <gt_sam_alignment_qualitystring> using an external
- * buffer to save the sequence information */
-void gt_sam_alignment_qualitystring_external_buffer(
-    GtSamAlignment *sam_alignment, GtUchar **qual_buffer,
-    GtUword *bufsize);
-
+   buffer to save the sequence information */
+void            gt_sam_alignment_qualitystring_external_buffer(
+                                                  GtSamAlignment *sam_alignment,
+                                                  GtUchar **qual_buffer,
+                                                  GtUword *bufsize);
 /* Returns the length of CIGAR operation <i> in <sam_alignment>. */
 uint32_t        gt_sam_alignment_cigar_i_length(GtSamAlignment *sam_alignment,
                                                 uint16_t i);
-
 /* Returns the type of CIGAR operation <i> in <sam_alignment>.
    Type is one of [MIDNSHP=X] (see sam/bam format documentation for details) */
 unsigned char   gt_sam_alignment_cigar_i_operation(
@@ -86,22 +93,61 @@ unsigned char   gt_sam_alignment_cigar_i_operation(
    documentation. */
 uint32_t        gt_sam_alignment_flag(GtSamAlignment *sam_alignment);
 
-/* Checks the flag and returns true if bit is set in flag of <sam_alignment>.
-   See sam/bam fileformat documentation for explanation of meaning of bits. */
+/* Checks the flag and returns true if corresponding bit is set in flag of
+   <sam_alignment>.
+   See sam/bam file format documentation for explanation of meaning of bits. */
 bool            gt_sam_alignment_is_paired(GtSamAlignment *sam_alignment);
+
+/* Checks the flag and returns true if corresponding bit is set in flag of
+   <sam_alignment>.
+   See sam/bam file format documentation for explanation of meaning of bits. */
 bool            gt_sam_alignment_is_proper_paired(
                                                  GtSamAlignment *sam_alignment);
+/* Checks the flag and returns true if corresponding bit is set in flag of
+   <sam_alignment>.
+   See sam/bam file format documentation for explanation of meaning of bits. */
 bool            gt_sam_alignment_is_unmapped(GtSamAlignment *sam_alignment);
+
+/* Checks the flag and returns true if corresponding bit is set in flag of
+   <sam_alignment>.
+   See sam/bam file format documentation for explanation of meaning of bits. */
 bool            gt_sam_alignment_mate_is_unmapped(
                                                  GtSamAlignment *sam_alignment);
+/* Checks the flag and returns true if corresponding bit is set in flag of
+   <sam_alignment>.
+   See sam/bam file format documentation for explanation of meaning of bits. */
 bool            gt_sam_alignment_is_reverse(GtSamAlignment *sam_alignment);
+
+/* Checks the flag and returns true if corresponding bit is set in flag of
+   <sam_alignment>.
+   See sam/bam file format documentation for explanation of meaning of bits. */
 bool            gt_sam_alignment_mate_is_reverse(GtSamAlignment *sam_alignment);
+
+/* Checks the flag and returns true if corresponding bit is set in flag of
+   <sam_alignment>.
+   See sam/bam file format documentation for explanation of meaning of bits. */
 bool            gt_sam_alignment_is_read1(GtSamAlignment *sam_alignment);
+
+/* Checks the flag and returns true if corresponding bit is set in flag of
+   <sam_alignment>.
+   See sam/bam file format documentation for explanation of meaning of bits. */
 bool            gt_sam_alignment_is_read2(GtSamAlignment *sam_alignment);
+
+/* Checks the flag and returns true if corresponding bit is set in flag of
+   <sam_alignment>.
+   See sam/bam file format documentation for explanation of meaning of bits. */
 bool            gt_sam_alignment_is_secondary(GtSamAlignment *sam_alignment);
+
+/* Checks the flag and returns true if corresponding bit is set in flag of
+   <sam_alignment>.
+   See sam/bam file format documentation for explanation of meaning of bits. */
 bool            gt_sam_alignment_has_qc_failure(GtSamAlignment *sam_alignment);
+
+/* Checks the flag and returns true if corresponding bit is set in flag of
+   <sam_alignment>.
+   See sam/bam file format documentation for explanation of meaning of bits. */
 bool            gt_sam_alignment_is_optical_pcr_duplicate(
                                                  GtSamAlignment *sam_alignment);
-
+/* Free all memory of <sam_alignment>. */
 void            gt_sam_alignment_delete(GtSamAlignment *sam_alignment);
 #endif
diff --git a/src/extended/sam_query_name_iterator.h b/src/extended/sam_query_name_iterator.h
index b0de051..eaade73 100644
--- a/src/extended/sam_query_name_iterator.h
+++ b/src/extended/sam_query_name_iterator.h
@@ -23,7 +23,7 @@
 #include "extended/samfile_iterator.h"
 
 /* implements <GtCstrIterator> */
-/* iterates over the identifiers of all mapped alignments in a sam/bam file */
+/* Iterates over the identifiers of all mapped alignments in a sam/bam file */
 typedef struct GtSamQueryNameIterator GtSamQueryNameIterator;
 
 const GtCstrIteratorClass* gt_sam_query_name_iterator_class(void);
@@ -33,6 +33,8 @@ GtCstrIterator*            gt_sam_query_name_iterator_new(
                                                      GtSamfileIterator *s_iter,
                                                      GtError *err);
 
+/* Tests if <GSI> is a <GtSamQueryNameIterator> and returns the meta class
+   object or <NULL> if the class is not a <GtSamQueryNameIterator>. */
 #define                    gt_sam_query_name_iterator_cast(GSI) \
   gt_cstr_iterator_cast(gt_sam_query_name_iterator_class(), GSI)
 #endif
diff --git a/src/extended/samfile_iterator.h b/src/extended/samfile_iterator.h
index 2adad7d..4961027 100644
--- a/src/extended/samfile_iterator.h
+++ b/src/extended/samfile_iterator.h
@@ -31,7 +31,7 @@ GtSamfileIterator* gt_samfile_iterator_new_bam(const char *filename,
                                                GtAlphabet *alphabet,
                                                GtError *err);
 
-/* Returns new <GtSamfileIterator> fo a SAM-file. Parameter <auxfilename> can be
+/* Returns new <GtSamfileIterator> of a SAM-file. Parameter <auxfilename> can be
    NULL, but then the samfile has to contain header information. Otherwise it
    should be the name of a file containing the list of references as produced by
    'samtools faidx ref.fa'. Holds a new reference to <alphabet>. */
diff --git a/src/extended/scorehandler.c b/src/extended/scorehandler.c
index 1e128be..1e4c7f0 100644
--- a/src/extended/scorehandler.c
+++ b/src/extended/scorehandler.c
@@ -90,6 +90,18 @@ GtWord gt_scorehandler_get_gapscore(const GtScoreHandler *scorehandler)
   return scorehandler->gap_extension;
 }
 
+GtWord gt_scorehandler_get_matchscore(const GtScoreHandler *scorehandler)
+{
+  gt_assert(scorehandler != NULL);
+  return scorehandler->matchscore;
+}
+
+GtWord gt_scorehandler_get_mismatchscore(const GtScoreHandler *scorehandler)
+{
+  gt_assert(scorehandler != NULL);
+  return scorehandler->mismatchscore;
+}
+
 GtWord gt_scorehandler_get_replacement(const GtScoreHandler *scorehandler,
                                        GtUchar a, GtUchar b)
 {
diff --git a/src/extended/scorehandler.h b/src/extended/scorehandler.h
index 18d2e54..f4505e8 100644
--- a/src/extended/scorehandler.h
+++ b/src/extended/scorehandler.h
@@ -48,6 +48,10 @@ GtWord          gt_scorehandler_get_gap_opening(const GtScoreHandler
 /* Return gapscore value for the given <scorehandler>. */
 GtWord          gt_scorehandler_get_gapscore(const GtScoreHandler
                                              *scorehandler);
+/* Return matchscore value for the given <scorehandler>. */
+GtWord gt_scorehandler_get_matchscore(const GtScoreHandler *scorehandler);
+/* Return mismatchscore value for the given <scorehandler>. */
+GtWord gt_scorehandler_get_mismatchscore(const GtScoreHandler *scorehandler);
 /* Return replacement score value for the given characters <a> and <b>. */
 GtWord          gt_scorehandler_get_replacement(const GtScoreHandler
                                                 *scorehandler,
diff --git a/src/extended/wtree.h b/src/extended/wtree.h
index 0470412..3a32e18 100644
--- a/src/extended/wtree.h
+++ b/src/extended/wtree.h
@@ -23,7 +23,9 @@
 /* Abstract class GtWtree,
    Used to store sequences or Permutations.
    Each implementation must implement a function for mapping <GtWtreeSymbol> to
-   the implementation-specific alphabet symbol. */
+   the implementation-specific alphabet symbol.
+   Based on R. Grossi and A. Gupta and J. Vitter: High-Order Entropy-Compressed
+   Text Indexes. */
 typedef struct GtWtree GtWtree;
 
 /* Type used by GtWtree to represent symbols */
@@ -38,7 +40,8 @@ GtWtree*      gt_wtree_ref(GtWtree *wtree);
 GtWtreeSymbol gt_wtree_access(GtWtree *wtree,
                               GtUword pos);
 
-/* Returns the number of symbols <symbol> in the prefix of <wtree> upto position
+/* Returns the number of symbols <symbol> in the prefix of <wtree> up to
+   position
    <pos>. Note that <pos> < length of <wtree>.
    Returns ULONG_MAX if function is not implemented. */
 GtUword       gt_wtree_rank(GtWtree *wtree,
diff --git a/src/extended/wtree_encseq.c b/src/extended/wtree_encseq.c
index 20282fc..c06cb18 100644
--- a/src/extended/wtree_encseq.c
+++ b/src/extended/wtree_encseq.c
@@ -84,7 +84,7 @@ static GtWtreeSymbol gt_wtree_encseq_access_rec(GtWtreeEncseq *we,
 
     if (bit == 0) {
       pos = gt_compressed_bitsequence_rank_0(we->c_bits, node_start + pos) -
-        zero_rank_prefix - 1; /*convert count (rank) to positon */
+        zero_rank_prefix - 1; /*convert count (rank) to position */
       alpha_end = middle;
       node_start += we->parent_instance.members->length;
       node_size = left_child_size;
@@ -96,7 +96,7 @@ static GtWtreeSymbol gt_wtree_encseq_access_rec(GtWtreeEncseq *we,
         one_rank_prefix =
           gt_compressed_bitsequence_rank_1(we->c_bits, node_start - 1);
       pos = gt_compressed_bitsequence_rank_1(we->c_bits, node_start + pos) -
-        one_rank_prefix - 1; /*convert count (rank) to positon */
+        one_rank_prefix - 1; /*convert count (rank) to position */
       alpha_start = middle + 1;
       node_size =
         gt_compressed_bitsequence_rank_1(we->c_bits,
diff --git a/src/gtt.c b/src/gtt.c
index f9ae073..d98777c 100644
--- a/src/gtt.c
+++ b/src/gtt.c
@@ -87,6 +87,7 @@
 #include "ltr/gt_ltrdigest.h"
 #include "ltr/gt_ltrharvest.h"
 #include "ltr/ltrdigest_pbs_visitor.h"
+#include "match/karlin_altschul_stat.h"
 #include "match/rdj-spmlist.h"
 #include "match/rdj-strgraph.h"
 #include "match/shu-encseq-gc.h"
@@ -320,6 +321,7 @@ GtHashmap* gtt_unit_tests(void)
                                                    gt_encseq_builder_unit_test);
   gt_hashmap_add(unit_tests, "encseq gc module", gt_encseq_gc_unit_test);
   gt_hashmap_add(unit_tests, "evaluator class", gt_evaluator_unit_test);
+  gt_hashmap_add(unit_tests, "evalue module", gt_evalue_unit_test);
   gt_hashmap_add(unit_tests, "feature node iterator example",
                                              gt_feature_node_iterator_example);
   gt_hashmap_add(unit_tests, "feature node class", gt_feature_node_unit_test);
@@ -336,6 +338,8 @@ GtHashmap* gtt_unit_tests(void)
   gt_hashmap_add(unit_tests, "huffman coding class", gt_huffman_unit_test);
   gt_hashmap_add(unit_tests, "interval tree class", gt_interval_tree_unit_test);
   gt_hashmap_add(unit_tests, "intset classes", gt_intset_unit_test);
+  gt_hashmap_add(unit_tests, "karlin altschul class",
+                                             gt_karlin_altschul_stat_unit_test);
   gt_hashmap_add(unit_tests, "kmer_database class", gt_kmer_database_unit_test);
   gt_hashmap_add(unit_tests, "Lua serializer module",
                                                    gt_lua_serializer_unit_test);
diff --git a/src/match/asqg_writer.c b/src/match/asqg_writer.c
index 4ee94ff..f5d419d 100644
--- a/src/match/asqg_writer.c
+++ b/src/match/asqg_writer.c
@@ -114,7 +114,7 @@ static inline void gt_asqg_writer_show_edge_line(GtFile *file,
                   seqlen1, start2, end2, seqlen2, revcompl ? '1' : '0', edist);
 }
 
-void gt_spmproc_show_asgq(GtUword suffix_readnum,
+void gt_spmproc_show_asqg(GtUword suffix_readnum,
     GtUword prefix_readnum, GtUword length,
     bool suffixseq_direct, bool prefixseq_direct, void *asqg_writer)
 {
diff --git a/src/match/asqg_writer.h b/src/match/asqg_writer.h
index f6dbcd8..041f1bb 100644
--- a/src/match/asqg_writer.h
+++ b/src/match/asqg_writer.h
@@ -51,7 +51,7 @@ int           gt_asqg_writer_show_vertices(GtAsqgWriter *aw,
                                            GtError *err);
 
 /* Writes an edge using Readjoiner SPM information. */
-void          gt_spmproc_show_asgq(GtUword suffix_readnum,
+void          gt_spmproc_show_asqg(GtUword suffix_readnum,
                                    GtUword prefix_readnum,
                                    GtUword length,
                                    bool suffixseq_direct,
diff --git a/src/match/chain2dim.c b/src/match/chain2dim.c
index 3016f3e..f298244 100644
--- a/src/match/chain2dim.c
+++ b/src/match/chain2dim.c
@@ -1533,7 +1533,11 @@ void gt_chain_fastchaining(const GtChain2Dimmode *chainmode,
   } else
   {
     gt_chain2dim_chainingboundarycases(chainmode, chain, matchtable);
-    chainprocessor(cpinfo,matchtable,chain);
+    if (chainmode->chainkind != LOCALCHAININGTHRESHOLD ||
+        matchtable->matches[0].weight >= chainmode->minimumscore)
+    {
+      chainprocessor(cpinfo,matchtable,chain);
+    }
     retval = 0;
   }
   /* retval is not reported. */
@@ -1785,11 +1789,10 @@ void gt_chain_extractchainelem(GtChain2Dimmatchvalues *value,
 
 void gt_chain_printchainelem(FILE *outfp,const GtChain2Dimmatchvalues *value)
 {
-  fprintf(outfp,
-          ""GT_WU" "GT_WU" "GT_WU" "GT_WU""
-          " "GT_WD"\n",value->startpos[0],
-                   value->endpos[0],
-                   value->startpos[1],
-                   value->endpos[1],
-                   value->weight);
+  fprintf(outfp,GT_WU " " GT_WU " " GT_WU " " GT_WU " " GT_WD "\n",
+          value->startpos[0],
+          value->endpos[0],
+          value->startpos[1],
+          value->endpos[1],
+          value->weight);
 }
diff --git a/src/match/chainofin.c b/src/match/chainofin.c
index f9268de..794b7bf 100644
--- a/src/match/chainofin.c
+++ b/src/match/chainofin.c
@@ -22,7 +22,7 @@
 #include "core/types_api.h"
 #include "chain2dim.h"
 
-#define READNUMS 5
+#define GT_CHAININPUT_READNUMS 5
 
 #define CANNOTPARSELINE(S)\
         gt_error_set(err,"matchfile \"%s\", line "GT_WU", column "GT_WU": %s",\
@@ -58,7 +58,7 @@ GtChain2Dimmatchtable *gt_chain_analyzeopenformatfile(double weightfactor,
 {
   GtChain2Dimmatchtable *matchtable;
   GtUword linenum;
-  GtWord storeinteger[READNUMS];
+  GtWord storeinteger[GT_CHAININPUT_READNUMS];
   FILE *matchfp;
   bool haserr = false;
   GtChain2Dimmatchvalues fragment;
@@ -78,11 +78,12 @@ GtChain2Dimmatchtable *gt_chain_analyzeopenformatfile(double weightfactor,
                            &storeinteger[1],
                            &storeinteger[2],
                            &storeinteger[3],
-                           &storeinteger[4]) == READNUMS; linenum++)
+                           &storeinteger[4]) == GT_CHAININPUT_READNUMS;
+                    linenum++)
   {
     GtUword countcolumns;
 
-    for (countcolumns = 0; countcolumns < (GtUword) (READNUMS-1);
+    for (countcolumns = 0; countcolumns < (GtUword) (GT_CHAININPUT_READNUMS-1);
          countcolumns++)
     {
       if (storeinteger[countcolumns] < 0)
diff --git a/src/match/diagband-struct.c b/src/match/diagband-struct.c
new file mode 100644
index 0000000..4983d63
--- /dev/null
+++ b/src/match/diagband-struct.c
@@ -0,0 +1,349 @@
+/*
+  Copyright (c) 2017 Stefan Kurtz <kurtz at zbh.uni-hamburg.de>
+  Copyright (c) 2017 Center for Bioinformatics, University of Hamburg
+
+  Permission to use, copy, modify, and distribute this software for any
+  purpose with or without fee is hereby granted, provided that the above
+  copyright notice and this permission notice appear in all copies.
+
+  THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+  WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+  MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+  ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+  WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+  ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+  OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+*/
+
+#include <string.h>
+#include "core/ma_api.h"
+#include "core/assert_api.h"
+#include "core/unused_api.h"
+#include "core/str_api.h"
+#include "core/minmax.h"
+#include "core/intbits.h"
+#include "match/diagband-struct.h"
+
+/* called with real bpos */
+#define GT_DIAGBANDSEED_DIAGONALBAND(AMAXLEN,LOGDIAGBANDWIDTH,APOS,BPOS)\
+        (GT_DIAGBANDSEED_DIAGONAL(AMAXLEN,APOS,BPOS) >> (LOGDIAGBANDWIDTH))
+
+GtUword gt_diagband_struct_num_diagbands(GtUword amaxlen,GtUword bmaxlen,
+                                         GtUword logdiagbandwidth)
+{
+  return 1 + ((amaxlen + bmaxlen) >> logdiagbandwidth);
+}
+
+typedef uint32_t GtDiagbandseedScore;
+
+struct GtDiagbandStruct
+{
+  GtUword amaxlen, logdiagbandwidth, num_diagbands, used_diagbands,
+          reset_from_matches, reset_with_memset;
+  GtDiagbandseedScore *score;
+  GtDiagbandseedPosition *lastpos;
+};
+
+bool gt_diagband_struct_empty(const GtDiagbandStruct *diagband_struct)
+{
+  return diagband_struct->used_diagbands == 0 ? true : false;
+}
+
+GtDiagbandStruct *gt_diagband_struct_new(GtUword amaxlen,GtUword bmaxlen,
+                                         GtUword logdiagbandwidth)
+{
+  GtDiagbandStruct *diagband_struct = gt_malloc(sizeof *diagband_struct);
+
+  diagband_struct->used_diagbands = 0;
+  diagband_struct->num_diagbands
+    = gt_diagband_struct_num_diagbands(amaxlen,bmaxlen,logdiagbandwidth);
+  diagband_struct->amaxlen = amaxlen;
+  diagband_struct->logdiagbandwidth = logdiagbandwidth;
+  /* diagband_score[0] and diagband_score[num_diagbands+1] remain zero as
+     boundaries */
+  diagband_struct->score = gt_calloc(diagband_struct->num_diagbands + 2,
+                                     sizeof *diagband_struct->score);
+  diagband_struct->score++; /* so we need not increment the index when
+                               accessing score */
+  diagband_struct->lastpos
+    = gt_calloc(diagband_struct->num_diagbands,
+                sizeof *diagband_struct->lastpos);
+  diagband_struct->reset_from_matches = 0;
+  diagband_struct->reset_with_memset = 0;
+  return diagband_struct;
+}
+
+void gt_diagband_struct_reset_counts(const GtDiagbandStruct *diagband_struct,
+                                     FILE *stream)
+{
+  fprintf(stream,"# number of resets of all used diagonal bands: " GT_WU,
+          diagband_struct->reset_with_memset +
+          diagband_struct->reset_from_matches);
+  if (diagband_struct->reset_with_memset > 0)
+  {
+    fprintf(stream,"; simple resets: " GT_WU,
+            diagband_struct->reset_with_memset);
+  }
+  if (diagband_struct->reset_from_matches > 0)
+  {
+    fprintf(stream,"; resets from matches: " GT_WU,
+            diagband_struct->reset_from_matches);
+  }
+  fprintf(stream,"\n");
+}
+
+void gt_diagband_struct_delete(GtDiagbandStruct *diagband_struct)
+{
+  if (diagband_struct != NULL)
+  {
+    diagband_struct->score--; /* need to recover original base adress */
+    gt_free(diagband_struct->score);
+    gt_free(diagband_struct->lastpos);
+    gt_free(diagband_struct);
+  }
+}
+
+void gt_diagband_struct_single_update(GtDiagbandStruct *diagband_struct,
+                                      GtDiagbandseedPosition apos,
+                                      GtDiagbandseedPosition bpos,
+                                      GtDiagbandseedPosition matchlength)
+{
+  GtUword diagband_idx;
+
+  gt_assert(diagband_struct != NULL);
+  diagband_idx = GT_DIAGBANDSEED_DIAGONALBAND(diagband_struct->amaxlen,
+                                              diagband_struct->logdiagbandwidth,
+                                              apos,
+                                              bpos);
+  gt_assert(diagband_idx < diagband_struct->num_diagbands);
+  if (diagband_struct->lastpos[diagband_idx] == 0 /* first matches */||
+      /* match with end position bpos begins strictly after previous match */
+      diagband_struct->lastpos[diagband_idx] + matchlength <= bpos)
+  {
+    /* no overlap */
+    diagband_struct->lastpos[diagband_idx] = bpos;
+    if (diagband_struct->score[diagband_idx] == 0)
+    {
+      diagband_struct->used_diagbands++;
+    }
+    diagband_struct->score[diagband_idx] += matchlength;
+  } else
+  {
+    /* overlap: add positions after last counted position */
+    if (diagband_struct->lastpos[diagband_idx] < bpos)
+    {
+      const GtUword addlength = bpos - diagband_struct->lastpos[diagband_idx];
+
+      diagband_struct->lastpos[diagband_idx] = bpos;
+      if (diagband_struct->score[diagband_idx] == 0)
+      {
+        diagband_struct->used_diagbands++;
+      }
+      diagband_struct->score[diagband_idx] += addlength;
+    }
+  }
+}
+
+static GtUword gt_diagband_struct_dband_coverage(
+                                    const GtDiagbandStruct *diagband_struct,
+                                    GtUword diagband_idx)
+{
+  gt_assert(diagband_struct != NULL);
+  return (GtUword) MAX(diagband_struct->score[diagband_idx + 1],
+                       diagband_struct->score[diagband_idx - 1])
+         + (GtUword) diagband_struct->score[diagband_idx];
+}
+
+GtUword gt_diagband_struct_coverage(const GtDiagbandStruct *diagband_struct,
+                                    GtDiagbandseedPosition apos,
+                                    GtDiagbandseedPosition bpos)
+{
+  GtUword diagband_idx;
+
+  gt_assert(diagband_struct != NULL);
+  diagband_idx = GT_DIAGBANDSEED_DIAGONALBAND(diagband_struct->amaxlen,
+                                              diagband_struct->logdiagbandwidth,
+                                              apos, bpos);
+  return gt_diagband_struct_dband_coverage(diagband_struct,diagband_idx);
+}
+
+void gt_diagband_struct_multi_update(GtDiagbandStruct *diagband_struct,
+                                     const GtDiagbandseedMaximalmatch *memstore,
+                                     GtUword numofmatches)
+{
+  GtUword idx;
+
+  gt_assert(memstore != NULL);
+  for (idx = 0; idx < numofmatches; idx++)
+  {
+    gt_diagband_struct_single_update(diagband_struct,
+                                     memstore[idx].apos,
+                                     memstore[idx].bpos,
+                                     memstore[idx].len);
+  }
+}
+
+void gt_diagband_struct_reset(GtDiagbandStruct *diagband_struct,
+                              const GtSeedpairPositions *seedstore,
+                              const GtDiagbandseedMaximalmatch *memstore,
+                              GtUword segment_length)
+{
+  gt_assert(diagband_struct != NULL);
+  if (diagband_struct->used_diagbands * 3 >= diagband_struct->num_diagbands)
+  { /* >= 33% of diagbands are used */
+    memset(diagband_struct->score,0,
+           sizeof *diagband_struct->score * diagband_struct->num_diagbands);
+    memset(diagband_struct->lastpos,0,
+           sizeof *diagband_struct->lastpos * diagband_struct->num_diagbands);
+    diagband_struct->reset_with_memset++;
+  } else
+  {
+    GtUword idx;
+
+    if (seedstore != NULL)
+    {
+      for (idx = 0; idx < segment_length; idx++)
+      {
+        const GtUword diagband_idx
+          = GT_DIAGBANDSEED_DIAGONALBAND(diagband_struct->amaxlen,
+                                         diagband_struct->logdiagbandwidth,
+                                         seedstore[idx].apos,
+                                         seedstore[idx].bpos);
+        diagband_struct->score[diagband_idx] = 0;
+        diagband_struct->lastpos[diagband_idx] = 0;
+      }
+    } else
+    {
+      gt_assert(memstore != NULL);
+      for (idx = 0; idx < segment_length; idx++)
+      {
+        const GtUword diagband_idx
+          = GT_DIAGBANDSEED_DIAGONALBAND(diagband_struct->amaxlen,
+                                         diagband_struct->logdiagbandwidth,
+                                         memstore[idx].apos,
+                                         memstore[idx].bpos);
+        diagband_struct->score[diagband_idx] = 0;
+        diagband_struct->lastpos[diagband_idx] = 0;
+      }
+    }
+    diagband_struct->reset_from_matches++;
+  }
+  diagband_struct->used_diagbands = 0;
+}
+
+struct GtDiagbandStatistics
+{
+  bool compute_sum;
+  bool forward;
+  GtUword sumscore;
+  GtBitsequence *track;
+};
+
+GtDiagbandStatistics *gt_diagband_statistics_new(const GtStr
+                                                   *diagband_distance_arg,
+                                                 bool forward)
+{
+  const char *arg = gt_str_get(diagband_distance_arg);
+  GtDiagbandStatistics *diagband_statistics
+    = gt_malloc(sizeof *diagband_statistics);
+
+  diagband_statistics->forward = forward;
+  diagband_statistics->compute_sum = false;
+  if (strcmp(arg,"sum") == 0)
+  {
+    diagband_statistics->compute_sum = true;
+  } else
+  {
+    gt_assert(false);
+  }
+  diagband_statistics->sumscore = 0;
+  diagband_statistics->track = NULL;
+  return diagband_statistics;
+}
+
+void gt_diagband_statistics_delete(GtDiagbandStatistics *diagband_statistics)
+{
+  if (diagband_statistics != NULL)
+  {
+    gt_free(diagband_statistics->track);
+    gt_free(diagband_statistics);
+  }
+}
+
+void gt_diagband_statistics_display(const GtDiagbandStatistics
+                                           *diagband_statistics)
+{
+  gt_assert(diagband_statistics != NULL);
+  if (diagband_statistics->compute_sum)
+  {
+    printf("# forward=%s, sum_diagband_score=" GT_WU "\n",
+            diagband_statistics->forward ? "true" : "false",
+            diagband_statistics->sumscore);
+  } else
+  {
+    gt_assert(false);
+  }
+}
+
+static void gt_diagband_statistics_score_add(
+                                      GtDiagbandStatistics *diagband_statistics,
+                                      const GtDiagbandStruct *diagband_struct,
+                                      GtUword diagband_idx)
+{
+  if (!GT_ISIBITSET(diagband_statistics->track,diagband_idx))
+  {
+    diagband_statistics->sumscore += diagband_struct->score[diagband_idx];
+    GT_SETIBIT(diagband_statistics->track,diagband_idx);
+  }
+}
+
+void gt_diagband_statistics_add(void *v_diagband_statistics,
+                                /* remove GT_UNUSED once arguments are used */
+                                GT_UNUSED const GtEncseq *aencseq,
+                                GT_UNUSED const GtEncseq *bencseq,
+                                GT_UNUSED GtUword aseqnum,
+                                GT_UNUSED GtUword bseqnum,
+                                const GtDiagbandStruct *diagband_struct,
+                                const GtDiagbandseedMaximalmatch *memstore,
+                                GT_UNUSED unsigned int seedlength,
+                                const GtSeedpairPositions *seedstore,
+                                GtUword segment_length)
+{
+  GtUword idx;
+  GtDiagbandStatistics *diagband_statistics
+    = (GtDiagbandStatistics *) v_diagband_statistics;
+
+  if (diagband_statistics->track == NULL)
+  {
+    GT_INITBITTAB(diagband_statistics->track,diagband_struct->num_diagbands);
+  } else
+  {
+    GT_CLEARBITTAB(diagband_statistics->track,diagband_struct->num_diagbands);
+  }
+  if (seedstore != NULL)
+  {
+    for (idx = 0; idx < segment_length; idx++)
+    {
+      const GtUword diagband_idx
+        = GT_DIAGBANDSEED_DIAGONALBAND(diagband_struct->amaxlen,
+                                       diagband_struct->logdiagbandwidth,
+                                       seedstore[idx].apos,
+                                       seedstore[idx].bpos);
+      gt_diagband_statistics_score_add(diagband_statistics,diagband_struct,
+                                       diagband_idx);
+    }
+  } else
+  {
+    gt_assert(memstore != NULL);
+    for (idx = 0; idx < segment_length; idx++)
+    {
+      const GtUword diagband_idx
+        = GT_DIAGBANDSEED_DIAGONALBAND(diagband_struct->amaxlen,
+                                       diagband_struct->logdiagbandwidth,
+                                       memstore[idx].apos,
+                                       memstore[idx].bpos);
+      gt_diagband_statistics_score_add(diagband_statistics,diagband_struct,
+                                       diagband_idx);
+    }
+  }
+}
diff --git a/src/match/diagband-struct.h b/src/match/diagband-struct.h
new file mode 100644
index 0000000..11943de
--- /dev/null
+++ b/src/match/diagband-struct.h
@@ -0,0 +1,170 @@
+/*
+  Copyright (c) 2017 Stefan Kurtz <kurtz at zbh.uni-hamburg.de>
+  Copyright (c) 2017 Center for Bioinformatics, University of Hamburg
+
+  Permission to use, copy, modify, and distribute this software for any
+  purpose with or without fee is hereby granted, provided that the above
+  copyright notice and this permission notice appear in all copies.
+
+  THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+  WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+  MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+  ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+  WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+  ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+  OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+*/
+
+#ifndef DIAGBAND_STRUCT_H
+#define DIAGBAND_STRUCT_H
+#include <inttypes.h>
+#include "core/types_api.h"
+#include "core/encseq_api.h"
+
+/* This module implements all methods related to diagonal bands including
+   statistics derived from them. The latter is currently under development. */
+
+/* We add the following macro, as, besides determining diagonal bands,
+   we need in some cases just compute the diagonal for given positions
+   <APOS> and <BPOS> and maximum length <AMAXLEN> of all positions in
+   sequence set A.
+*/
+#define GT_DIAGBANDSEED_DIAGONAL(AMAXLEN,APOS,BPOS)\
+        ((AMAXLEN) + (GtUword) (BPOS) - (GtUword) (APOS))
+
+/* Determine the number of diagonal bands. The width of a band is
+   2^{logdiagbandwidth}, i.e. we only support width which are powers of 2.
+   Also, we always compute as much diagonal bands as required
+   for the pair of longest sequences in set A and B.  So we can use the
+   same diagonal band structure for all sequence pairs. */
+
+GtUword gt_diagband_struct_num_diagbands(GtUword amaxlen,GtUword bmaxlen,
+                                         GtUword logdiagbandwidth);
+
+/* The name of the opaque type */
+
+typedef struct GtDiagbandStruct GtDiagbandStruct;
+
+/* The constructor. */
+
+GtDiagbandStruct *gt_diagband_struct_new(GtUword amaxlen,GtUword bmaxlen,
+                                         GtUword logdiagbandwidth);
+
+/* The destructor. */
+
+void gt_diagband_struct_delete(GtDiagbandStruct *diagband_struct);
+
+/* Return true if and only if all scores of diagonal bands, stored in
+   <diagband_struct> are 0. */
+
+bool gt_diagband_struct_empty(const GtDiagbandStruct *diagband_struct);
+
+typedef uint32_t GtDiagbandseedPosition;
+
+/* for a given match of length <matchlength> ending a positions <apos> and
+   <bpos> the sequence from A and from B, respectively, update the
+   diagonal band score, which is the number of positions on B covered by the
+   match. If previous matches have been added to the band before, then
+   the positions overlapping with these on the B-sequence are not counted.*/
+
+void gt_diagband_struct_single_update(GtDiagbandStruct *diagband_struct,
+                                      GtDiagbandseedPosition apos,
+                                      GtDiagbandseedPosition bpos,
+                                      GtDiagbandseedPosition matchlength);
+
+/* for a given pair of positions <apos> and <bpos> on the A- and on the
+   B-sequence, respectively, determine the corresponding coverage. */
+
+GtUword gt_diagband_struct_coverage(const GtDiagbandStruct *diagband_struct,
+                                    GtDiagbandseedPosition apos,
+                                    GtDiagbandseedPosition bpos);
+
+/* In the case where we use maximal matches as seeds, we have to perform
+   updates for a table of maximal matches, who's basetype is defined as follows:
+*/
+
+typedef struct
+{
+  GtDiagbandseedPosition apos, bpos, len;
+} GtDiagbandseedMaximalmatch;
+
+/* The following function updates the diagonal band score for
+   <numofmatches> MEMs stored in <memstore>. The matches have to be sorted
+   by the B-position */
+
+void gt_diagband_struct_multi_update(GtDiagbandStruct *diagband_struct,
+                                     const GtDiagbandseedMaximalmatch *memstore,
+                                     GtUword numofmatches);
+
+/* To store seeds in we use elements of the following type. */
+
+typedef struct
+{
+  GtDiagbandseedPosition apos, /* secondary key */
+                         bpos; /* primary key */
+} GtSeedpairPositions;
+
+/* The following function resets the diagonal band score for
+   <segment_length> seeds. */
+
+void gt_diagband_struct_reset(GtDiagbandStruct *diagband_struct,
+                              const GtSeedpairPositions *seedstore,
+                              const GtDiagbandseedMaximalmatch *memstore,
+                              GtUword segment_length);
+
+/* The following function outputs how many resets of all used diagonal bands
+   are performed. */
+
+void gt_diagband_struct_reset_counts(const GtDiagbandStruct *diagband_struct,
+                                     FILE *stream);
+
+/* We want to compute statistics on diagonal bands and we use the
+   following type for the corresponding state. */
+
+typedef struct GtDiagbandStatistics GtDiagbandStatistics;
+
+/* The constructor. The first argument is the argument of option
+   -diagband-stat. Currently the only option is the keyword sum.
+   One can extend the list of different options to compute other statistics,
+   by adding a corresponding string to the array
+   diagband_statistics_choices in src/tools/gt_seed_extend.c.
+   The second argument is <true> iff the statistics is computed from a
+   comparison of the two strings in forward direction.
+   The second argument is <false> iff the statistics is computed from a
+   comparison of A sequences in forward direction and the B-string in reverse
+   complemented direction.
+*/
+
+GtDiagbandStatistics *gt_diagband_statistics_new(const GtStr
+                                                   *diagband_statistics_arg,
+                                                 bool forward);
+
+/* The destructor. */
+
+void gt_diagband_statistics_delete(GtDiagbandStatistics *diagband_statistics);
+
+/* If the option -diagband-stat is used, the following function is called for
+   each pair of sequences, after completing the scores in
+   diagband_struct. The first argument refers to an object created by
+   gt_diagband_statistics_new.
+*/
+
+void gt_diagband_statistics_add(void *v_diagband_statistics,
+                                const GtEncseq *aencseq,
+                                const GtEncseq *bencseq,
+                                GtUword aseqnum,
+                                GtUword bseqnum,
+                                const GtDiagbandStruct *diagband_struct,
+                                const GtDiagbandseedMaximalmatch *memstore,
+                                unsigned int seedlength,
+                                const GtSeedpairPositions *seedstore,
+                                GtUword segment_length);
+
+/* The following function displays the computed statistics after all
+   pairs of sequences have been processed. Note that one statistic is computed
+   from the forward strand and one from the reverse strand. */
+
+void gt_diagband_statistics_display(const GtDiagbandStatistics
+                                      *diagband_statistics);
+
+#endif
diff --git a/src/match/diagbandseed.c b/src/match/diagbandseed.c
index d2a0425..c4cad2e 100644
--- a/src/match/diagbandseed.c
+++ b/src/match/diagbandseed.c
@@ -1,6 +1,7 @@
 /*
   Copyright (c) 2015-2016 Joerg Winkler <j.winkler at posteo.de>
-  Copyright (c) 2015-2016 Center for Bioinformatics, University of Hamburg
+  Copyright (c) 2015-2017 Stefan Kurtz <kurtz at zbh.uni-hamburg.de>
+  Copyright (c) 2015-2017 Center for Bioinformatics, University of Hamburg
 
   Permission to use, copy, modify, and distribute this software for any
   purpose with or without fee is hereby granted, provided that the above
@@ -19,6 +20,8 @@
 #include <stddef.h>
 #include <stdio.h>
 #include <string.h>
+#include <sys/time.h>
+#include <float.h>
 #include "core/arraydef.h"
 #include "core/codetype.h"
 #include "core/complement.h"
@@ -30,30 +33,36 @@
 #include "core/minmax.h"
 #include "core/radix_sort.h"
 #include "core/timer_api.h"
+#include "core/spacecalc.h"
 #include "core/warning_api.h"
 #include "core/xansi_api.h"
+#include "core/intbits.h"
+#include "core/qsort-ulong.h"
+#include "core/radix_sort.h"
+#include "core/log_api.h"
+#include "core/bittab_api.h"
+#include "match/chain2dim.h"
 #include "match/declare-readfunc.h"
-#include "match/diagbandseed.h"
 #include "match/kmercodes.h"
 #include "match/querymatch.h"
 #include "match/querymatch-align.h"
 #include "match/seed-extend.h"
 #include "match/sfx-mappedstr.h"
 #include "match/sfx-suffixer.h"
+#include "match/rectangle-store.h"
+#include "match/diagband-struct.h"
+#include "match/diagbandseed.h"
 
 #ifdef GT_THREADS_ENABLED
 #include "core/thread_api.h"
 #endif
 
-#define GT_DIAGBANDSEED_SEQNUM_UNDEF UINT_MAX
-/* #define GT_DIAGBANDSEED_SEEDHISTOGRAM 100 */
+/* We need to use 6 digits for the micro seconds */
+#define GT_DIAGBANDSEED_FMT          "in " GT_WD ".%06ld seconds.\n"
 
-typedef uint32_t GtDiagbandseedPosition;
 typedef uint32_t GtDiagbandseedSeqnum;
-typedef uint32_t GtDiagbandseedScore;
-typedef struct GtDiagbandseedProcKmerInfo GtDiagbandseedProcKmerInfo;
 
-typedef struct {
+typedef struct { /* 8 + 4 + 4 bytes */
   GtCodetype code;              /* only sort criterion */
   GtDiagbandseedSeqnum seqnum;
   GtDiagbandseedPosition endpos;
@@ -63,106 +72,205 @@ GT_DECLAREARRAYSTRUCT(GtDiagbandseedKmerPos);
 DECLAREBufferedfiletype(GtDiagbandseedKmerPos);
 DECLAREREADFUNCTION(GtDiagbandseedKmerPos);
 
-typedef struct {
-  GtDiagbandseedSeqnum bseqnum; /*  2nd important sort criterion */
-  GtDiagbandseedSeqnum aseqnum; /* most important sort criterion */
-  GtDiagbandseedPosition apos;
-  GtDiagbandseedPosition bpos;  /*  3rd important sort criterion */
+typedef struct
+{ /* 4 + 4 + 4 + 4 bytes */
+  GtDiagbandseedSeqnum bseqnum, /*  2nd important sort criterion */
+                       aseqnum; /* most important sort criterion */
+  GtDiagbandseedPosition apos,
+                         bpos; /* 3rd important sort criterion */
 } GtDiagbandseedSeedPair;
 
-GT_DECLAREARRAYSTRUCT(GtDiagbandseedSeedPair);
+#define GT_DIAGBANDSEED_SETPOS(SP,APOS,BPOS)\
+        (SP)->bpos = BPOS;\
+        (SP)->apos = APOS
+
+#define GT_DIAGBANDSEED_GETPOS_A(SP) (SP)->apos
+#define GT_DIAGBANDSEED_GETPOS_B(SP) (SP)->bpos
 
-struct GtDiagbandseedInfo {
-  GtEncseq *aencseq;
-  GtEncseq *bencseq;
-  GtUword maxfreq;
-  GtUword memlimit;
-  unsigned int seedlength;
-  bool norev;
-  bool nofwd;
-  GtRange *seedpairdistance;
-  bool verify;
-  bool verbose;
-  bool debug_kmer;
-  bool debug_seedpair;
-  bool use_kmerfile;
-  GtDiagbandseedExtendParams *extp;
-  GtUword anumseqranges;
-  GtUword bnumseqranges;
+#define GT_DIAGBANDSEED_DIAGONAL2BPOS(AMAXLEN,APOS,DIAG)\
+        ((GtUword) (DIAG) + (GtUword) (APOS) - (AMAXLEN))
+
+#define GT_DIAGBANDSEED_CONV_B(APOS,BPOS)\
+        (seedpairlist->maxmat_compute \
+          ? GT_DIAGBANDSEED_DIAGONAL2BPOS(seedpairlist->amaxlen,APOS,BPOS) \
+          : (BPOS))
+
+struct GtDiagbandseedInfo
+{
+  const GtEncseq *aencseq,
+                 *bencseq;
+  const GtDiagbandseedExtendParams *extp;
+  const GtRange *seedpairdistance;
+  const GtStr *chainarguments,
+              *diagband_statistics_arg;
+  GtUword maxfreq,
+          memlimit,
+          maxmat;
+  unsigned int seedweight,
+               seedlength;
+  GtDiagbandseedPairlisttype splt;
+  bool norev,
+       nofwd,
+       verify,
+       verbose,
+       debug_kmer,
+       debug_seedpair,
+       use_kmerfile,
+       trimstat_on;
 };
 
-struct GtDiagbandseedExtendParams {
-  GtUword errorpercentage;
-  GtUword userdefinedleastlength;
-  GtUword logdiagbandwidth;
-  GtUword mincoverage;
-  unsigned int display_flag;
-  bool use_apos;
+struct GtDiagbandseedExtendParams
+{
+  GtUword logdiagbandwidth,
+          mincoverage,
+          maxalignedlendifference,
+          history_size,
+          perc_mat_history,
+          sensitivity,
+          userdefinedleastlength,
+          errorpercentage;
+  double evalue_threshold;
   GtXdropscore xdropbelowscore;
-  bool extendgreedy;
-  bool extendxdrop;
-  GtUword maxalignedlendifference;
-  GtUword history_size;
-  GtUword perc_mat_history;
-  GtExtendCharAccess extend_char_access;
-  GtUword sensitivity;
+  GtExtendCharAccess a_extend_char_access,
+                     b_extend_char_access;
+  const GtSeedExtendDisplayFlag *out_display_flag;
   double matchscore_bias;
-  bool weakends;
-  bool benchmark;
-  GtUword alignmentwidth;
-  bool always_polished_ends;
+  GtUword use_apos;
+  GtAniAccumulate *ani_accumulate;
+  bool extendgreedy,
+       extendxdrop,
+       weakends,
+       benchmark,
+       always_polished_ends,
+       verify_alignment,
+       only_selected_seqpairs,
+       cam_generic;
 };
 
-struct GtDiagbandseedProcKmerInfo {
+typedef struct
+{
   GtArrayGtDiagbandseedKmerPos *list;
   GtDiagbandseedSeqnum seqnum;
   GtDiagbandseedPosition endpos;
   const GtEncseq *encseq;
-  unsigned int seedlength;
-  GtReadmode readmode;
   GtSpecialrangeiterator *sri;
-  GtUword totallength;
-  GtUword prev_separator;
-  GtUword next_separator;
   GtRange *specialrange;
-};
+  GtUword last_specialpos,
+          prev_separator,
+          next_separator;
+  unsigned int seedweight,
+               seedlength;
+  GtReadmode readmode;
+} GtDiagbandseedProcKmerInfo;
+
+typedef struct
+{
+  GtUword b_firstseq, b_numsequences;
+  GtBitsequence *b_bitsequence;
+} GtSegmentRejectInfo;
+
+typedef bool (*GtSegmentRejectFunc)(const GtSegmentRejectInfo *,GtUword);
+
+static GtSegmentRejectInfo *gt_segment_reject_info_new(GtUword b_firstseq,
+                                                       GtUword b_numsequences)
+{
+  GtSegmentRejectInfo *segment_reject_info
+    = gt_malloc(sizeof *segment_reject_info);
+
+  gt_assert(b_numsequences > 0);
+  GT_INITBITTAB(segment_reject_info->b_bitsequence,b_numsequences);
+  segment_reject_info->b_firstseq = b_firstseq;
+  segment_reject_info->b_numsequences = b_numsequences;
+  return segment_reject_info;
+}
+
+static void gt_segment_reject_info_delete(GtSegmentRejectInfo
+                                            *segment_reject_info)
+{
+  if (segment_reject_info != NULL)
+  {
+    gt_free(segment_reject_info->b_bitsequence);
+    gt_free(segment_reject_info);
+  }
+}
+
+static void gt_segment_reject_register_match(GtSegmentRejectInfo
+                                                *segment_reject_info,
+                                             GtUword bseqnum)
+{
+  GtUword idx;
+
+  gt_assert(segment_reject_info !=NULL);
+  idx = bseqnum - segment_reject_info->b_firstseq;
+  gt_assert(bseqnum >= segment_reject_info->b_firstseq &&
+            idx < segment_reject_info->b_numsequences &&
+            !GT_ISIBITSET(segment_reject_info->b_bitsequence,idx));
+  GT_SETIBIT(segment_reject_info->b_bitsequence,idx);
+}
+
+static bool gt_segment_reject_check(const GtSegmentRejectInfo
+                                      *segment_reject_info,
+                                       GtUword bseqnum)
+{
+  const GtUword idx = bseqnum - segment_reject_info->b_firstseq;
+
+  gt_assert(bseqnum >= segment_reject_info->b_firstseq &&
+            idx < segment_reject_info->b_numsequences);
+  return GT_ISIBITSET(segment_reject_info->b_bitsequence,idx) ? true : false;
+}
 
 /* * * * * CONSTRUCTORS AND DESTRUCTORS * * * * */
 
-GtDiagbandseedInfo *gt_diagbandseed_info_new(GtEncseq *aencseq,
-                                             GtEncseq *bencseq,
+GtDiagbandseedInfo *gt_diagbandseed_info_new(const GtEncseq *aencseq,
+                                             const GtEncseq *bencseq,
                                              GtUword maxfreq,
                                              GtUword memlimit,
+                                             unsigned int spacedseedweight,
                                              unsigned int seedlength,
                                              bool norev,
                                              bool nofwd,
-                                             GtRange *seedpairdistance,
+                                             const GtRange *seedpairdistance,
+                                             GtDiagbandseedPairlisttype splt,
                                              bool verify,
                                              bool verbose,
                                              bool debug_kmer,
                                              bool debug_seedpair,
                                              bool use_kmerfile,
-                                             GtDiagbandseedExtendParams *extp,
-                                             GtUword anumseqranges,
-                                             GtUword bnumseqranges)
+                                             bool trimstat_on,
+                                             GtUword maxmat,
+                                             const GtStr *chainarguments,
+                                             const GtStr
+                                               *diagband_statistics_arg,
+                                             const GtDiagbandseedExtendParams
+                                               *extp)
 {
   GtDiagbandseedInfo *info = gt_malloc(sizeof *info);
   info->aencseq = aencseq;
   info->bencseq = bencseq;
   info->maxfreq = maxfreq;
   info->memlimit = memlimit;
+  if (spacedseedweight > 0)
+  {
+    info->seedweight = spacedseedweight;
+  } else
+  {
+    info->seedweight = seedlength;
+  }
   info->seedlength = seedlength;
   info->norev = norev;
   info->nofwd = nofwd;
   info->seedpairdistance = seedpairdistance;
+  info->splt = splt;
   info->verify = verify;
   info->verbose = verbose;
   info->debug_kmer = debug_kmer;
   info->debug_seedpair = debug_seedpair;
   info->use_kmerfile = use_kmerfile;
+  info->trimstat_on = trimstat_on;
+  info->maxmat = maxmat;
+  info->chainarguments = chainarguments;
+  info->diagband_statistics_arg = diagband_statistics_arg;
   info->extp = extp;
-  info->anumseqranges = anumseqranges;
-  info->bnumseqranges = bnumseqranges;
   return info;
 }
 
@@ -174,32 +282,38 @@ void gt_diagbandseed_info_delete(GtDiagbandseedInfo *info)
 }
 
 GtDiagbandseedExtendParams *gt_diagbandseed_extend_params_new(
-                                GtUword errorpercentage,
                                 GtUword userdefinedleastlength,
+                                GtUword errorpercentage,
+                                double evalue_threshold,
                                 GtUword logdiagbandwidth,
                                 GtUword mincoverage,
-                                unsigned int display_flag,
-                                bool use_apos,
+                                const GtSeedExtendDisplayFlag *out_display_flag,
+                                GtUword use_apos,
                                 GtXdropscore xdropbelowscore,
                                 bool extendgreedy,
                                 bool extendxdrop,
                                 GtUword maxalignedlendifference,
                                 GtUword history_size,
                                 GtUword perc_mat_history,
-                                GtExtendCharAccess extend_char_access,
+                                GtExtendCharAccess a_extend_char_access,
+                                GtExtendCharAccess b_extend_char_access,
+                                bool cam_generic,
                                 GtUword sensitivity,
                                 double matchscore_bias,
                                 bool weakends,
                                 bool benchmark,
-                                GtUword alignmentwidth,
-                                bool always_polished_ends)
+                                bool always_polished_ends,
+                                bool verify_alignment,
+                                bool only_selected_seqpairs,
+                                GtAniAccumulate *ani_accumulate)
 {
   GtDiagbandseedExtendParams *extp = gt_malloc(sizeof *extp);
-  extp->errorpercentage = errorpercentage;
   extp->userdefinedleastlength = userdefinedleastlength;
+  extp->errorpercentage = errorpercentage;
+  extp->evalue_threshold = evalue_threshold;
   extp->logdiagbandwidth = logdiagbandwidth;
   extp->mincoverage = mincoverage;
-  extp->display_flag = display_flag;
+  extp->out_display_flag = out_display_flag;
   extp->use_apos = use_apos;
   extp->xdropbelowscore = xdropbelowscore;
   extp->extendgreedy = extendgreedy;
@@ -207,13 +321,17 @@ GtDiagbandseedExtendParams *gt_diagbandseed_extend_params_new(
   extp->maxalignedlendifference = maxalignedlendifference;
   extp->history_size = history_size;
   extp->perc_mat_history = perc_mat_history;
-  extp->extend_char_access = extend_char_access;
+  extp->a_extend_char_access = a_extend_char_access;
+  extp->b_extend_char_access = b_extend_char_access;
+  extp->cam_generic = cam_generic;
   extp->sensitivity = sensitivity;
   extp->matchscore_bias = matchscore_bias;
   extp->weakends = weakends;
   extp->benchmark = benchmark;
-  extp->alignmentwidth = alignmentwidth;
   extp->always_polished_ends = always_polished_ends;
+  extp->verify_alignment = verify_alignment;
+  extp->only_selected_seqpairs = only_selected_seqpairs;
+  extp->ani_accumulate = ani_accumulate;
   return extp;
 }
 
@@ -229,17 +347,17 @@ void gt_diagbandseed_extend_params_delete(GtDiagbandseedExtendParams *extp)
 /* Estimate the number of k-mers in the given encseq. */
 static GtUword gt_seed_extend_numofkmers(const GtEncseq *encseq,
                                          unsigned int seedlength,
-                                         const GtRange *seqrange)
+                                         GtUword seqrange_start,
+                                         GtUword seqrange_end)
 {
   GtUword lastpos, numofpos, subtract, ratioofspecial;
-
   const GtUword totalnumofspecial = gt_encseq_specialcharacters(encseq),
                 totalnumofpos = gt_encseq_total_length(encseq),
-                firstpos = gt_encseq_seqstartpos(encseq, seqrange->start),
-                numofseq = gt_range_length(seqrange);
-  lastpos = (seqrange->end + 1 == gt_encseq_num_of_sequences(encseq)
+                firstpos = gt_encseq_seqstartpos(encseq, seqrange_start),
+                numofseq = seqrange_end - seqrange_start + 1;
+  lastpos = (seqrange_end + 1 == gt_encseq_num_of_sequences(encseq)
              ? totalnumofpos
-             : gt_encseq_seqstartpos(encseq, seqrange->end + 1) - 1);
+             : gt_encseq_seqstartpos(encseq, seqrange_end + 1) - 1);
   gt_assert(lastpos >= firstpos);
   numofpos = lastpos - firstpos;
 
@@ -254,6 +372,7 @@ static GtUword gt_seed_extend_numofkmers(const GtEncseq *encseq,
 static GtUword gt_diagbandseed_update_separatorpos(GtRange *specialrange,
                                                    GtSpecialrangeiterator *sri,
                                                    const GtEncseq *encseq,
+                                                   GtUword totallength,
                                                    GtReadmode readmode)
 {
   gt_assert(sri != NULL && specialrange != NULL && encseq != NULL);
@@ -266,7 +385,21 @@ static GtUword gt_diagbandseed_update_separatorpos(GtRange *specialrange,
       }
     }
   } while (gt_specialrangeiterator_next(sri, specialrange));
-  return gt_encseq_total_length(encseq);
+  return totallength;
+}
+
+static GtCodetype gt_extract_spaced_seed_rasb_se2(GtCodetype kmer)
+{
+  gt_assert(kmer < 1152921504606846976);
+  /* 111110101101011100111011001111, weight 21, length 30 */
+  return ((kmer & ((GtCodetype) 1151795604700004352)) >> 18) |
+         ((kmer & ((GtCodetype) 211106232532992)) >> 16) |
+         ((kmer & ((GtCodetype) 16492674416640)) >> 14) |
+         ((kmer & ((GtCodetype) 206158430208)) >> 12) |
+         ((kmer & ((GtCodetype) 16911433728)) >> 10) |
+         ((kmer & ((GtCodetype) 16515072)) >> 6) |
+         ((kmer & ((GtCodetype) 61440)) >> 4) |
+         (kmer & ((GtCodetype) 255));
 }
 
 /* Add given code and its seqnum and position to a kmer list. */
@@ -297,11 +430,12 @@ static void gt_diagbandseed_processkmercode(void *prockmerinfo,
         = gt_diagbandseed_update_separatorpos(pkinfo->specialrange,
                                               pkinfo->sri,
                                               pkinfo->encseq,
+                                              pkinfo->last_specialpos,
                                               pkinfo->readmode);
       gt_assert(pkinfo->next_separator >= pkinfo->prev_separator);
     }
-    gt_assert(endpos >= pkinfo->prev_separator);
-    gt_assert(startpos < pkinfo->next_separator);
+    gt_assert(endpos >= pkinfo->prev_separator &&
+              startpos < pkinfo->next_separator);
     if (pkinfo->readmode == GT_READMODE_FORWARD) {
       pkinfo->endpos = (GtDiagbandseedPosition) (endpos -
                                                  pkinfo->prev_separator);
@@ -312,10 +446,15 @@ static void gt_diagbandseed_processkmercode(void *prockmerinfo,
   }
 
   /* save k-mer code */
-  kmerposptr->code = (pkinfo->readmode == GT_READMODE_FORWARD
-                      ? code : gt_kmercode_reverse(code, pkinfo->seedlength));
+  kmerposptr->code = pkinfo->readmode == GT_READMODE_FORWARD
+                       ? code
+                       : gt_kmercode_reverse(code, pkinfo->seedlength);
+  if (pkinfo->seedweight < pkinfo->seedlength)
+  {
+    kmerposptr->code = gt_extract_spaced_seed_rasb_se2(kmerposptr->code);
+  }
   /* save endpos and seqnum */
-  gt_assert(pkinfo->endpos != UINT_MAX);
+  gt_assert(pkinfo->endpos != UINT32_MAX);
   kmerposptr->endpos = pkinfo->endpos;
   pkinfo->endpos = (pkinfo->readmode == GT_READMODE_FORWARD
                     ? pkinfo->endpos + 1 : pkinfo->endpos - 1);
@@ -325,106 +464,115 @@ static void gt_diagbandseed_processkmercode(void *prockmerinfo,
 /* Uses GtKmercodeiterator for fetching the kmers. */
 static void gt_diagbandseed_get_kmers_kciter(GtDiagbandseedProcKmerInfo *pkinfo)
 {
-  GtKmercodeiterator *kc_iter = NULL;
-  const GtKmercode *kmercode = NULL;
-  bool firstinrange = true;
-  GtUword maxpos = 0, position;
-
-  /* initialise GtKmercodeiterator */
   gt_assert(pkinfo != NULL);
-  position = gt_encseq_seqstartpos(pkinfo->encseq, pkinfo->seqnum);
-  kc_iter = gt_kmercodeiterator_encseq_new(pkinfo->encseq,
-                                           pkinfo->readmode,
-                                           pkinfo->seedlength,
-                                           position);
-  if (pkinfo->seedlength <= pkinfo->totallength) {
-    maxpos = pkinfo->totallength + 1 - pkinfo->seedlength;
-  }
-
-  /* iterate */
-  while (position < maxpos) {
-    kmercode = gt_kmercodeiterator_encseq_next(kc_iter);
-    if (!kmercode->definedspecialposition) {
-      gt_diagbandseed_processkmercode((void *) pkinfo,
-                                      firstinrange,
-                                      position,
-                                      kmercode->code);
-      firstinrange = false;
-    } else {
-      firstinrange = true;
+  if (pkinfo->seedlength <= pkinfo->last_specialpos)
+  {
+    const GtKmercode *kmercode = NULL;
+    bool firstinrange = true;
+    GtKmercodeiterator *kc_iter = NULL;
+    const GtUword maxpos = pkinfo->last_specialpos + 1 - pkinfo->seedlength;
+    GtUword position = gt_encseq_seqstartpos(pkinfo->encseq, pkinfo->seqnum);
+
+    kc_iter = gt_kmercodeiterator_encseq_new(pkinfo->encseq,
+                                             pkinfo->readmode,
+                                             pkinfo->seedlength,
+                                             position);
+    while (position < maxpos)
+    {
+      kmercode = gt_kmercodeiterator_encseq_next(kc_iter);
+      if (!kmercode->definedspecialposition)
+      {
+        gt_diagbandseed_processkmercode((void *) pkinfo,
+                                        firstinrange,
+                                        position,
+                                        kmercode->code);
+        firstinrange = false;
+      } else
+      {
+        firstinrange = true;
+      }
+      position++;
     }
-    position++;
+    gt_kmercodeiterator_delete(kc_iter);
   }
-  gt_kmercodeiterator_delete(kc_iter);
 }
 
 /* Return a sorted list of k-mers of given seedlength from specified encseq.
  * Only sequences in seqrange will be taken into account.
  * The caller is responsible for freeing the result. */
-GtArrayGtDiagbandseedKmerPos gt_diagbandseed_get_kmers(const GtEncseq *encseq,
-                                                       unsigned int seedlength,
-                                                       GtReadmode readmode,
-                                                       const GtRange *seqrange,
-                                                       bool debug_kmer,
-                                                       bool verbose,
-                                                       GtUword known_size,
-                                                       FILE *stream)
-{
-  GtArrayGtDiagbandseedKmerPos list;
+static GtArrayGtDiagbandseedKmerPos gt_diagbandseed_get_kmers(
+                                   const GtEncseq *encseq,
+                                   unsigned int seedweight,
+                                   unsigned int seedlength,
+                                   GtReadmode readmode,
+                                   GtUword seqrange_start,
+                                   GtUword seqrange_end,
+                                   bool debug_kmer,
+                                   bool verbose,
+                                   GtUword known_size,
+                                   FILE *stream)
+{
+  GtArrayGtDiagbandseedKmerPos kmer_list;
   GtDiagbandseedProcKmerInfo pkinfo;
-  GtRadixsortinfo *rdxinfo;
   GtRange specialrange;
   GtTimer *timer = NULL;
-  GtUword listlen = known_size;
+  GtUword kmer_listlen = known_size;
+  const GtUword totallength = gt_encseq_total_length(encseq);
 
   gt_assert(encseq != NULL);
-  gt_assert(seqrange->start <= seqrange->end);
-  gt_assert(seqrange->end < gt_encseq_num_of_sequences(encseq));
-
-  if (known_size == 0) {
-    listlen = gt_seed_extend_numofkmers(encseq, seedlength, seqrange);
+  if (known_size > 0)
+  {
+    kmer_listlen = known_size;
+  } else
+  {
+    kmer_listlen = gt_seed_extend_numofkmers(encseq, seedlength, seqrange_start,
+                                             seqrange_end);
   }
-
   if (verbose) {
     timer = gt_timer_new();
-    fprintf(stream, "# Start fetching %u-mers (expect " GT_WU ")...\n",
-            seedlength, listlen);
+    fprintf(stream, "# start fetching %u-mers (expect " GT_WU
+                    ", allocate %.0f MB) ...\n",
+            seedlength, kmer_listlen,
+            GT_MEGABYTES(kmer_listlen *
+                         sizeof (*kmer_list.spaceGtDiagbandseedKmerPos)));
     gt_timer_start(timer);
   }
 
-  GT_INITARRAY(&list, GtDiagbandseedKmerPos);
-  GT_CHECKARRAYSPACEMULTI(&list, GtDiagbandseedKmerPos, listlen);
+  GT_INITARRAY(&kmer_list, GtDiagbandseedKmerPos);
+  GT_CHECKARRAYSPACEMULTI(&kmer_list, GtDiagbandseedKmerPos, kmer_listlen);
 
-  pkinfo.list = &list;
-  pkinfo.seqnum = seqrange->start;
+  pkinfo.list = &kmer_list;
+  pkinfo.seqnum = seqrange_start;
   pkinfo.endpos = 0;
   pkinfo.encseq = encseq;
+  pkinfo.seedweight = seedweight;
   pkinfo.seedlength = seedlength;
   pkinfo.readmode = readmode;
-  if (seqrange->end + 1 == gt_encseq_num_of_sequences(encseq)) {
-    pkinfo.totallength = gt_encseq_total_length(encseq);
+  if (seqrange_end + 1 == gt_encseq_num_of_sequences(encseq)) {
+    pkinfo.last_specialpos = totallength;
   } else {
     /* start position of following sequence, minus separator position */
-    pkinfo.totallength = gt_encseq_seqstartpos(encseq, seqrange->end + 1) - 1;
+    pkinfo.last_specialpos
+      = gt_encseq_seqstartpos(encseq, seqrange_end + 1) - 1;
   }
-  pkinfo.prev_separator = gt_encseq_seqstartpos(encseq, seqrange->start);
+  pkinfo.prev_separator = gt_encseq_seqstartpos(encseq, seqrange_start);
   if (gt_encseq_has_specialranges(encseq)) {
-    bool search = true;
     pkinfo.sri = gt_specialrangeiterator_new(encseq, true);
-    while (search && gt_specialrangeiterator_next(pkinfo.sri, &specialrange)) {
-      search = specialrange.end < pkinfo.prev_separator ? true : false;
-    }
+    while (gt_specialrangeiterator_next(pkinfo.sri, &specialrange) &&
+           specialrange.end < pkinfo.prev_separator)
+       /* Nothing */;
     specialrange.start = pkinfo.prev_separator;
     pkinfo.specialrange = &specialrange;
     pkinfo.next_separator
       = gt_diagbandseed_update_separatorpos(pkinfo.specialrange,
                                             pkinfo.sri,
                                             pkinfo.encseq,
+                                            totallength,
                                             pkinfo.readmode);
   } else {
     pkinfo.sri = NULL;
     pkinfo.specialrange = NULL;
-    pkinfo.next_separator = pkinfo.totallength;
+    pkinfo.next_separator = pkinfo.last_specialpos;
   }
 
   if (gt_encseq_has_twobitencoding(encseq) && gt_encseq_wildcards(encseq) == 0)
@@ -440,7 +588,7 @@ GtArrayGtDiagbandseedKmerPos gt_diagbandseed_get_kmers(const GtEncseq *encseq,
                                         NULL,
                                         NULL,
                                         pkinfo.prev_separator,
-                                        pkinfo.totallength);
+                                        pkinfo.last_specialpos);
   } else {
     /* Use GtKmercodeiterator for encseq access */
     gt_diagbandseed_get_kmers_kciter(&pkinfo);
@@ -448,43 +596,43 @@ GtArrayGtDiagbandseedKmerPos gt_diagbandseed_get_kmers(const GtEncseq *encseq,
   if (gt_encseq_has_specialranges(encseq)) {
     gt_specialrangeiterator_delete(pkinfo.sri);
   }
-  listlen = list.nextfreeGtDiagbandseedKmerPos;
+  kmer_listlen = kmer_list.nextfreeGtDiagbandseedKmerPos;
 
   /* reduce size of array to number of entries */
-  /* list.allocatedGtDiagbandseedKmerPos = listlen;
-  gt_realloc(list.spaceGtDiagbandseedKmerPos,
-             listlen * sizeof (GtDiagbandseedKmerPos)); */
-
+  kmer_list.allocatedGtDiagbandseedKmerPos = kmer_listlen;
+  if (kmer_listlen > 0)
+  {
+    kmer_list.spaceGtDiagbandseedKmerPos
+      = gt_realloc(kmer_list.spaceGtDiagbandseedKmerPos,
+                   kmer_listlen * sizeof *kmer_list.spaceGtDiagbandseedKmerPos);
+  }
   if (debug_kmer) {
-    GtDiagbandseedKmerPos *idx = list.spaceGtDiagbandseedKmerPos;
-    GtDiagbandseedKmerPos *end = idx + listlen;
+    const GtDiagbandseedKmerPos *idx = kmer_list.spaceGtDiagbandseedKmerPos;
+    const GtDiagbandseedKmerPos *end = idx + kmer_listlen;
     while (idx < end) {
-      fprintf(stream, "# Kmer (" GT_LX ",%d,%d)\n",
+      fprintf(stream, "# Kmer (" GT_LX ",%"PRIu32",%"PRIu32")\n",
               idx->code, idx->endpos, idx->seqnum);
       idx++;
     }
   }
 
   if (verbose) {
-    fprintf(stream, "# ...found " GT_WU " %u-mers ", listlen, seedlength);
-    gt_timer_show_formatted(timer, "in " GT_WD ".%06ld seconds.\n", stream);
+    fprintf(stream, "# ... collected " GT_WU " %u-mers ", kmer_listlen,
+            seedlength);
+    gt_timer_show_formatted(timer, GT_DIAGBANDSEED_FMT, stream);
     gt_timer_start(timer);
   }
 
-  /* sort list */
-  rdxinfo = gt_radixsort_new_ulongpair(listlen);
   gt_radixsort_inplace_GtUwordPair((GtUwordPair *)
-                                   list.spaceGtDiagbandseedKmerPos,
-                                   listlen);
-  gt_radixsort_delete(rdxinfo);
-
+                                   kmer_list.spaceGtDiagbandseedKmerPos,
+                                   kmer_listlen);
   if (verbose) {
-    fprintf(stream, "# ...sorted " GT_WU " %u-mers ", listlen, seedlength);
-    gt_timer_show_formatted(timer, "in " GT_WD ".%06ld seconds.\n", stream);
+    fprintf(stream, "# ... sorted " GT_WU " %u-mers ",kmer_listlen, seedlength);
+    gt_timer_show_formatted(timer, GT_DIAGBANDSEED_FMT, stream);
     gt_timer_delete(timer);
   }
 
-  return list;
+  return kmer_list;
 }
 
 /* * * * * SEEDPAIR LIST CREATION * * * * */
@@ -497,7 +645,7 @@ typedef struct {
   const GtDiagbandseedKmerPos *listend;
   GtDiagbandseedKmerPos *listptr;
   /* for file based iterator */
-  GtBufferedfile_GtDiagbandseedKmerPos stream;
+  GtBufferedfile_GtDiagbandseedKmerPos kmerstream;
   GtDiagbandseedKmerPos buffer;
 } GtDiagbandseedKmerIterator;
 
@@ -513,10 +661,10 @@ static void gt_diagbandseed_kmer_iter_reset(GtDiagbandseedKmerIterator *ki)
     }
   } else { /* file based */
     int rval;
-    ki->stream.nextread = ki->stream.nextfree = 0;
-    rewind(ki->stream.fp);
+    ki->kmerstream.nextread = ki->kmerstream.nextfree = 0;
+    rewind(ki->kmerstream.fp);
     rval = gt_readnextfromstream_GtDiagbandseedKmerPos(&ki->buffer,
-                                                       &ki->stream);
+                                                       &ki->kmerstream);
     if (rval != 1) {
       ki->at_end = true;
     }
@@ -536,17 +684,16 @@ static GtDiagbandseedKmerIterator *gt_diagbandseed_kmer_iter_new_list(
   return ki;
 }
 
-static
-GtDiagbandseedKmerIterator *gt_diagbandseed_kmer_iter_new_file(FILE *fp)
+static GtDiagbandseedKmerIterator *gt_diagbandseed_kmer_iter_new_file(FILE *fp)
 {
   GtDiagbandseedKmerIterator *ki = gt_malloc(sizeof *ki);
   GT_INITARRAY(&ki->segment, GtDiagbandseedKmerPos);
   ki->origin_list = NULL;
   ki->listend = ki->listptr = NULL;
   gt_assert(fp != NULL);
-  ki->stream.fp = fp;
-  ki->stream.bufferedfilespace = gt_malloc(FILEBUFFERSIZE *
-                                           sizeof (GtDiagbandseedKmerPos));
+  ki->kmerstream.fp = fp;
+  ki->kmerstream.bufferedfilespace = gt_malloc(FILEBUFFERSIZE *
+                                               sizeof (GtDiagbandseedKmerPos));
   gt_diagbandseed_kmer_iter_reset(ki);
   return ki;
 }
@@ -555,8 +702,8 @@ static void gt_diagbandseed_kmer_iter_delete(GtDiagbandseedKmerIterator *ki)
 {
   if (ki != NULL) {
     if (ki->origin_list == NULL) { /* file based */
-      gt_free(ki->stream.bufferedfilespace);
-      gt_fa_fclose(ki->stream.fp);
+      gt_free(ki->kmerstream.bufferedfilespace);
+      gt_fa_fclose(ki->kmerstream.fp);
       GT_FREEARRAY(&ki->segment, GtDiagbandseedKmerPos);
     }
     gt_free(ki);
@@ -573,15 +720,14 @@ static const GtArrayGtDiagbandseedKmerPos *gt_diagbandseed_kmer_iter_next(
   ki->segment.nextfreeGtDiagbandseedKmerPos = 0; /* reset segment list */
 
   if (ki->origin_list != NULL) { /* list based */
-    ptrdiff_t segmentlen;
     code = ki->listptr->code;
     ki->segment.spaceGtDiagbandseedKmerPos = ki->listptr;
     /* add element to segment list until code differs */
     do {
       ki->listptr++;
     } while (ki->listptr < ki->listend && code == ki->listptr->code);
-    segmentlen = ki->listptr - ki->segment.spaceGtDiagbandseedKmerPos;
-    ki->segment.nextfreeGtDiagbandseedKmerPos += (GtUword)segmentlen;
+    ki->segment.nextfreeGtDiagbandseedKmerPos
+      += (GtUword) (ki->listptr - ki->segment.spaceGtDiagbandseedKmerPos);
     if (ki->listptr >= ki->listend) {
       ki->at_end = true;
     }
@@ -590,9 +736,11 @@ static const GtArrayGtDiagbandseedKmerPos *gt_diagbandseed_kmer_iter_next(
     code = ki->buffer.code;
     /* fill segment list from file, stop when code changes */
     do {
-      GT_STOREINARRAY(&ki->segment, GtDiagbandseedKmerPos, 20, ki->buffer);
+      GT_STOREINARRAY(&ki->segment, GtDiagbandseedKmerPos,
+                      ki->segment.allocatedGtDiagbandseedKmerPos * 0.2 + 128,
+                      ki->buffer);
       rval = gt_readnextfromstream_GtDiagbandseedKmerPos(&ki->buffer,
-                                                         &ki->stream);
+                                                         &ki->kmerstream);
     } while (rval == 1 && code == ki->buffer.code);
     if (rval != 1) {
       ki->at_end = true;
@@ -601,27 +749,28 @@ static const GtArrayGtDiagbandseedKmerPos *gt_diagbandseed_kmer_iter_next(
   return &ki->segment;
 }
 
-/* Evaluate the results of the seed pair count histogram */
-static void gt_diagbandseed_processhistogram(GtUword *histogram,
-                                             GtUword *maxfreq,
-                                             GtUword maxgram,
-                                             GtUword memlimit,
-                                             GtUword mem_used,
-                                             bool alist_blist_id)
+/* Evaluate the results of the seed count histogram */
+static GtUword gt_diagbandseed_processhistogram(GtUword *histogram,
+                                                GtUword maxfreq,
+                                                GtUword maxgram,
+                                                GtUword memlimit,
+                                                GtUword mem_used,
+                                                bool alist_blist_id,
+                                                size_t sizeofunit)
 {
   /* calculate available memory, take 98% of memlimit */
-  GtUword count = 0, frequency = 0;
-  GtUword mem_avail = 0.98 * memlimit;
+  GtUword count = 0, frequency = 0, mem_avail = 0.98 * memlimit;
+
   if (mem_avail > mem_used) {
-    mem_avail = (mem_avail - mem_used) / sizeof (GtDiagbandseedSeedPair);
+    mem_avail = (mem_avail - mem_used) / sizeofunit;
   } else {
     mem_avail = 0;
-    *maxfreq = 0;
+    maxfreq = 0;
   }
 
   /* there is enough free memory */
   if (mem_avail > 0) {
-    /* count seed pairs until available memory reached */
+    /* count seeds until available memory reached */
     for (frequency = 1; frequency <= maxgram && count < mem_avail;
          frequency++) {
       count += histogram[frequency - 1];
@@ -634,560 +783,2709 @@ static void gt_diagbandseed_processhistogram(GtUword *histogram,
     } else if (frequency == maxgram + 1) {
       frequency = GT_UWORD_MAX;
     }
-    *maxfreq = MIN(*maxfreq, frequency);
+    maxfreq = MIN(maxfreq, frequency);
   }
 
   /* determine minimum required memory for error message */
-  if (*maxfreq <= 1 && alist_blist_id) {
-    count = (histogram[0] + histogram[1]) * sizeof (GtDiagbandseedSeedPair);
+  if (maxfreq <= 1 && alist_blist_id) {
+    count = (histogram[0] + histogram[1]) * sizeofunit;
     count = (count + mem_used) / 0.98;
-  } else if (*maxfreq == 0) {
-    count = histogram[0] * sizeof (GtDiagbandseedSeedPair);
+  } else if (maxfreq == 0) {
+    count = histogram[0] * sizeofunit;
     count = (count + mem_used) / 0.98;
   }
   histogram[maxgram] = count;
+  return maxfreq;
 }
 
-/* Returns a GtDiagbandseedSeedPair list of equal kmers from the iterators. */
-static void gt_diagbandseed_merge(GtArrayGtDiagbandseedSeedPair *mlist,
-                                  GtDiagbandseedKmerIterator *aiter,
-                                  GtDiagbandseedKmerIterator *biter,
-                                  GtUword *maxfreq,
-                                  GtUword maxgram,
-                                  GtUword memlimit,
-                                  GtUword *histogram,
-                                  GtRange *seedpairdistance,
-                                  bool selfcomp,
-                                  bool alist_blist_id,
-                                  GtUword len_used)
-{
-  const GtArrayGtDiagbandseedKmerPos *alist = NULL, *blist = NULL;
-  GtDiagbandseedKmerPos *asegment = NULL, *bsegment = NULL;
-  GtUword alen, blen;
-  const GtUword array_incr = 256;
-  GtUword frequency = 0;
-
-  gt_assert(aiter != NULL && biter != NULL && maxfreq != NULL);
-  gt_assert((histogram == NULL && mlist != NULL) ||
-            (histogram != NULL && mlist == NULL));
-  alist = gt_diagbandseed_kmer_iter_next(aiter);
-  blist = gt_diagbandseed_kmer_iter_next(biter);
-  while (alist != NULL && blist != NULL) {
-    asegment = alist->spaceGtDiagbandseedKmerPos;
-    bsegment = blist->spaceGtDiagbandseedKmerPos;
-    alen = alist->nextfreeGtDiagbandseedKmerPos;
-    blen = blist->nextfreeGtDiagbandseedKmerPos;
-    if (asegment->code < bsegment->code) {
-      alist = gt_diagbandseed_kmer_iter_next(aiter);
-    } else if (asegment->code > bsegment->code) {
-      blist = gt_diagbandseed_kmer_iter_next(biter);
-    } else {
-      frequency = MAX(alen, blen);
-      if (frequency <= *maxfreq) {
-        /* add all equal k-mers */
-        frequency = MIN(maxgram, frequency);
-        gt_assert(frequency > 0);
-        if (histogram != NULL && !selfcomp) {
-          histogram[frequency - 1] += alen * blen;
-        } else {
-          GtDiagbandseedKmerPos *aptr, *bptr;
-          for (aptr = asegment; aptr < asegment + alen; aptr++) {
-            for (bptr = bsegment; bptr < bsegment + blen; bptr++) {
-              if (!selfcomp || aptr->seqnum < bptr->seqnum ||
-                  (aptr->seqnum == bptr->seqnum &&
-                   aptr->endpos + seedpairdistance->start <= bptr->endpos &&
-                   aptr->endpos + seedpairdistance->end >= bptr->endpos)) {
-                /* no duplicates from the same dataset */
-                if (histogram == NULL) {
-                  /* save SeedPair in mlist */
-                  GtDiagbandseedSeedPair *seedptr = NULL;
-                  GT_GETNEXTFREEINARRAY(seedptr,
-                                        mlist,
-                                        GtDiagbandseedSeedPair,
-                                        array_incr + 0.2 *
-                                        mlist->allocatedGtDiagbandseedSeedPair);
-                  seedptr->bseqnum = bptr->seqnum;
-                  seedptr->aseqnum = aptr->seqnum;
-                  seedptr->bpos = bptr->endpos;
-                  seedptr->apos = aptr->endpos;
-                } else {
-                  /* count seed pair frequency in histogram */
-                  histogram[frequency - 1]++;
-                }
-              }
-            }
-          }
-        }
-      } /* else: ignore all equal elements */
-      alist = gt_diagbandseed_kmer_iter_next(aiter);
-      blist = gt_diagbandseed_kmer_iter_next(biter);
-    }
-  }
-  if (histogram != NULL) {
-    gt_diagbandseed_processhistogram(histogram,
-                                     maxfreq,
-                                     maxgram,
-                                     memlimit,
-                                     len_used * sizeof (GtDiagbandseedKmerPos),
-                                     alist_blist_id);
-  }
+const char *gt_diagbandseed_splt_comment(void)
+{
+  return "specify type of pairlist, possible values are struct, bytestring, "
+         "and ulong";
 }
 
-/* Verify seed pairs in the original sequences */
-static int gt_diagbandseed_verify(const GtEncseq *aencseq,
-                                  const GtEncseq *bencseq,
-                                  GtArrayGtDiagbandseedSeedPair *mlist,
-                                  unsigned int seedlength,
-                                  bool reverse,
-                                  bool verbose,
-                                  FILE *stream,
-                                  GtError *err) {
-  GtTimer *timer = gt_timer_new();
-  GtDiagbandseedSeedPair *curr_sp, *max_sp;
-  char *buf1 = gt_malloc(3 * (seedlength + 1) * sizeof *buf1);
-  char *buf2 = buf1 + 1 + seedlength;
-  char *buf3 = buf2 + 1 + seedlength;
-  buf1[seedlength] = buf2[seedlength] = buf3[seedlength] = '\0';
+static const char *gt_splt_arguments[] = {"struct","ulong","bytestring",""};
 
-  if (verbose) {
-    fprintf(stream, "# Start verifying seed pairs...\n");
-    gt_timer_start(timer);
+GtDiagbandseedPairlisttype gt_diagbandseed_splt_get(const char *splt_string,
+                                                    GtError *err)
+{
+  size_t idx;
+  for (idx = 0; idx < sizeof gt_splt_arguments/sizeof gt_splt_arguments[0];
+       idx++)
+  {
+    if (strcmp(splt_string,gt_splt_arguments[idx]) == 0)
+    {
+      return (GtDiagbandseedPairlisttype) idx;
+    }
   }
+  gt_error_set(err,"illegal parameter for option -splt: %s",
+                    gt_diagbandseed_splt_comment());
+  return -1;
+}
 
-  gt_assert(mlist != NULL && aencseq != NULL && bencseq != NULL);
-  curr_sp = mlist->spaceGtDiagbandseedSeedPair;
-  max_sp = curr_sp + mlist->nextfreeGtDiagbandseedSeedPair;
-
-  while (curr_sp < max_sp) {
-    GtDiagbandseedPosition apos, bpos;
+const int idx_aseqnum = 0, idx_bseqnum = 1, idx_bpos = 2, idx_apos = 3;
 
-    /* extract decoded k-mers at seed pair positions */
-    apos = curr_sp->apos + gt_encseq_seqstartpos(aencseq, curr_sp->aseqnum);
-    gt_encseq_extract_decoded(aencseq, buf1, apos + 1 - seedlength, apos);
+GT_DECLAREARRAYSTRUCT(GtDiagbandseedSeedPair);
 
-    if (!reverse) {
-      bpos = curr_sp->bpos + gt_encseq_seqstartpos(bencseq, curr_sp->bseqnum);
-      gt_encseq_extract_decoded(bencseq, buf2, bpos + 1 - seedlength, bpos);
-      if (strcmp(buf1, buf2) != 0) {
-        gt_error_set(err, "Wrong SeedPair (%d,%d,%d,%d): %s != %s\n",
-                     curr_sp->aseqnum, curr_sp->bseqnum, curr_sp->apos,
-                     curr_sp->bpos, buf1, buf2);
-        gt_free(buf1);
-        gt_timer_delete(timer);
-        return -1;
-      }
-    } else {
-      /* get reverse k-mer */
-      char *idx;
-      bpos = gt_encseq_seqstartpos(bencseq, curr_sp->bseqnum) +
-             gt_encseq_seqlength(bencseq, curr_sp->bseqnum) - curr_sp->bpos - 1;
-      gt_encseq_extract_decoded(bencseq, buf2, bpos, bpos + seedlength - 1);
+typedef struct
+{
+  GtArrayGtDiagbandseedSeedPair *mlist_struct;
+  GtArrayGtUword *mlist_ulong;
+  GtArrayuint8_t *mlist_bytestring;
+  GtDiagbandseedPairlisttype splt;
+  GtUword mask_tab[4], transfer_mask,
+          aseqrange_start, bseqrange_start,
+          aseqrange_end, bseqrange_end,
+          aseqrange_max_length, bseqrange_max_length;
+  GtBitcount_type bits_seedpair,
+                  bits_values[4],
+                  bits_units[2],
+                  bits_left_adjust[4];
+  size_t bytes_seedpair;
+  int shift_tab[4],
+      transfer_shift,
+      bits_unused_in2GtUwords;
+  bool maxmat_compute, maxmat_show;
+  GtUword amaxlen;
+} GtSeedpairlist;
+
+#define GT_DIAGBANDSEED_ENCODE_SEQNUMS(ASEQNUM,BSEQNUM)\
+             (((GtUword) (ASEQNUM) << seedpairlist->shift_tab[idx_aseqnum]) | \
+              ((GtUword) (BSEQNUM) << seedpairlist->shift_tab[idx_bseqnum]))
+
+#define GT_DIAGBANDSEED_ENCODE_POSITIONS(BPOS,APOS)\
+             (((GtUword) (BPOS) << seedpairlist->shift_tab[idx_bpos]) | \
+              ((GtUword) (APOS) << seedpairlist->shift_tab[idx_apos]))
+
+#define GT_DIAGBANDSEED_ENCODE_SEEDPAIR(ASEQNUM,BSEQNUM,BPOS,APOS)\
+        (GT_DIAGBANDSEED_ENCODE_SEQNUMS(ASEQNUM,BSEQNUM) | \
+         GT_DIAGBANDSEED_ENCODE_POSITIONS(BPOS,APOS))
+
+static bool gt_diagbandseed_derive_maxmat_show(GtUword maxmat)
+{
+  return maxmat == 1 ? true : false;
+}
 
-      for (idx = buf3; idx < buf3 + seedlength; idx++) {
-        gt_complement(idx, buf2[seedlength + buf3 - idx - 1], NULL);
-      }
-      if (strcmp(buf1, buf3) != 0) {
-        gt_error_set(err, "Wrong SeedPair (%d,%d,%d,%d): %s != %s\n",
-                     curr_sp->aseqnum, curr_sp->bseqnum, curr_sp->apos,
-                     curr_sp->bpos, buf1, buf3);
-        gt_free(buf1);
-        gt_timer_delete(timer);
-        return -1;
-      }
+static GtSeedpairlist *gt_seedpairlist_new(GtDiagbandseedPairlisttype splt,
+                        const GtSequencePartsInfo *aseqranges,
+                        GtUword aidx,
+                        const GtSequencePartsInfo *bseqranges,
+                        GtUword bidx,
+                        GtUword maxmat,
+                        GtUword amaxlen)
+{
+  GtSeedpairlist *seedpairlist = gt_malloc(sizeof *seedpairlist);
+  int idx;
+  const int allbits = sizeof (GtWord) * CHAR_BIT;
+  const GtUword
+    anumofseq = gt_sequence_parts_info_numofsequences_get(aseqranges,aidx),
+    bnumofseq = gt_sequence_parts_info_numofsequences_get(bseqranges,bidx);
+
+  gt_assert(maxmat <= 2);
+  seedpairlist->maxmat_show = gt_diagbandseed_derive_maxmat_show(maxmat);
+  seedpairlist->maxmat_compute = maxmat > 0 ? true : false;
+  seedpairlist->amaxlen = amaxlen;
+  seedpairlist->aseqrange_max_length
+    = gt_sequence_parts_info_max_length_get(aseqranges,aidx);
+  seedpairlist->bseqrange_max_length
+    = gt_sequence_parts_info_max_length_get(bseqranges,bidx);
+  seedpairlist->bits_values[idx_aseqnum]
+    = (GtBitcount_type) gt_radixsort_bits(anumofseq);
+  seedpairlist->bits_values[idx_bseqnum]
+    = (GtBitcount_type) gt_radixsort_bits(bnumofseq);
+  if (seedpairlist->maxmat_compute)
+  {
+    seedpairlist->bits_values[idx_bpos]
+      = (GtBitcount_type) gt_radixsort_bits(
+                             seedpairlist->aseqrange_max_length +
+                             seedpairlist->bseqrange_max_length + 1);
+    /* in this case we store diagonal values in SeedPair and we have
+        make sure that they fit into the space for a position */
+    gt_assert(seedpairlist->bits_values[idx_bpos] <=
+              sizeof (GtDiagbandseedPosition) * CHAR_BIT);
+  } else
+  {
+    seedpairlist->bits_values[idx_bpos]
+      = (GtBitcount_type) gt_radixsort_bits(
+                                         seedpairlist->bseqrange_max_length);
+  }
+  seedpairlist->bits_values[idx_apos]
+    = (GtBitcount_type) gt_radixsort_bits(seedpairlist->aseqrange_max_length);
+  seedpairlist->bits_units[0] = seedpairlist->bits_values[idx_aseqnum] +
+                                seedpairlist->bits_values[idx_bseqnum];
+  seedpairlist->bits_units[1] = seedpairlist->bits_values[idx_apos] +
+                                seedpairlist->bits_values[idx_bpos];
+  seedpairlist->bits_left_adjust[idx_aseqnum]
+    = allbits - seedpairlist->bits_values[idx_aseqnum];
+  seedpairlist->bits_left_adjust[idx_bseqnum]
+    = allbits - seedpairlist->bits_units[0];
+  seedpairlist->bits_left_adjust[idx_bpos]
+    = allbits - seedpairlist->bits_values[idx_bpos];
+  seedpairlist->bits_left_adjust[idx_apos]
+    = allbits - seedpairlist->bits_units[1];
+  seedpairlist->transfer_mask
+    = (((GtUword) 1) << seedpairlist->bits_left_adjust[idx_bseqnum]) - 1;
+  gt_assert(seedpairlist->bits_values[idx_apos] > 0);
+  gt_assert(seedpairlist->bits_values[idx_bpos] > 0);
+  for (idx = 0, seedpairlist->bits_seedpair = 0; idx < 4; idx++)
+  {
+    seedpairlist->bits_seedpair += seedpairlist->bits_values[idx];
+    seedpairlist->mask_tab[idx]
+      = (((GtUword) 1) << seedpairlist->bits_values[idx]) - 1;
+  }
+  /* the following is only used for bits_seedpair > allbits */
+  seedpairlist->transfer_shift = seedpairlist->bits_seedpair - allbits;
+  seedpairlist->bits_unused_in2GtUwords = 2 * allbits -
+                                          seedpairlist->bits_seedpair;
+  seedpairlist->bytes_seedpair
+    = gt_radixsort_bits2bytes(seedpairlist->bits_seedpair);
+  if (seedpairlist->bytes_seedpair <= sizeof (GtUword))
+  {
+    int shift = seedpairlist->bits_seedpair;
+    for (idx = 0; idx < 4; idx++)
+    {
+      shift -= seedpairlist->bits_values[idx];
+      seedpairlist->shift_tab[idx] = shift;
     }
-    curr_sp++;
   }
-  if (verbose) {
-    fprintf(stream, "# ...successfully verified each seed pair in ");
-    gt_timer_show_formatted(timer, GT_WD ".%06ld seconds.\n", stream);
+  seedpairlist->aseqrange_start
+    = gt_sequence_parts_info_start_get(aseqranges,aidx);
+  seedpairlist->bseqrange_start
+    = gt_sequence_parts_info_start_get(bseqranges,bidx);
+  seedpairlist->aseqrange_end
+    = gt_sequence_parts_info_end_get(aseqranges,aidx);
+  seedpairlist->bseqrange_end
+    = gt_sequence_parts_info_end_get(bseqranges,bidx);
+  seedpairlist->mlist_struct = NULL;
+  seedpairlist->mlist_ulong = NULL;
+  seedpairlist->mlist_bytestring = NULL;
+  if (splt == GT_DIAGBANDSEED_SPLT_UNDEFINED)
+  {
+    if (seedpairlist->bytes_seedpair <= sizeof (GtUword))
+    {
+      splt = GT_DIAGBANDSEED_SPLT_ULONG;
+    } else
+    {
+      splt = GT_DIAGBANDSEED_SPLT_BYTESTRING;
+    }
   }
-  gt_free(buf1);
-  gt_timer_delete(timer);
-  return 0;
+  if (splt == GT_DIAGBANDSEED_SPLT_ULONG)
+  {
+    if (seedpairlist->bytes_seedpair > sizeof (GtUword))
+    {
+      splt = GT_DIAGBANDSEED_SPLT_BYTESTRING;
+    }
+  } else
+  {
+    if (splt == GT_DIAGBANDSEED_SPLT_BYTESTRING &&
+        seedpairlist->bytes_seedpair <= sizeof (GtUword))
+    {
+      splt = GT_DIAGBANDSEED_SPLT_ULONG;
+    }
+  }
+  if (splt == GT_DIAGBANDSEED_SPLT_ULONG)
+  {
+    gt_assert(seedpairlist->bytes_seedpair <= sizeof (GtUword));
+    seedpairlist->mlist_ulong = gt_malloc(sizeof *seedpairlist->mlist_ulong);
+    GT_INITARRAY(seedpairlist->mlist_ulong, GtUword);
+  } else
+  {
+    if (splt == GT_DIAGBANDSEED_SPLT_BYTESTRING)
+    {
+      gt_assert(seedpairlist->bytes_seedpair > sizeof (GtUword));
+      seedpairlist->mlist_bytestring
+        = gt_malloc(sizeof *seedpairlist->mlist_bytestring);
+      GT_INITARRAY(seedpairlist->mlist_bytestring, uint8_t);
+    } else
+    {
+      seedpairlist->mlist_struct
+        = gt_malloc(sizeof *seedpairlist->mlist_struct);
+      GT_INITARRAY(seedpairlist->mlist_struct, GtDiagbandseedSeedPair);
+    }
+  }
+  seedpairlist->splt = splt;
+  return seedpairlist;
 }
 
-/* Return estimated length of mlist, and maxfreq w.r.t. the given memlimit */
-static int gt_diagbandseed_get_mlen_maxfreq(GtUword *mlen,
-                                            GtUword *maxfreq,
-                                            GtDiagbandseedKmerIterator *aiter,
-                                            GtDiagbandseedKmerIterator *biter,
-                                            GtUword memlimit,
-                                            GtRange *seedpairdistance,
-                                            GtUword len_used,
-                                            bool selfcomp,
-                                            bool alist_blist_id,
-                                            bool verbose,
-                                            FILE *stream,
-                                            GtError *err)
+static void gt_seedpairlist_reset(GtSeedpairlist *seedpairlist)
 {
-  const GtUword maxgram = MIN(*maxfreq, 8190) + 1; /* Cap on k-mer count */
-  GtUword *histogram = NULL;
-  GtTimer *timer = NULL;
-  int had_err = 0;
-
-  if (memlimit == GT_UWORD_MAX) {
-    return 0; /* no histogram calculation */
-  }
-
-  if (verbose) {
-    timer = gt_timer_new();
-    fprintf(stream, "# Start calculating k-mer frequency histogram...\n");
-    gt_timer_start(timer);
+  if (seedpairlist->mlist_ulong != NULL)
+  {
+    seedpairlist->mlist_ulong->nextfreeGtUword = 0;
   }
-
-  /* build histogram; histogram[maxgram] := estimation for mlen */
-  histogram = gt_calloc(maxgram + 1, sizeof *histogram);
-  gt_diagbandseed_merge(NULL, /* mlist not needed: just count */
-                        aiter,
-                        biter,
-                        maxfreq,
-                        maxgram,
-                        memlimit,
-                        histogram,
-                        seedpairdistance,
-                        selfcomp,
-                        alist_blist_id,
-                        len_used);
-  *mlen = histogram[maxgram];
-  gt_free(histogram);
-
-  if (verbose) {
-    gt_timer_show_formatted(timer,
-                            "# ...finished in " GT_WD ".%06ld seconds.\n",
-                            stream);
-    gt_timer_delete(timer);
+  if (seedpairlist->mlist_bytestring != NULL)
+  {
+    seedpairlist->mlist_bytestring->nextfreeuint8_t = 0;
   }
-
-  /* check maxfreq value */
-  if (*maxfreq == 0 || (*maxfreq == 1 && alist_blist_id)) {
-    gt_error_set(err,
-                 "option -memlimit too strict: need at least " GT_WU "MB",
-                 (*mlen >> 20) + 1);
-    *mlen = 0;
-    had_err = -1;
-  } else if (verbose) {
-    if (*maxfreq == GT_UWORD_MAX) {
-      fprintf(stream, "# Disable k-mer maximum frequency, ");
-    } else {
-      fprintf(stream, "# Set k-mer maximum frequency to " GT_WU ", ", *maxfreq);
-    }
-    fprintf(stream, "expect " GT_WU " seed pairs.\n", *mlen);
-  } else if (*maxfreq <= 5) {
-    gt_warning("Only k-mers occurring <= " GT_WU " times will be considered, "
-               "due to small memlimit.", *maxfreq);
+  if (seedpairlist->mlist_struct != NULL)
+  {
+    seedpairlist->mlist_struct->nextfreeGtDiagbandseedSeedPair = 0;
   }
-
-  return had_err;
 }
 
-/* Return a sorted list of SeedPairs from given Kmer-Iterators.
- * Parameter known_size > 0 can be given to allocate the memory beforehand.
- * The caller is responsible for freeing the result. */
-static GtArrayGtDiagbandseedSeedPair gt_diagbandseed_get_seedpairs(
-                                  GtDiagbandseedKmerIterator *aiter,
-                                  GtDiagbandseedKmerIterator *biter,
-                                  GtUword maxfreq,
-                                  GtUword known_size,
-                                  GtRange *seedpairdistance,
-                                  bool selfcomp,
-                                  bool debug_seedpair,
-                                  bool verbose,
-                                  FILE *stream)
+static void gt_seedpairlist_show_bits(FILE *stream,
+                                      const GtSeedpairlist *seedpairlist)
 {
-  GtArrayGtDiagbandseedSeedPair mlist;
-  GtTimer *timer = NULL;
-  GtUword mlen;
+  fprintf(stream,"# splt=%s, bits_seedpair=%d, bytes_seedpair=%u with ",
+                    gt_splt_arguments[seedpairlist->splt],
+                    (int) seedpairlist->bits_seedpair,
+                    (int) seedpairlist->bytes_seedpair);
+  fprintf(stream,"aseqnum=%hu bits, ",seedpairlist->bits_values[idx_aseqnum]);
+  fprintf(stream,"bseqnum=%hu bits, ",seedpairlist->bits_values[idx_bseqnum]);
+  fprintf(stream,"bpos=%hu bits, ",seedpairlist->bits_values[idx_bpos]);
+  fprintf(stream,"apos=%hu bits\n",seedpairlist->bits_values[idx_apos]);
+}
 
-  if (verbose) {
-    timer = gt_timer_new();
-    if (known_size > 0) {
-      fprintf(stream, "# Start building " GT_WU " seed pairs...\n",
-                      known_size);
-    } else {
-      fprintf(stream, "# Start building seed pairs...\n");
+static size_t gt_seedpairlist_sizeofunit(const GtSeedpairlist *seedpairlist)
+{
+  if (seedpairlist->splt == GT_DIAGBANDSEED_SPLT_STRUCT)
+  {
+    return sizeof (GtDiagbandseedSeedPair);
+  } else
+  {
+    if (seedpairlist->splt == GT_DIAGBANDSEED_SPLT_ULONG)
+    {
+      return sizeof (GtUword);
+    } else
+    {
+      return seedpairlist->bytes_seedpair;
     }
-    gt_timer_start(timer);
   }
+}
 
-  /* allocate mlist space according to seed pair count */
-  GT_INITARRAY(&mlist, GtDiagbandseedSeedPair);
+static void gt_seedpairlist_init(GtSeedpairlist *seedpairlist,
+                                 GtUword known_size)
+{
   if (known_size > 0) {
-    GT_CHECKARRAYSPACEMULTI(&mlist, GtDiagbandseedSeedPair, known_size);
-  }
-
-  /* create mlist */
-  gt_diagbandseed_merge(&mlist,
-                        aiter,
-                        biter,
-                        &maxfreq,
-                        GT_UWORD_MAX, /* maxgram not needed */
-                        GT_UWORD_MAX, /* memlimit not needed */
-                        NULL, /* histogram not needed: save seed pairs */
-                        seedpairdistance,
-                        selfcomp,
-                        false, /* not needed */
-                        0); /* len_used not needed */
-  mlen = mlist.nextfreeGtDiagbandseedSeedPair;
-
-  if (verbose) {
-    fprintf(stream, "# ...collected " GT_WU " seed pairs ", mlen);
-    gt_timer_show_formatted(timer, "in " GT_WD ".%06ld seconds.\n", stream);
+    gt_assert(seedpairlist != NULL);
+    if (seedpairlist->splt == GT_DIAGBANDSEED_SPLT_STRUCT)
+    {
+      gt_assert(seedpairlist->mlist_struct != NULL);
+      GT_CHECKARRAYSPACEMULTI(seedpairlist->mlist_struct,
+                              GtDiagbandseedSeedPair, known_size);
+    } else
+    {
+      if (seedpairlist->splt == GT_DIAGBANDSEED_SPLT_ULONG)
+      {
+        gt_assert(seedpairlist->mlist_ulong != NULL);
+        GT_CHECKARRAYSPACEMULTI(seedpairlist->mlist_ulong,GtUword, known_size);
+      } else
+      {
+        gt_assert(seedpairlist->mlist_bytestring != NULL);
+        GT_CHECKARRAYSPACEMULTI(seedpairlist->mlist_bytestring,uint8_t,
+                                seedpairlist->bytes_seedpair * known_size);
+      }
+    }
   }
+}
 
-  /* sort mlist */
-  if (mlen > 0) {
-    GtDiagbandseedSeedPair *mspace = mlist.spaceGtDiagbandseedSeedPair;
-    GtRadixsortinfo *rdxinfo;
-
-    if (verbose) {
-      gt_timer_start(timer);
+static void gt_seedpairlist_delete(GtSeedpairlist *seedpairlist)
+{
+  if (seedpairlist != NULL)
+  {
+    if (seedpairlist->mlist_struct != NULL)
+    {
+      GT_FREEARRAY(seedpairlist->mlist_struct, GtDiagbandseedSeedPair);
+      gt_free(seedpairlist->mlist_struct);
     }
-
-    rdxinfo = gt_radixsort_new_uint64keypair(mlen);
-    gt_radixsort_inplace_Gtuint64keyPair((Gtuint64keyPair*) mspace, mlen);
-    gt_radixsort_delete(rdxinfo);
-
-    if (verbose) {
-      fprintf(stream, "# ...sorted " GT_WU " seed pairs in ", mlen);
-      gt_timer_show_formatted(timer, GT_WD ".%06ld seconds.\n", stream);
+    if (seedpairlist->mlist_ulong != NULL)
+    {
+      GT_FREEARRAY(seedpairlist->mlist_ulong, GtUword);
+      gt_free(seedpairlist->mlist_ulong);
     }
-
-    if (debug_seedpair) {
-      GtDiagbandseedSeedPair *curr_sp;
-      for (curr_sp = mspace; curr_sp < mspace + mlen; curr_sp++) {
-        fprintf(stream, "# SeedPair (%d,%d,%d,%d)\n", curr_sp->aseqnum,
-                curr_sp->bseqnum, curr_sp->apos, curr_sp->bpos);
-      }
+    if (seedpairlist->mlist_bytestring != NULL)
+    {
+      GT_FREEARRAY(seedpairlist->mlist_bytestring, uint8_t);
+      gt_free(seedpairlist->mlist_bytestring);
     }
+    gt_free(seedpairlist);
   }
+}
 
-  if (verbose) {
-    gt_timer_delete(timer);
+static GtUword gt_seedpairlist_length(const GtSeedpairlist *seedpairlist)
+{
+  gt_assert(seedpairlist != NULL);
+  if (seedpairlist->splt == GT_DIAGBANDSEED_SPLT_STRUCT)
+  {
+    gt_assert(seedpairlist->mlist_struct != NULL);
+    return seedpairlist->mlist_struct->nextfreeGtDiagbandseedSeedPair;
+  } else
+  {
+    if (seedpairlist->splt == GT_DIAGBANDSEED_SPLT_ULONG)
+    {
+      gt_assert(seedpairlist->mlist_ulong != NULL);
+      return seedpairlist->mlist_ulong->nextfreeGtUword;
+    } else
+    {
+      gt_assert(seedpairlist->mlist_bytestring != NULL &&
+                (seedpairlist->mlist_bytestring->nextfreeuint8_t %
+                 seedpairlist->bytes_seedpair == 0));
+      return seedpairlist->mlist_bytestring->nextfreeuint8_t/
+             seedpairlist->bytes_seedpair;
+    }
   }
-  return mlist;
+  return 0;
 }
 
-/* * * * * SEED EXTENSION * * * * */
+static const GtDiagbandseedSeedPair *gt_seedpairlist_mlist_struct(
+              const GtSeedpairlist *seedpairlist)
+{
+  gt_assert(seedpairlist != NULL &&
+            seedpairlist->splt == GT_DIAGBANDSEED_SPLT_STRUCT &&
+            seedpairlist->mlist_struct != NULL);
+  return seedpairlist->mlist_struct->spaceGtDiagbandseedSeedPair;
+}
 
-/* start seed extension for seed pairs in mlist */
-static void gt_diagbandseed_process_seeds(GtArrayGtDiagbandseedSeedPair *mlist,
-                                          const GtDiagbandseedExtendParams *arg,
-                                          void *processinfo,
-                                          GtQuerymatchoutoptions *querymoutopt,
-                                          const GtEncseq *aencseq,
-                                          const GtEncseq *bencseq,
-                                          unsigned int seedlength,
-                                          bool reverse,
+static const GtUword *gt_seedpairlist_mlist_ulong(
+              const GtSeedpairlist *seedpairlist)
+{
+  gt_assert(seedpairlist != NULL && seedpairlist->mlist_ulong != NULL);
+  return seedpairlist->mlist_ulong->spaceGtUword;
+}
+
+const uint8_t *gt_seedpairlist_mlist_bytestring(
+              const GtSeedpairlist *seedpairlist)
+{
+  gt_assert(seedpairlist != NULL && seedpairlist->mlist_bytestring != NULL);
+  return seedpairlist->mlist_bytestring->spaceuint8_t;
+}
+
+static void gt_diagbandseed_one_GtUword2bytestring(uint8_t *bytestring,
+                                                   GtUword bytestring_length,
+                                                   GtUword value)
+{
+  int idx, shift;
+
+  for (idx = 0, shift = (sizeof (GtUword) - 1) * CHAR_BIT;
+       idx < bytestring_length; idx++, shift -= CHAR_BIT)
+  {
+    bytestring[idx] = (uint8_t) (value >> shift);
+  }
+}
+
+static void gt_diagbandseed_encode_seedpair(uint8_t *bytestring,
+                                            const GtSeedpairlist *seedpairlist,
+                                            GtDiagbandseedSeqnum aseqnum,
+                                            GtDiagbandseedSeqnum bseqnum,
+                                            GtDiagbandseedPosition bpos,
+                                            GtDiagbandseedPosition apos)
+{
+  GtUword value_seqnums, value_positions;
+
+  value_seqnums
+    = (((GtUword) aseqnum) << seedpairlist->bits_left_adjust[idx_aseqnum]) |
+      (((GtUword) bseqnum) << seedpairlist->bits_left_adjust[idx_bseqnum]);
+  value_positions
+    = (((GtUword) bpos) << seedpairlist->bits_left_adjust[idx_bpos]) |
+      (((GtUword) apos) << seedpairlist->bits_left_adjust[idx_apos]);
+  value_seqnums |= (value_positions >> seedpairlist->bits_units[0]);
+  gt_diagbandseed_one_GtUword2bytestring(bytestring,sizeof (GtUword),
+                                         value_seqnums);
+  value_positions <<= seedpairlist->bits_left_adjust[idx_bseqnum];
+  gt_diagbandseed_one_GtUword2bytestring(bytestring + sizeof (GtUword),
+                                         seedpairlist->bytes_seedpair
+                                         - sizeof (GtUword),
+                                         value_positions);
+}
+
+static void gt_seedpairlist_add(GtSeedpairlist *seedpairlist,
+                                bool knownsize,
+                                GtDiagbandseedSeqnum aseqnum,
+                                GtDiagbandseedSeqnum bseqnum,
+                                GtDiagbandseedPosition bpos,
+                                GtDiagbandseedPosition apos)
+{
+  gt_assert(seedpairlist != NULL);
+  gt_assert(aseqnum >= seedpairlist->aseqrange_start &&
+            aseqnum <= seedpairlist->aseqrange_end &&
+            bseqnum >= seedpairlist->bseqrange_start &&
+            bseqnum <= seedpairlist->bseqrange_end &&
+            apos < seedpairlist->aseqrange_max_length &&
+            bpos < seedpairlist->bseqrange_max_length);
+  if (seedpairlist->maxmat_compute)
+  {
+    bpos = GT_DIAGBANDSEED_DIAGONAL(seedpairlist->amaxlen,apos,bpos);
+  }
+  if (seedpairlist->splt == GT_DIAGBANDSEED_SPLT_STRUCT)
+  {
+    GtDiagbandseedSeedPair *seedpair = NULL;
+    if (knownsize)
+    {
+      gt_assert(seedpairlist->mlist_struct->nextfreeGtDiagbandseedSeedPair <
+                seedpairlist->mlist_struct->allocatedGtDiagbandseedSeedPair);
+      seedpair = seedpairlist->mlist_struct->spaceGtDiagbandseedSeedPair +
+                 seedpairlist->mlist_struct->nextfreeGtDiagbandseedSeedPair++;
+    } else
+    {
+      GT_GETNEXTFREEINARRAY(seedpair,
+                            seedpairlist->mlist_struct,
+                            GtDiagbandseedSeedPair,
+                            256 + 0.2 *
+                            seedpairlist->
+                               mlist_struct->allocatedGtDiagbandseedSeedPair);
+    }
+    seedpair->aseqnum = aseqnum;
+    seedpair->bseqnum = bseqnum;
+    GT_DIAGBANDSEED_SETPOS(seedpair,apos,bpos); /* set splt struct */
+  } else
+  {
+    if (seedpairlist->splt == GT_DIAGBANDSEED_SPLT_ULONG)
+    {
+      const GtUword encoding
+        = GT_DIAGBANDSEED_ENCODE_SEEDPAIR(aseqnum -
+                                          seedpairlist->aseqrange_start,
+                                          bseqnum -
+                                          seedpairlist->bseqrange_start,
+                                          bpos,apos); /*set splt bytestring */
+      if (knownsize)
+      {
+        gt_assert(seedpairlist->mlist_ulong->nextfreeGtUword <
+                  seedpairlist->mlist_ulong->allocatedGtUword);
+        seedpairlist->mlist_ulong->spaceGtUword[
+                   seedpairlist->mlist_ulong->nextfreeGtUword++] = encoding;
+      } else
+      {
+        GT_STOREINARRAY(seedpairlist->mlist_ulong,
+                        GtUword,
+                        256 + 0.2 * seedpairlist->mlist_ulong->allocatedGtUword,
+                        encoding);
+      }
+    } else
+    {
+       uint8_t *bytestring;
+
+       if (knownsize)
+       {
+         gt_assert(seedpairlist->mlist_bytestring->nextfreeuint8_t +
+                   seedpairlist->bytes_seedpair <=
+                   seedpairlist->mlist_bytestring->allocateduint8_t);
+       } else
+       {
+         GT_CHECKARRAYSPACE_GENERIC(seedpairlist->mlist_bytestring,
+                                    uint8_t,
+                                    seedpairlist->bytes_seedpair,
+                                    256 + 0.2 *
+                                    seedpairlist->
+                                    mlist_bytestring->allocateduint8_t);
+       }
+       bytestring = seedpairlist->mlist_bytestring->spaceuint8_t +
+                    seedpairlist->mlist_bytestring->nextfreeuint8_t;
+       seedpairlist->mlist_bytestring->nextfreeuint8_t
+         += seedpairlist->bytes_seedpair;
+       gt_assert(aseqnum >= seedpairlist->aseqrange_start);
+       gt_assert(bseqnum >= seedpairlist->bseqrange_start);
+       gt_diagbandseed_encode_seedpair(bytestring,
+                                       seedpairlist,
+                                       aseqnum - seedpairlist->aseqrange_start,
+                                       bseqnum - seedpairlist->bseqrange_start,
+                                       bpos,
+                                       apos);
+    }
+  }
+}
+
+static void gt_diagbandseed_seedpairlist_sort(GtSeedpairlist *seedpairlist)
+{
+  GtUword mlistlen = gt_seedpairlist_length(seedpairlist);
+
+  if (mlistlen > 0)
+  {
+    if (seedpairlist->splt == GT_DIAGBANDSEED_SPLT_STRUCT)
+    {
+      gt_assert(seedpairlist->mlist_struct != NULL);
+      gt_radixsort_inplace_Gtuint64keyPair(
+            (Gtuint64keyPair *) seedpairlist->mlist_struct
+                                            ->spaceGtDiagbandseedSeedPair,
+            mlistlen);
+    } else
+    {
+      if (seedpairlist->splt == GT_DIAGBANDSEED_SPLT_ULONG)
+      {
+        gt_assert(seedpairlist->mlist_ulong != NULL);
+        gt_radixsort_inplace_ulong(seedpairlist->mlist_ulong->spaceGtUword,
+                                   mlistlen);
+      } else
+      {
+        gt_assert(seedpairlist->mlist_bytestring != NULL);
+        gt_radixsort_inplace_flba(seedpairlist->mlist_bytestring->spaceuint8_t,
+                                  gt_seedpairlist_length(seedpairlist),
+                                  seedpairlist->bytes_seedpair);
+      }
+    }
+  }
+}
+
+static GtUword gt_seedpairlist_a_bseqnum_ulong(
+                                          const GtSeedpairlist *seedpairlist,
+                                          GtUword encoding)
+{
+  return encoding >> seedpairlist->shift_tab[idx_bseqnum];
+}
+
+static GtUword gt_seedpairlist_extract_ulong(const GtSeedpairlist *seedpairlist,
+                                             GtUword encoding,
+                                             int compidx)
+{
+  return (encoding >> seedpairlist->shift_tab[compidx]) &
+         seedpairlist->mask_tab[compidx];
+}
+
+static GtUword gt_seedpairlist_extract_ulong_at(
+                                   const GtSeedpairlist *seedpairlist,
+                                   GtUword spidx,
+                                   int compidx)
+{
+  return gt_seedpairlist_extract_ulong(seedpairlist,
+                                       seedpairlist->mlist_ulong->
+                                                     spaceGtUword[spidx],
+                                       compidx);
+}
+
+static GtUword gt_diagbandseed_bytestring2GtUword(const uint8_t *bytestring,
+                                                  GtUword bytestring_length)
+{
+  int idx, shift;
+  GtUword value = 0;
+
+  for (idx = 0, shift = (sizeof (GtUword) - 1) * CHAR_BIT;
+       idx < bytestring_length; idx++, shift -= CHAR_BIT)
+  {
+    value |= (((GtUword) bytestring[idx]) << shift);
+  }
+  return value;
+}
+
+static void gt_diagbandseed_decode_seedpair(GtDiagbandseedSeedPair *seedpair,
+                                            const GtSeedpairlist *seedpairlist,
+                                            GtUword offset)
+{
+  GtUword transfer, value_seqnums, value_positions;
+  GtDiagbandseedPosition apos, bpos;
+  const uint8_t *bytestring = seedpairlist->mlist_bytestring->spaceuint8_t +
+                              offset;
+
+  value_seqnums
+    = gt_diagbandseed_bytestring2GtUword(bytestring,sizeof (GtUword));
+  seedpair->aseqnum = (GtDiagbandseedSeqnum)
+                      ((value_seqnums >>
+                        seedpairlist->bits_left_adjust[idx_aseqnum]) &
+                       seedpairlist->mask_tab[idx_aseqnum]);
+  seedpair->bseqnum = (GtDiagbandseedSeqnum)
+                      ((value_seqnums >>
+                        seedpairlist->bits_left_adjust[idx_bseqnum]) &
+                       seedpairlist->mask_tab[idx_bseqnum]);
+  transfer = value_seqnums & seedpairlist->transfer_mask;
+  value_positions
+    = gt_diagbandseed_bytestring2GtUword(bytestring + sizeof (GtUword),
+                                         seedpairlist->bytes_seedpair -
+                                         sizeof (GtUword));
+  value_positions >>= seedpairlist->bits_unused_in2GtUwords;
+  value_positions |= (transfer << seedpairlist->transfer_shift);
+  apos = (GtDiagbandseedPosition) (value_positions &
+                                   seedpairlist->mask_tab[idx_apos]);
+  bpos = (GtDiagbandseedPosition) (value_positions >>
+                                   seedpairlist->bits_values[idx_apos]);
+  GT_DIAGBANDSEED_SETPOS(seedpair,apos,bpos); /* for splt bytestring */
+}
+
+static void gt_seedpairlist_at(GtDiagbandseedSeedPair *seedpair,
+                               const GtSeedpairlist *seedpairlist,
+                               GtUword spidx)
+{
+  if (seedpairlist->splt == GT_DIAGBANDSEED_SPLT_STRUCT)
+  {
+    *seedpair = seedpairlist->mlist_struct->spaceGtDiagbandseedSeedPair[spidx];
+  } else
+  {
+    if (seedpairlist->splt == GT_DIAGBANDSEED_SPLT_ULONG)
+    {
+      GtDiagbandseedPosition apos, bpos;
+
+      seedpair->aseqnum
+        = gt_seedpairlist_extract_ulong_at(seedpairlist,spidx,idx_aseqnum);
+      seedpair->bseqnum
+        = gt_seedpairlist_extract_ulong_at(seedpairlist,spidx,idx_bseqnum);
+      apos = gt_seedpairlist_extract_ulong_at(seedpairlist,spidx,idx_apos),
+      bpos = gt_seedpairlist_extract_ulong_at(seedpairlist,spidx,idx_bpos);
+      GT_DIAGBANDSEED_SETPOS(seedpair,apos,bpos); /* set for ulong */
+    } else
+    {
+      gt_diagbandseed_decode_seedpair(seedpair,seedpairlist,
+                                      spidx * seedpairlist->bytes_seedpair);
+    }
+  }
+}
+
+static void gt_diagbandseed_show_seed(FILE *stream,
+                                      const GtSeedpairlist *seedpairlist,
+                                      GtUword spidx)
+{
+  GtDiagbandseedSeedPair seedpair;
+  GtDiagbandseedPosition apos;
+
+  gt_seedpairlist_at(&seedpair,seedpairlist,spidx);
+  apos = GT_DIAGBANDSEED_GETPOS_A(&seedpair);
+  fprintf(stream, "(%" PRIu32 ",%" PRIu32 ",%" PRIu32 ",%" GT_WUS ")",
+                  seedpair.aseqnum,
+                  seedpair.bseqnum,
+                  apos,
+                  GT_DIAGBANDSEED_CONV_B(apos,
+                                         GT_DIAGBANDSEED_GETPOS_B(&seedpair)));
+}
+
+#ifndef NDEBUG
+static int gt_diagbandseed_seeds_compare(const GtSeedpairlist *seedpairlist,
+                                         const GtUword current)
+{
+  GtDiagbandseedSeedPair p_seedpair, c_seedpair;
+  GtDiagbandseedPosition p_apos, c_apos, p_bpos, c_bpos;
+
+  gt_assert(current > 0);
+  gt_seedpairlist_at(&p_seedpair,seedpairlist,current - 1);
+  gt_seedpairlist_at(&c_seedpair,seedpairlist,current);
+  if (p_seedpair.aseqnum < c_seedpair.aseqnum)
+  {
+    return -1;
+  }
+  if (p_seedpair.aseqnum > c_seedpair.aseqnum)
+  {
+    return 1;
+  }
+  if (p_seedpair.bseqnum < c_seedpair.bseqnum)
+  {
+    return -1;
+  }
+  if (p_seedpair.bseqnum > c_seedpair.bseqnum)
+  {
+    return 1;
+  }
+  p_apos = GT_DIAGBANDSEED_GETPOS_A(&p_seedpair);
+  c_apos = GT_DIAGBANDSEED_GETPOS_A(&c_seedpair);
+  p_bpos = GT_DIAGBANDSEED_CONV_B(p_apos,GT_DIAGBANDSEED_GETPOS_B(&p_seedpair));
+  c_bpos = GT_DIAGBANDSEED_CONV_B(c_apos,GT_DIAGBANDSEED_GETPOS_B(&c_seedpair));
+  if (p_bpos < c_bpos)
+  {
+    return -1;
+  }
+  if (p_bpos > c_bpos)
+  {
+    return 1;
+  }
+  if (p_apos < c_apos)
+  {
+    return -1;
+  }
+  if (p_apos > c_apos)
+  {
+    return 1;
+  }
+  return 0;
+}
+#endif
+
+static void gt_diagbandseed_seedpairlist_out(FILE *stream,
+                                             const GtSeedpairlist *seedpairlist)
+{
+  GtUword spidx, mlistlen = gt_seedpairlist_length(seedpairlist);
+
+  for (spidx = 0; spidx < mlistlen; spidx++)
+  {
+    gt_assert(spidx == 0 ||
+              gt_diagbandseed_seeds_compare(seedpairlist,spidx) < 0);
+    fprintf(stream, "# SeedPair ");
+    gt_diagbandseed_show_seed(stream,seedpairlist,spidx);
+    fprintf(stream, "\n");
+  }
+}
+
+/* Fill a GtDiagbandseedSeedPair list of equal kmers from the iterators. */
+static void gt_diagbandseed_merge(GtSeedpairlist *seedpairlist,
+                                  GtUword *histogram,
+                                  bool knowthesize,
+                                  GtDiagbandseedKmerIterator *aiter,
+                                  GtDiagbandseedKmerIterator *biter,
+                                  GtUword maxfreq,
+                                  GtUword maxgram,
+                                  const GtRange *seedpairdistance,
+                                  bool selfcomp)
+{
+  const GtArrayGtDiagbandseedKmerPos *alist, *blist;
+  const bool count_cartesian = (histogram != NULL && !selfcomp) ? true : false;
+
+  gt_assert(aiter != NULL && biter != NULL &&
+            ((histogram == NULL && seedpairlist != NULL) ||
+            (histogram != NULL && seedpairlist == NULL)));
+  alist = gt_diagbandseed_kmer_iter_next(aiter);
+  blist = gt_diagbandseed_kmer_iter_next(biter);
+  while (alist != NULL && blist != NULL) {
+    const GtDiagbandseedKmerPos *asegment = alist->spaceGtDiagbandseedKmerPos,
+                                *bsegment = blist->spaceGtDiagbandseedKmerPos;
+    GtUword alen = alist->nextfreeGtDiagbandseedKmerPos,
+            blen = blist->nextfreeGtDiagbandseedKmerPos;
+    if (asegment->code < bsegment->code) {
+      alist = gt_diagbandseed_kmer_iter_next(aiter);
+    } else
+    {
+      if (asegment->code > bsegment->code)
+      {
+        blist = gt_diagbandseed_kmer_iter_next(biter);
+      } else
+      {
+        GtUword frequency = MAX(alen, blen);
+        if (frequency <= maxfreq)
+        {
+          /* add all equal k-mers */
+          frequency = MIN(maxgram, frequency);
+          gt_assert(frequency > 0);
+          if (count_cartesian)
+          {
+            histogram[frequency - 1] += alen * blen;
+          } else
+          {
+            const GtDiagbandseedKmerPos *aptr, *bptr;
+            for (aptr = asegment; aptr < asegment + alen; aptr++)
+            {
+              for (bptr = bsegment; bptr < bsegment + blen; bptr++)
+              {
+                if (!selfcomp || aptr->seqnum < bptr->seqnum ||
+                    (aptr->seqnum == bptr->seqnum &&
+                     aptr->endpos + seedpairdistance->start <= bptr->endpos &&
+                     aptr->endpos + seedpairdistance->end >= bptr->endpos))
+                {
+                  /* no duplicates from the same dataset */
+                  if (histogram == NULL)
+                  {
+                    /* save SeedPair in seedpairlist */
+                    gt_seedpairlist_add(seedpairlist,
+                                        knowthesize,
+                                        aptr->seqnum,
+                                        bptr->seqnum,
+                                        bptr->endpos,
+                                        aptr->endpos);
+                  } else
+                  {
+                    /* count seed frequency in histogram */
+                    histogram[frequency - 1]++;
+                  }
+                }
+              }
+            }
+          }
+        } /* else: ignore all equal elements */
+        alist = gt_diagbandseed_kmer_iter_next(aiter);
+        blist = gt_diagbandseed_kmer_iter_next(biter);
+      }
+    }
+  }
+}
+
+/* Verify seeds in the original sequences */
+static int gt_diagbandseed_verify(const GtSeedpairlist *seedpairlist,
+                                  const GtEncseq *aencseq,
+                                  const GtEncseq *bencseq,
+                                  unsigned int seedlength,
+                                  bool reverse,
+                                  bool verbose,
+                                  FILE *stream,
+                                  GtError *err) {
+  const GtUword mlistlen = gt_seedpairlist_length(seedpairlist);
+  GtTimer *timer = NULL;
+  GtUword idx;
+  char *buf1 = gt_malloc(3 * (seedlength + 1) * sizeof *buf1);
+  char *buf2 = buf1 + 1 + seedlength;
+  char *buf3 = buf2 + 1 + seedlength;
+  buf1[seedlength] = buf2[seedlength] = buf3[seedlength] = '\0';
+
+  if (verbose) {
+    fprintf(stream, "# start verifying seeds ...\n");
+    timer = gt_timer_new();
+    gt_timer_start(timer);
+  }
+
+  gt_assert(aencseq != NULL && bencseq != NULL);
+  for (idx = 0; idx < mlistlen; idx++)
+  {
+    GtDiagbandseedSeedPair seedpair;
+    GtDiagbandseedPosition abs_apos, abs_bpos;
+
+    gt_seedpairlist_at(&seedpair,seedpairlist,idx);
+    /* extract decoded k-mers at seed positions */
+    abs_apos = GT_DIAGBANDSEED_GETPOS_A(&seedpair) +
+               gt_encseq_seqstartpos(aencseq, seedpair.aseqnum);
+    gt_encseq_extract_decoded(aencseq, buf1, abs_apos + 1 - seedlength,
+                              abs_apos);
+
+    if (!reverse) {
+      GtDiagbandseedPosition apos = GT_DIAGBANDSEED_GETPOS_A(&seedpair),
+                             bpos = GT_DIAGBANDSEED_GETPOS_B(&seedpair);
+
+      abs_bpos = GT_DIAGBANDSEED_CONV_B(apos,bpos) +
+                 gt_encseq_seqstartpos(bencseq,seedpair.bseqnum);
+      gt_encseq_extract_decoded(bencseq, buf2, abs_bpos + 1 - seedlength,
+                                abs_bpos);
+      if (strcmp(buf1, buf2) != 0) {
+        gt_error_set(err, "Wrong SeedPair (%" PRIu32
+                          ",%" PRIu32 ",%" PRIu32 ",%" GT_WUS "): %s != %s\n",
+                     seedpair.aseqnum, seedpair.bseqnum,
+                     apos,
+                     GT_DIAGBANDSEED_CONV_B(apos,bpos),
+                     buf1, buf2);
+        gt_free(buf1);
+        if (verbose)
+        {
+          gt_timer_delete(timer);
+        }
+        return -1;
+      }
+    } else {
+      /* get reverse k-mer */
+      char *bufptr;
+      abs_bpos = gt_encseq_seqstartpos(bencseq, seedpair.bseqnum) +
+                 gt_encseq_seqlength(bencseq, seedpair.bseqnum)
+                 - GT_DIAGBANDSEED_GETPOS_B(&seedpair) - 1;
+      gt_encseq_extract_decoded(bencseq, buf2, abs_bpos,
+                                abs_bpos + seedlength - 1);
+
+      for (bufptr = buf3; bufptr < buf3 + seedlength; bufptr++) {
+        gt_complement(bufptr, buf2[seedlength + buf3 - bufptr - 1], NULL);
+      }
+      if (strcmp(buf1, buf3) != 0) {
+        gt_error_set(err, "Wrong SeedPair (" "%"PRIu32
+                          ",%"PRIu32",%"PRIu32",%"PRIu32"): %s != %s\n",
+                     seedpair.aseqnum, seedpair.bseqnum,
+                     GT_DIAGBANDSEED_GETPOS_A(&seedpair),
+                     GT_DIAGBANDSEED_GETPOS_B(&seedpair), buf1, buf3);
+        gt_free(buf1);
+        if (verbose)
+        {
+          gt_timer_delete(timer);
+        }
+        return -1;
+      }
+    }
+  }
+  if (verbose) {
+    fprintf(stream, "# ...successfully verified all seeds ");
+    gt_timer_show_formatted(timer, GT_DIAGBANDSEED_FMT, stream);
+    gt_timer_delete(timer);
+  }
+  gt_free(buf1);
+  return 0;
+}
+
+/* Return estimated length of mlist, and maxfreq w.r.t. the given memlimit */
+static int gt_diagbandseed_get_mlistlen_maxfreq(GtUword *mlistlen,
+                                            GtUword *maxfreq,
+                                            GtDiagbandseedKmerIterator *aiter,
+                                            GtDiagbandseedKmerIterator *biter,
+                                            GtUword memlimit,
+                                            size_t sizeofunit,
+                                            const GtRange *seedpairdistance,
+                                            GtUword len_used,
+                                            bool selfcomp,
+                                            bool alist_blist_id,
+                                            bool verbose,
+                                            FILE *stream,
+                                            GtError *err)
+{
+  const GtUword maxgram = MIN(*maxfreq, 8190) + 1; /* Cap on k-mer count */
+  GtUword *histogram = NULL;
+  GtTimer *timer = NULL;
+  int had_err = 0;
+
+  gt_assert(memlimit < GT_UWORD_MAX);
+  if (verbose) {
+    fprintf(stream, "# start calculating k-mer frequency histogram...\n");
+    timer = gt_timer_new();
+    gt_timer_start(timer);
+  }
+
+  /* build histogram; histogram[maxgram] := estimation for mlistlen */
+  histogram = gt_calloc(maxgram + 1, sizeof *histogram);
+  gt_diagbandseed_merge(NULL, /* mlist not needed: just count */
+                        histogram,
+                        false,
+                        aiter,
+                        biter,
+                        *maxfreq,
+                        maxgram,
+                        seedpairdistance,
+                        selfcomp);
+  *maxfreq = gt_diagbandseed_processhistogram(histogram,
+                                              *maxfreq,
+                                              maxgram,
+                                              memlimit,
+                                              len_used *
+                                                sizeof (GtDiagbandseedKmerPos),
+                                              alist_blist_id,
+                                              sizeofunit);
+  *mlistlen = histogram[maxgram];
+  gt_free(histogram);
+
+  if (verbose) {
+    gt_timer_show_formatted(timer,"# ... finished histogram "
+                            GT_DIAGBANDSEED_FMT,stream);
+    gt_timer_delete(timer);
+  }
+
+  /* check maxfreq value */
+  if (*maxfreq == 0 || (*maxfreq == 1 && alist_blist_id)) {
+    gt_error_set(err,
+                 "option -memlimit too strict: need at least " GT_WU "MB",
+                 (*mlistlen >> 20) + 1);
+    *mlistlen = 0;
+    had_err = -1;
+  } else if (verbose) {
+    if (*maxfreq == GT_UWORD_MAX) {
+      fprintf(stream, "# disable k-mer maximum frequency, ");
+    } else {
+      fprintf(stream, "# set k-mer maximum frequency to " GT_WU ", ", *maxfreq);
+    }
+    fprintf(stream, "expect " GT_WU " seeds.\n", *mlistlen);
+  } else if (*maxfreq <= 5) {
+    gt_warning("only k-mers occurring <= " GT_WU " times will be considered, "
+               "due to small memlimit.", *maxfreq);
+  }
+
+  return had_err;
+}
+
+/* Return a sorted list of SeedPairs from given Kmer-Iterators.
+ * Parameter known_size > 0 can be given to allocate the memory beforehand.
+ * The caller is responsible for freeing the result. */
+static void gt_diagbandseed_get_seedpairs(GtSeedpairlist *seedpairlist,
+                                          GtDiagbandseedKmerIterator *aiter,
+                                          GtDiagbandseedKmerIterator *biter,
+                                          GtUword maxfreq,
+                                          GtUword known_size,
+                                          const GtRange *seedpairdistance,
+                                          bool selfcomp,
+                                          bool debug_seedpair,
                                           bool verbose,
                                           FILE *stream)
 {
-  GtDiagbandseedScore *score = NULL;
-  GtDiagbandseedPosition *lastp = NULL;
-  GtExtendSelfmatchRelativeFunc extend_selfmatch_relative_function = NULL;
-  GtExtendQuerymatchRelativeFunc extend_querymatch_relative_function = NULL;
-  GtProcessinfo_and_querymatchspaceptr info_querymatch;
-  const GtUword amaxlen = gt_encseq_max_seq_length(aencseq),
-                bmaxlen = gt_encseq_max_seq_length(bencseq);
-  const GtDiagbandseedSeedPair *lm = NULL, *maxsegm, *nextsegm, *idx;
-  const GtUword ndiags = (amaxlen >> arg->logdiagbandwidth) +
-                         (bmaxlen >> arg->logdiagbandwidth) + 2;
-  const GtUword minsegmentlen = (arg->mincoverage - 1) / seedlength + 1;
-  GtUword mlen = 0, diag = 0;
-  bool firstinrange = true;
-  GtUword count_extensions = 0;
-  const GtReadmode query_readmode = ((arg->extendgreedy || arg->extendxdrop)
-                                     && reverse
-                                     ? GT_READMODE_REVCOMPL
-                                     : GT_READMODE_FORWARD);
-  GtTimer *timer = NULL;
-#ifdef GT_DIAGBANDSEED_SEEDHISTOGRAM
-  GtUword *seedhistogram = NULL;
-  GtUword seedcount = 0;
+  GtTimer *timer = NULL;
+  GtUword mlistlen;
+
+  if (verbose) {
+    timer = gt_timer_new();
+    if (known_size > 0) {
+      fprintf(stream, "# start collecting " GT_WU " seeds in %.0f MB ...\n",
+                      known_size,
+                      GT_MEGABYTES(known_size *
+                                   gt_seedpairlist_sizeofunit(seedpairlist)));
+    } else {
+      fprintf(stream, "# start collecting seeds ...\n");
+    }
+    gt_timer_start(timer);
+  }
+
+  /* allocate mlist space according to seed count */
+  gt_seedpairlist_init(seedpairlist,known_size);
+
+  /* create mlist */
+  (void) gt_diagbandseed_merge(seedpairlist,
+                        NULL, /* histogram not needed: save seeds */
+                        known_size > 0 ? true : false,
+                        aiter,
+                        biter,
+                        maxfreq,
+                        GT_UWORD_MAX, /* maxgram */
+                        seedpairdistance,
+                        selfcomp);
+  mlistlen = gt_seedpairlist_length(seedpairlist);
+  if (verbose) {
+    fprintf(stream, "# ... collected " GT_WU " seeds ", mlistlen);
+    gt_timer_show_formatted(timer, GT_DIAGBANDSEED_FMT, stream);
+  }
+
+  /* sort mlist */
+  if (mlistlen > 0) {
+    if (verbose) {
+      gt_timer_start(timer);
+    }
+    gt_diagbandseed_seedpairlist_sort(seedpairlist);
+    if (verbose) {
+      fprintf(stream, "# ... sorted " GT_WU " seeds ", mlistlen);
+      gt_timer_show_formatted(timer, GT_DIAGBANDSEED_FMT, stream);
+    }
+    if (debug_seedpair) {
+      gt_diagbandseed_seedpairlist_out(stream,seedpairlist);
+    }
+  }
+  if (timer != NULL)
+  {
+    gt_timer_delete(timer);
+  }
+}
+
+typedef struct
+{
+  GtUword totalseeds,
+          totalseqpairs,
+          extended_seeds,
+          selected_seeds,
+          countmatches,
+          failedmatches,
+          seqpairs_with_minsegment,
+          maxmatchespersegment,
+          total_extension_time_usec,
+          total_process_seeds_usec,
+          filteredbydiagonalscore;
+  bool withtiming;
+  GtBittab *used_a_sequences,
+           *used_b_sequences;
+  GtUword current_gfa2_edge_num;
+} GtDiagbandseedState;
+
+static GtDiagbandseedState *gt_diagbandseed_dbs_state_new(bool verbose,
+                                                        GtUword a_num_sequences,
+                                                        GtUword b_num_sequences)
+{
+  GtDiagbandseedState *dbs_state = gt_calloc(1,sizeof *dbs_state);
+  dbs_state->withtiming = verbose;
+  if (a_num_sequences > 0)
+  {
+    dbs_state->used_a_sequences = gt_bittab_new(a_num_sequences);
+  } else
+  {
+    dbs_state->used_a_sequences = NULL;
+  }
+  if (b_num_sequences > 0)
+  {
+    gt_assert(a_num_sequences > 0);
+    dbs_state->used_b_sequences = gt_bittab_new(b_num_sequences);
+  } else
+  {
+    dbs_state->used_b_sequences = NULL;
+  }
+  return dbs_state;
+}
+
+static void gt_diagbandseed_dbs_state_delete(GtDiagbandseedState *dbs_state)
+{
+  if (dbs_state != NULL)
+  {
+    gt_bittab_delete(dbs_state->used_a_sequences);
+    gt_bittab_delete(dbs_state->used_b_sequences);
+    gt_free(dbs_state);
+  }
+}
+
+static void gt_diagbandseed_dbs_state_update(GtDiagbandseedState *dbs_state,
+                                          GtUword mlistlen,
+                                          GtUword numseqpairs)
+{
+  dbs_state->totalseeds += mlistlen;
+  dbs_state->totalseqpairs += numseqpairs;
+}
+
+static void gt_diagbandseed_dbs_state_out(const GtDiagbandseedState *dbs_state,
+                                       bool maxmat_show)
+{
+  printf("# total number of seeds: " GT_WU,dbs_state->totalseeds);
+  if (!maxmat_show)
+  {
+    printf("; " GT_WU ", i.e. %.2f%% of all seeds were filtered by "
+                   "diagonal score"
+                   "; " GT_WU ", i.e. %.2f%% of all seeds were selected"
+                   "; " GT_WU ", i.e. %.2f%% of all seeds were extended\n",
+            dbs_state->filteredbydiagonalscore,
+            100.0 * (double) dbs_state->filteredbydiagonalscore/
+                             dbs_state->totalseeds,
+            dbs_state->selected_seeds,
+            100.0 * (double) dbs_state->selected_seeds/
+                             dbs_state->totalseeds,
+            dbs_state->extended_seeds,
+            100.0 * (double) dbs_state->extended_seeds/
+                             dbs_state->totalseeds);
+    printf( "# number of unsuccessful extensions: " GT_WU "\n",
+            dbs_state->failedmatches);
+    printf( "# sequence pairs with selected seeds: " GT_WU
+                    " (%.2f%% of all " GT_WU ")\n",
+            dbs_state->seqpairs_with_minsegment,
+            100.0 * (double) dbs_state->seqpairs_with_minsegment/
+                             dbs_state->totalseqpairs,
+            dbs_state->totalseqpairs);
+  } else
+  {
+    printf("\n# maximum number of MEMs per segment: " GT_WU "\n",
+            dbs_state->maxmatchespersegment);
+  }
+  printf("# number of matches output: " GT_WU " (%.4f per seed)\n",
+          dbs_state->countmatches,
+          (double) dbs_state->countmatches/
+                   dbs_state->totalseeds);
+}
+
+typedef bool (*GtExtendRelativeCoordsFunc)(void *,
+                                           const GtSeqorEncseq *,
+                                           GtUword,
+                                           GtUword,
+                                           const GtSeqorEncseq *,
+                                           bool,
+                                           GtUword,
+                                           GtUword,
+                                           GtUword,
+                                           GtReadmode);
+
+static bool gt_diagbandseed_has_overlap_with_previous_match(
+     const GtArrayGtDiagbandseedRectangle *previous_extensions,
+     GtUword previous_match_a_start,
+     GtUword previous_match_a_end,
+     GtUword previous_match_b_start,
+     GtUword previous_match_b_end,
+     GtUword apos,
+     GtUword bpos,
+     GtUword matchlength,
+     bool debug)
+{
+  GtDiagbandseedRectangle maxmatch;
+
+  if (debug)
+  {
+    printf("# overlap of " GT_WU " " GT_WU " " GT_WU " " GT_WU " "
+                           GT_WU " " GT_WU " " GT_WU " " GT_WU "?\n",
+           apos + 1 - matchlength,apos,bpos + 1 - matchlength,bpos,
+           previous_match_a_start,
+           previous_match_a_end,
+           previous_match_b_start,
+           previous_match_b_end);
+  }
+
+  maxmatch.a_start = apos + 1 - matchlength;
+  maxmatch.a_end = apos;
+  maxmatch.b_start = bpos + 1 - matchlength;
+  maxmatch.b_end = bpos;
+
+  if (debug)
+  {
+    gt_rectangle_store_show(previous_extensions);
+  }
+  if (gt_rectangle_overlap(previous_extensions,&maxmatch))
+  {
+    if (debug)
+    {
+      printf("# overlap with previous_ext (both dim) => return true\n");
+    }
+    return true;
+  } else
+  {
+    if (debug)
+    {
+      printf("# not overlap with previous_ext (both dim) => return false\n");
+    }
+    return false;
+  }
+}
+
+typedef struct
+{
+  bool b_differs_from_a, a_haswildcards, b_haswildcards;
+  const GtUchar *characters;
+  GtUchar wildcardshow;
+  GtSeqorEncseq aseqorencseq, bseqorencseq;
+  GtUchar *a_byte_sequence, *b_byte_sequence;
+  GtUword previous_aseqnum,
+          a_first_seqnum,
+          a_first_seqstartpos,
+          b_first_seqnum,
+          b_first_seqstartpos;
+  const GtEncseq *a_encseq_for_seq_desc, *b_encseq_for_seq_desc;
+} GtDiagbandSeedPlainSequence;
+
+static void gt_diagbandseed_plainsequence_init(GtDiagbandSeedPlainSequence *ps,
+                                          bool s_desc_display,
+                                          bool q_desc_display,
+                                          const GtEncseq *aencseq,
+                                          const GtSequencePartsInfo *aseqranges,
+                                          GtUword aidx,
+                                          bool with_a_bytestring,
+                                          const GtEncseq *bencseq,
+                                          const GtSequencePartsInfo *bseqranges,
+                                          GtUword bidx,
+                                          bool with_b_bytestring)
+{
+  ps->previous_aseqnum = GT_UWORD_MAX;
+  if (s_desc_display && aencseq != NULL &&
+      gt_encseq_has_description_support(aencseq))
+  {
+    ps->a_encseq_for_seq_desc = aencseq;
+  } else
+  {
+    ps->a_encseq_for_seq_desc = NULL;
+  }
+  if (q_desc_display && bencseq != NULL &&
+      gt_encseq_has_description_support(bencseq))
+  {
+    ps->b_encseq_for_seq_desc = bencseq;
+  } else
+  {
+    ps->b_encseq_for_seq_desc = NULL;
+  }
+  if (with_a_bytestring)
+  {
+    ps->a_first_seqnum = gt_sequence_parts_info_start_get(aseqranges,aidx);
+    ps->a_first_seqstartpos
+      = gt_sequence_parts_info_seqstartpos(aseqranges,ps->a_first_seqnum),
+    ps->a_byte_sequence = gt_sequence_parts_info_seq_extract(aencseq,aseqranges,
+                                                             aidx);
+    ps->a_haswildcards = (gt_encseq_wildcards(aencseq) > 0) ? true : false;
+  } else
+  {
+    ps->a_byte_sequence = NULL;
+    GT_SEQORENCSEQ_INIT_ENCSEQ(&ps->aseqorencseq,aencseq);
+    ps->a_haswildcards = true;
+  }
+  if (with_b_bytestring)
+  {
+    ps->b_first_seqnum = gt_sequence_parts_info_start_get(bseqranges,bidx);
+    ps->b_first_seqstartpos
+      = gt_sequence_parts_info_seqstartpos(bseqranges,ps->b_first_seqnum);
+    if (with_a_bytestring && aencseq == bencseq && aidx == bidx)
+    {
+      ps->b_differs_from_a = false;
+      ps->b_byte_sequence = ps->a_byte_sequence;
+      ps->b_haswildcards = ps->a_haswildcards;
+    } else
+    {
+      ps->b_differs_from_a = true;
+      ps->b_byte_sequence = gt_sequence_parts_info_seq_extract(bencseq,
+                                                               bseqranges,bidx);
+      ps->b_haswildcards = (gt_encseq_wildcards(bencseq) > 0) ? true : false;
+    }
+  } else
+  {
+    ps->b_byte_sequence = NULL;
+    GT_SEQORENCSEQ_INIT_ENCSEQ(&ps->bseqorencseq,bencseq);
+    ps->b_haswildcards = true;
+  }
+  if (with_a_bytestring || with_b_bytestring)
+  {
+    ps->characters = gt_encseq_alphabetcharacters(aencseq);
+    ps->wildcardshow = gt_alphabet_wildcard_show(gt_encseq_alphabet(aencseq));
+  }
+}
+
+static void gt_diagbandseed_set_sequence(GtSeqorEncseq *seqorencseq,
+                                         const GtSequencePartsInfo *seqranges,
+                                         const GtUchar *bytesequence,
+                                         GtUword first_seqstartpos,
+                                         GtUword seqnum,
+                                         const GtUchar *characters,
+                                         GtUchar wildcardshow,
+                                         bool haswildcards,
+                                         const GtEncseq *encseq_for_seq_desc)
+{
+  const GtUword
+    seqstartpos = gt_sequence_parts_info_seqstartpos(seqranges,seqnum),
+    seqendpos = gt_sequence_parts_info_seqendpos(seqranges,seqnum),
+    b_off = seqstartpos - first_seqstartpos;
+  const char *seqdescptr;
+  if (encseq_for_seq_desc != NULL)
+  {
+    GtUword desclen;
+    seqdescptr = gt_encseq_description(encseq_for_seq_desc,
+                                       &desclen,
+                                       seqnum);
+  } else
+  {
+    seqdescptr = "Unknown";
+  }
+  GT_SEQORENCSEQ_INIT_SEQ(seqorencseq,bytesequence + b_off,seqdescptr,
+                          seqendpos - seqstartpos + 1,characters,
+                          wildcardshow,
+                          haswildcards);
+}
+
+static void gt_diagbandseed_plainsequence_next_segment(
+                         GtDiagbandSeedPlainSequence *ps,
+                         const GtSequencePartsInfo *aseqranges,
+                         GtUword currsegm_aseqnum,
+                         const GtSequencePartsInfo *bseqranges,
+                         GtUword currsegm_bseqnum)
+{
+  if (ps->previous_aseqnum == GT_UWORD_MAX ||
+      ps->previous_aseqnum < currsegm_aseqnum)
+  {
+    if (ps->a_byte_sequence != NULL)
+    {
+      gt_diagbandseed_set_sequence(&ps->aseqorencseq,
+                                   aseqranges,
+                                   ps->a_byte_sequence,
+                                   ps->a_first_seqstartpos,
+                                   currsegm_aseqnum,
+                                   ps->characters,
+                                   ps->wildcardshow,
+                                   ps->a_haswildcards,
+                                   ps->a_encseq_for_seq_desc);
+      ps->previous_aseqnum = currsegm_aseqnum;
+    } else
+    {
+      GtUword seqstartpos = gt_sequence_parts_info_seqstartpos(aseqranges,
+                                                             currsegm_aseqnum),
+              seqendpos = gt_sequence_parts_info_seqendpos(aseqranges,
+                                                           currsegm_aseqnum);
+
+      GT_SEQORENCSEQ_ADD_SEQ_COORDS(&ps->aseqorencseq,
+                                    seqstartpos,
+                                    seqendpos - seqstartpos + 1);
+    }
+  } else
+  {
+    gt_assert(ps->previous_aseqnum == currsegm_aseqnum);
+  }
+  if (ps->b_byte_sequence != NULL)
+  {
+    gt_diagbandseed_set_sequence(&ps->bseqorencseq,
+                                 bseqranges,
+                                 ps->b_byte_sequence,
+                                 ps->b_first_seqstartpos,
+                                 currsegm_bseqnum,
+                                 ps->characters,
+                                 ps->wildcardshow,
+                                 ps->b_haswildcards,
+                                 ps->b_encseq_for_seq_desc);
+  } else
+  {
+    GtUword seqstartpos = gt_sequence_parts_info_seqstartpos(bseqranges,
+                                                             currsegm_bseqnum),
+            seqendpos = gt_sequence_parts_info_seqendpos(bseqranges,
+                                                         currsegm_bseqnum);
+
+    GT_SEQORENCSEQ_ADD_SEQ_COORDS(&ps->bseqorencseq,
+                                  seqstartpos,
+                                  seqendpos - seqstartpos + 1);
+  }
+}
+
+static void gt_diagbandseed_plainsequence_delete(
+                         GtDiagbandSeedPlainSequence *ps)
+{
+  if (ps->b_byte_sequence != NULL && ps->b_differs_from_a)
+  {
+    gt_free(ps->b_byte_sequence);
+  }
+  if (ps->a_byte_sequence != NULL)
+  {
+    gt_free(ps->a_byte_sequence);
+  }
+}
+
+typedef struct
+{
+  GtUword userdefinedleastlength,
+          errorpercentage,
+          use_apos,
+          mincoverage;
+  bool only_selected_seqpairs;
+  double evalue_threshold;
+  GtDiagbandSeedPlainSequence plainsequence_info;
+  GtReadmode query_readmode;
+  bool same_encseq, debug;
+  GtProcessinfo_and_querymatchspaceptr info_querymatch;
+  GtExtendRelativeCoordsFunc extend_relative_coords_function;
+  GtSegmentRejectFunc segment_reject_func;
+  GtSegmentRejectInfo *segment_reject_info;
+  const GtKarlinAltschulStat *karlin_altschul_stat;
+  const GtSeedExtendDisplayFlag *out_display_flag;
+  bool benchmark;
+  GtAniAccumulate *ani_accumulate;
+  GtDiagbandseedState *dbs_state;
+} GtDiagbandseedExtendSegmentInfo;
+
+static int gt_diagbandseed_possibly_extend(const GtArrayGtDiagbandseedRectangle
+                                             *previous_extensions,
+                                           bool haspreviousmatch,
+                                           GtUword use_apos,
+                                           GtUword aseqnum,
+                                           GtUword apos,
+                                           GtUword bseqnum,
+                                           GtUword bpos,
+                                           GtUword matchlength,
+                                           GtDiagbandseedExtendSegmentInfo *esi)
+{
+  int ret = 0;
+
+  if (esi->debug)
+  {
+    printf("# %s haspreviousmatch=%s\n",__func__,
+           haspreviousmatch ? "true" : "false");
+  }
+  if (!haspreviousmatch ||
+      (use_apos == 0 &&
+       esi->info_querymatch.previous_match_b_end < bpos) || /* no overlap */
+      (use_apos > 0 && !gt_diagbandseed_has_overlap_with_previous_match(
+                             previous_extensions,
+                             esi->info_querymatch.previous_match_a_start,
+                             esi->info_querymatch.previous_match_a_end,
+                             esi->info_querymatch.previous_match_b_start,
+                             esi->info_querymatch.previous_match_b_end,
+                             apos,
+                             bpos,
+                             matchlength,
+                             esi->debug)))
+  {
+    bool success;
+
+    /* relative seed start position in A and B */
+    const GtUword bstart = bpos + 1 - matchlength;
+    const GtUword astart = apos + 1 - matchlength;
+#ifndef _WIN32
+    struct timeval tvalBefore = {0};
+
+    if (esi->dbs_state != NULL &&
+        esi->dbs_state->withtiming)
+    {
+      gettimeofday (&tvalBefore, NULL);
+    }
+#endif
+    ret = 1; /* perform extension */
+    /* the following function called is either
+         gt_greedy_extend_seed_relative or
+         gt_xdrop_extend_seed_relative */
+    success = esi->extend_relative_coords_function(&esi->info_querymatch,
+                                                   &esi->plainsequence_info.
+                                                     aseqorencseq,
+                                                   aseqnum,
+                                                   astart,
+                                                   &esi->plainsequence_info.
+                                                     bseqorencseq,
+                                                   esi->same_encseq,
+                                                   bseqnum,
+                                                   bstart,
+                                                   matchlength,
+                                                   esi->query_readmode);
+#ifndef _WIN32
+    if (esi->dbs_state != NULL &&
+        esi->dbs_state->withtiming)
+    {
+      struct timeval tvalAfter;
+      gettimeofday (&tvalAfter, NULL);
+      esi->dbs_state->total_extension_time_usec
+        += (tvalAfter.tv_sec - tvalBefore.tv_sec) * 1000000L
+            + tvalAfter.tv_usec - tvalBefore.tv_usec;
+    }
+#endif
+    if (success)
+    {
+      double evalue, bit_score;
+
+      if (esi->ani_accumulate != NULL)
+      {
+        const GtUword query_seqlen
+          = esi->plainsequence_info.bseqorencseq.seqlength,
+        aligned_len
+          = esi->info_querymatch.previous_match_a_end -
+            esi->info_querymatch.previous_match_a_start + 1 +
+            esi->info_querymatch.previous_match_b_end -
+            esi->info_querymatch.previous_match_b_start + 1;
+        if (gt_querymatch_check_final_generic(
+                               &evalue,
+                               &bit_score,
+                               esi->karlin_altschul_stat,
+                               query_seqlen,
+                               aligned_len,
+                               esi->info_querymatch.previous_match_distance,
+                               esi->info_querymatch.previous_match_mismatches,
+                               esi->userdefinedleastlength,
+                               esi->errorpercentage,
+                               esi->evalue_threshold,
+                               stdout))
+        {
+          esi->ani_accumulate->sum_of_aligned_len += aligned_len;
+          esi->ani_accumulate->sum_of_distance
+            += esi->info_querymatch.previous_match_distance;
+          ret = 3;
+        } else
+        {
+          ret = 2; /* found match, which does not satisfy length or similarity
+                      constraints */
+        }
+      } else
+      {
+        const GtQuerymatch *querymatch
+          = esi->info_querymatch.querymatchspaceptr;
+
+        /* show extension results */
+        gt_assert(querymatch != NULL);
+        if (gt_querymatch_check_final(&evalue,
+                                      &bit_score,
+                                      esi->karlin_altschul_stat,
+                                      querymatch,
+                                      esi->userdefinedleastlength,
+                                      esi->errorpercentage,
+                                      esi->evalue_threshold))
+        {
+          if (!esi->benchmark) {
+            if (gt_querymatch_gfa2_display(esi->out_display_flag))
+            {
+              gt_assert(esi->dbs_state != NULL);
+              gt_querymatch_gfa2_edge(querymatch,
+                                      esi->dbs_state->
+                                           current_gfa2_edge_num);
+              esi->dbs_state->current_gfa2_edge_num++;
+              gt_bittab_set_bit(esi->dbs_state->used_a_sequences,
+                                aseqnum);
+              gt_bittab_set_bit(
+                 esi->dbs_state->used_b_sequences != NULL
+                   ? esi->dbs_state->used_b_sequences
+                   : esi->dbs_state->used_a_sequences,
+                   bseqnum);
+            }
+            gt_querymatch_prettyprint(evalue,bit_score,esi->out_display_flag,
+                                      querymatch);
+          }
+          ret = 3; /* output match */
+        } else
+        {
+          if (!esi->benchmark) {
+            gt_querymatch_show_failed_seed(esi->out_display_flag,querymatch);
+          }
+          ret = 2; /* found match, which does not satisfy length or similarity
+                      constraints */
+        }
+      }
+    }
+    /* else reference and query are the same sequence and overlap so that
+       no extension was performed */
+  }
+  return ret;
+}
+
+void gt_diagbandseed_printchainelem(FILE *outfp,
+                                    GtUword aseqnum,
+                                    GtUword astart,
+                                    GtUword bseqnum,
+                                    GtUword bstart,
+                                    GtUword matchlength)
+{
+  fprintf(outfp,GT_WU " " GT_WU " " GT_WU " " GT_WU " " GT_WU " " GT_WU "\n",
+          matchlength,aseqnum,astart,matchlength,bseqnum,bstart);
+}
+
+typedef struct
+{
+  GtDiagbandseedSeqnum aseqnum,
+                       bseqnum;
+} GtDiagbandseedSequencePair;
+
+static void gt_diagbandseed_chain_out(void *data,
+                                      const GtChain2Dimmatchtable *matchtable,
+                                      const GtChain2Dim *chain)
+{
+  GtUword idx, chainlength;
+  const GtDiagbandseedSequencePair *sequencepair
+    = (const GtDiagbandseedSequencePair *) data;
+
+  gt_assert(chain != NULL);
+  chainlength = gt_chain_chainlength(chain);
+  printf("# chain of length " GT_WU " with score " GT_WD "\n",
+         chainlength,gt_chain_chainscore(chain));
+
+  gt_assert(!gt_chain_storedinreverseorder(chain));
+  for (idx = 0; idx < chainlength; idx++)
+  {
+    GtChain2Dimmatchvalues value;
+
+    gt_chain_extractchainelem(&value, matchtable, chain, idx);
+    gt_assert(value.startpos[0] <= value.endpos[0] &&
+              value.weight >= 0 &&
+              value.endpos[0] - value.startpos[0] + 1
+                        == (GtUword) value.weight &&
+              value.startpos[1] <= value.endpos[1] &&
+              value.endpos[1] - value.startpos[1] + 1
+                        == (GtUword) value.weight);
+
+    gt_diagbandseed_printchainelem(stdout,
+                                   sequencepair->aseqnum,
+                                   value.startpos[0],
+                                   sequencepair->bseqnum,
+                                   value.startpos[1],
+                                   (GtUword) value.weight);
+  }
+}
+
+static int gt_diagbandseed_bstart_ldesc_compare_mems(const void *vl,
+                                                     const void *vr)
+{
+  GtDiagbandseedMaximalmatch *l = (GtDiagbandseedMaximalmatch *) vl,
+                             *r = (GtDiagbandseedMaximalmatch *) vr;
+  GtDiagbandseedPosition lapos = l->apos + 1 - l->len,
+                         lbpos = l->bpos + 1 - l->len,
+                         rapos = r->apos + 1 - r->len,
+                         rbpos = r->bpos + 1 - r->len;
+  if (lbpos < rbpos)
+  {
+    return -1;
+  }
+  if (lbpos > rbpos)
+  {
+    return 1;
+  }
+  if (l->len < r->len)
+  {
+    return 1;
+  }
+  if (l->len > r->len)
+  {
+    return -1;
+  }
+  if (lapos < rapos)
+  {
+    return -1;
+  }
+  if (lapos > rapos)
+  {
+    return 1;
+  }
+  gt_assert(false);
+  return 0;
+}
+
+typedef struct
+{
+  GtDiagbandseedMaximalmatch *spaceGtDiagbandseedMaximalmatch;
+  GtUword allocatedGtDiagbandseedMaximalmatch,
+          nextfreeGtDiagbandseedMaximalmatch;
+} GtArrayGtDiagbandseedMaximalmatch;
+
+static bool gt_diagbandseed_process_mem(
+                                    bool forward,
+                                    GtUword aseqnum,
+                                    GtUword bseqnum,
+                                    GtArrayGtDiagbandseedMaximalmatch *memstore,
+                                    GtUword amaxlen,
+                                    const GtSeedpairPositions *previous,
+                                    GtUword previous_matchlength,
+                                    GtUword userdefinedleastlength,
+                                    FILE *fpout)
+{
+  if (memstore == NULL)
+  {
+    if (previous_matchlength >= userdefinedleastlength)
+    {
+      fprintf(fpout,"%8" GT_WUS "  %8" GT_WUS "  %8" GT_WUS "  %c  %8" GT_WUS
+                    "  %8" GT_WUS "\n",
+                  previous_matchlength,
+                  aseqnum,
+                  previous->apos + 2 - previous_matchlength,
+                  forward ? 'F' : 'P',
+                  bseqnum,
+                  GT_DIAGBANDSEED_DIAGONAL2BPOS(amaxlen,
+                                                previous->apos,
+                                                previous->bpos)
+                                                + 2 - previous_matchlength);
+      return true;
+    }
+  } else
+  {
+    GtDiagbandseedMaximalmatch *memstore_ptr;
+
+    GT_GETNEXTFREEINARRAY(memstore_ptr,memstore,
+                          GtDiagbandseedMaximalmatch,
+                          memstore->allocatedGtDiagbandseedMaximalmatch
+                          * 0.2 + 256);
+    memstore_ptr->apos = previous->apos;
+    memstore_ptr->bpos = GT_DIAGBANDSEED_DIAGONAL2BPOS(amaxlen,
+                                                       previous->apos,
+                                                       previous->bpos);
+    memstore_ptr->len = previous_matchlength;
+  }
+  return false;
+}
+
+/* This will later be replaced by an encoding of the three
+   values in a GtUword as to speed up sorting */
+
+static void gt_diagbandseed_segment2maxmatches(
+             bool forward,
+             GtArrayGtDiagbandseedMaximalmatch *memstore,
+             GtUword aseqnum,
+             GtUword bseqnum,
+             unsigned int seedlength,
+             GtUword userdefinedleastlength,
+             GtUword amaxlen,
+             const GtSeedpairPositions *segment_positions,
+             GtUword segment_length,
+             GtDiagbandseedState *dbs_state,
+             GtSegmentRejectFunc segment_reject_func,
+             GtSegmentRejectInfo *segment_reject_info,
+             const GtChain2Dimmode *chainmode,
+             FILE *fpout)
+{
+  GtUword previous_matchlength = seedlength, localmatchcount = 0;
+  const GtSeedpairPositions *current;
+  GtSeedpairPositions previous;
+  GtDiagbandseedSequencePair sequencepair = {aseqnum,bseqnum};
+  const bool anchor_pairs = false;
+  bool rejected = false;
+#ifndef NDEBUG
+  GtUword idx;
+#endif
+
+  gt_assert(segment_length > 0 && seedlength <= userdefinedleastlength);
+#ifndef NDEBUG
+  for (idx = 1; idx < segment_length; idx++)
+  {
+    gt_assert(segment_positions[idx-1].bpos < segment_positions[idx].bpos ||
+              (segment_positions[idx-1].bpos == segment_positions[idx].bpos &&
+               segment_positions[idx-1].apos <= segment_positions[idx].apos));
+  }
+#endif
+  previous = segment_positions[0];
+  if (memstore != NULL)
+  {
+    memstore->nextfreeGtDiagbandseedMaximalmatch = 0;
+  }
+  for (current = segment_positions + 1;
+       current < segment_positions + segment_length && !rejected; current++)
+  {
+    if (previous.bpos == current->bpos && previous.apos + 1 == current->apos)
+    {
+      previous_matchlength++;
+      previous.apos++;
+    } else
+    {
+      if (previous.bpos == current->bpos &&
+          previous.apos + seedlength - 1 >= current->apos)
+      {
+        /* This case can only happen if maxfreq exclude some intermediate
+           matches */
+        gt_assert(previous.apos <= current->apos);
+        previous_matchlength += (current->apos - previous.apos + 1);
+        previous.apos = current->apos;
+      } else
+      {
+        /*
+        printf("previous.diag = %u, current.diag=%u\n",previous.bpos,
+                current->bpos);
+        printf("previous.apos=%u,current.apos=%u,seedlength=%u\n",
+                previous.apos,current->apos,seedlength);
+        gt_assert (previous.bpos != current->bpos ||
+                   previous.apos + seedlength - 1 < current->apos);*/
+        if (anchor_pairs)
+        {
+          if (previous.bpos == current->bpos &&
+              previous.apos + seedlength - 1 < current->apos)
+          {
+            printf("A %u\n",previous.apos+1);
+          }
+        } else
+        {
+          if (gt_diagbandseed_process_mem(forward,
+                                          aseqnum,
+                                          bseqnum,
+                                          memstore,
+                                          amaxlen,
+                                          &previous,
+                                          previous_matchlength,
+                                          userdefinedleastlength,
+                                          fpout))
+          {
+            localmatchcount++;
+            if (segment_reject_func != NULL)
+            {
+              gt_segment_reject_register_match(segment_reject_info,bseqnum);
+              rejected = true;
+            }
+          }
+        }
+        previous_matchlength = seedlength;
+        previous = *current;
+      }
+    }
+  }
+  if (!anchor_pairs)
+  {
+    if (!rejected && gt_diagbandseed_process_mem(forward,
+                                                 aseqnum,
+                                                 bseqnum,
+                                                 memstore,
+                                                 amaxlen,
+                                                 &previous,
+                                                 previous_matchlength,
+                                                 userdefinedleastlength,
+                                                 fpout))
+    {
+      localmatchcount++;
+      if (segment_reject_func != NULL)
+      {
+        gt_segment_reject_register_match(segment_reject_info,bseqnum);
+      }
+    }
+  }
+  if (dbs_state != NULL)
+  {
+    dbs_state->countmatches += localmatchcount;
+    if (dbs_state->maxmatchespersegment < localmatchcount)
+    {
+      dbs_state->maxmatchespersegment = localmatchcount;
+    }
+  }
+  if (memstore != NULL)
+  {
+    if (memstore->nextfreeGtDiagbandseedMaximalmatch >= 2)
+    {
+      qsort(memstore->spaceGtDiagbandseedMaximalmatch,
+            memstore->nextfreeGtDiagbandseedMaximalmatch,
+            sizeof *memstore->spaceGtDiagbandseedMaximalmatch,
+            gt_diagbandseed_bstart_ldesc_compare_mems);
+    }
+    if (chainmode != NULL)
+    {
+      const GtUword presortdim = 1;
+#ifndef NDEBUG
+      GtUword previous_start_b = GT_UWORD_MAX;
+#endif
+      GtChain2Dimmatchvalues inmatch;
+      GtChain2Dim *localchain = gt_chain_chain_new();
+      GtDiagbandseedMaximalmatch *mmptr;
+      GtChain2Dimmatchtable *chainmatchtable
+        = gt_chain_matchtable_new(memstore->nextfreeGtDiagbandseedMaximalmatch);
+
+      for (mmptr = memstore->spaceGtDiagbandseedMaximalmatch;
+           mmptr < memstore->spaceGtDiagbandseedMaximalmatch +
+                   memstore->nextfreeGtDiagbandseedMaximalmatch;
+           mmptr++)
+      {
+        inmatch.startpos[0] = mmptr->apos + 1 - mmptr->len;
+        inmatch.endpos[0] = mmptr->apos;
+        inmatch.startpos[1] = mmptr->bpos + 1 - mmptr->len;
+        inmatch.endpos[1] = mmptr->bpos;
+        gt_assert(previous_start_b == GT_UWORD_MAX ||
+                  previous_start_b <= inmatch.startpos[1]);
+        inmatch.weight = mmptr->len;
+        gt_chain_matchtable_add(chainmatchtable,&inmatch);
+#ifndef NDEBUG
+        previous_start_b = inmatch.startpos[1];
+#endif
+      }
+      gt_chain_fastchaining(chainmode,
+                            localchain,
+                            chainmatchtable,
+                            false,
+                            presortdim,
+                            true,
+                            gt_diagbandseed_chain_out,
+                            &sequencepair,
+                            NULL);
+      gt_chain_matchtable_delete(chainmatchtable);
+      gt_chain_chain_delete(localchain);
+    }
+  }
+}
+
+/* * * * * SEED EXTENSION * * * * */
+
+static void gt_diagbandseed_segment2matches(
+             void *v_segment2matches_info,
+             GT_UNUSED const GtEncseq *aencseq,
+             GT_UNUSED const GtEncseq *bencseq,
+             GtUword aseqnum,
+             GtUword bseqnum,
+             const GtDiagbandStruct *diagband_struct,
+             const GtDiagbandseedMaximalmatch *memstore,
+             unsigned int seedlength,
+             const GtSeedpairPositions *segment_positions,
+             GtUword segment_length)
+{
+  GtDiagbandseedExtendSegmentInfo *esi
+    = (GtDiagbandseedExtendSegmentInfo *) v_segment2matches_info;
+  bool found_selected = false, haspreviousmatch = false;
+  GtUword idx, matchlength = seedlength;
+  GtArrayGtDiagbandseedRectangle *previous_extensions = NULL;
+
+  if (esi->use_apos > 0)
+  {
+    previous_extensions = gt_rectangle_store_new();
+  }
+  gt_assert(memstore != NULL || segment_positions != NULL);
+  for (idx = 0; idx < segment_length; idx++)
+  {
+    GtDiagbandseedPosition apos, bpos;
+    GtUword coverage;
+
+    if (memstore != NULL)
+    {
+      apos = memstore[idx].apos;
+      bpos = memstore[idx].bpos;
+      matchlength = memstore[idx].len;
+    } else
+    {
+      apos = segment_positions[idx].apos;
+      bpos = segment_positions[idx].bpos;
+    }
+    if (esi->debug)
+    {
+      printf("# apos=%u,bpos=%u,matchlength=" GT_WU "\n",
+             apos,bpos,matchlength);
+    }
+
+    /* The filter sums the score of the current diagonalband
+       as well as the maximum of the score of the previous and next
+       diagonal band */
+    coverage = gt_diagband_struct_coverage(diagband_struct,apos,bpos);
+    if (coverage >= esi->mincoverage)
+    {
+      int ret;
+
+      if (esi->dbs_state != NULL)
+      {
+        esi->dbs_state->selected_seeds++;
+      }
+      if (!found_selected)
+      {
+        if (esi->dbs_state != NULL)
+        {
+          esi->dbs_state->seqpairs_with_minsegment++;
+        }
+        found_selected = true;
+      }
+      if (esi->only_selected_seqpairs)
+      {
+        printf("# " GT_WU "%c" GT_WU "\n",aseqnum,
+               esi->query_readmode == GT_READMODE_REVCOMPL ? '-' : '+',
+               bseqnum);
+        break;
+      }
+      ret = gt_diagbandseed_possibly_extend(
+                     previous_extensions,
+                     haspreviousmatch,
+                     esi->use_apos,
+                     aseqnum,
+                     apos,
+                     bseqnum,
+                     bpos,
+                     matchlength,
+                     esi);
+      if (ret >= 1 && esi->dbs_state != NULL)
+      {
+        esi->dbs_state->extended_seeds++;
+      }
+      if (ret >= 2)
+      {
+        haspreviousmatch = true;
+        if (esi->use_apos == 2 || /* add all previous matches */
+            (esi->use_apos == 1 /* only add successful match */
+             && ret == 3))
+        {
+          GtDiagbandseedRectangle newrectangle;
+
+          newrectangle.a_start
+            = esi->info_querymatch.previous_match_a_start;
+          newrectangle.a_end = esi->info_querymatch.previous_match_a_end;
+          newrectangle.b_start
+            = esi->info_querymatch.previous_match_b_start;
+          newrectangle.b_end
+            = esi->info_querymatch.previous_match_b_end;
+          if (esi->debug)
+          {
+            printf("# add rectangle (%u,%u) (%u,%u) from seed (%u,%u,"
+                   GT_WU ")\n",
+                    newrectangle.a_start,
+                    newrectangle.a_end,
+                    newrectangle.b_start,
+                    newrectangle.b_end,
+                    apos,bpos,matchlength);
+          }
+          gt_rectangle_store_add(previous_extensions,&newrectangle);
+        }
+        if (ret == 2 && esi->dbs_state != NULL)
+        {
+          esi->dbs_state->failedmatches++;
+        }
+      }
+      if (ret == 3)
+      {
+        if (esi->dbs_state != NULL)
+        {
+          esi->dbs_state->countmatches++;
+        }
+        if (esi->segment_reject_func != NULL)
+        {
+          gt_segment_reject_register_match(esi->segment_reject_info,bseqnum);
+          break;
+        }
+      }
+    } else
+    {
+      if (esi->dbs_state != NULL)
+      {
+        esi->dbs_state->filteredbydiagonalscore++;
+      }
+      if (esi->debug)
+      {
+        printf("# filtered as diagonal score " GT_WU " < " GT_WU "\n",
+               coverage,
+               esi->mincoverage);
+      }
+    }
+  }
+  if (esi->use_apos > 0)
+  {
+    gt_rectangle_store_delete(previous_extensions);
+  }
+}
+
+#define GT_DIAGBANDSEED_PROCESS_SEGMENT\
+        if (segment_reject_func == NULL ||\
+            !segment_reject_func(segment_reject_info,currsegm_bseqnum))\
+        {\
+          if (seedpairlist->maxmat_compute)\
+          {\
+            gt_diagbandseed_segment2maxmatches(forward,\
+                                               memstore,\
+                                               currsegm_aseqnum,\
+                                               currsegm_bseqnum,\
+                                               seedlength,\
+                                               extp->userdefinedleastlength,\
+                                               seedpairlist->amaxlen,\
+                                               segment_positions,\
+                                               segment_length,\
+                                               dbs_state,\
+                                               segment_reject_func,\
+                                               segment_reject_info,\
+                                               chainmode,\
+                                               stream);\
+            if (memstore != NULL)\
+            {\
+              gt_assert(diagband_struct != NULL &&\
+                        gt_diagband_struct_empty(diagband_struct));\
+              segment_length = memstore->nextfreeGtDiagbandseedMaximalmatch;\
+              gt_diagband_struct_multi_update(\
+                      diagband_struct,\
+                      memstore->spaceGtDiagbandseedMaximalmatch,\
+                      segment_length);\
+            } else\
+            {\
+              gt_assert(diagband_struct == NULL);\
+            }\
+          }\
+          if (!seedpairlist->maxmat_compute || memstore != NULL)\
+          {\
+            gt_assert(segment_proc_func != NULL && segment_proc_info != NULL);\
+            segment_proc_func(segment_proc_info,\
+                              aencseq,\
+                              bencseq,\
+                              currsegm_aseqnum,\
+                              currsegm_bseqnum,\
+                              diagband_struct,\
+                              memstore == NULL\
+                                ? NULL \
+                                : memstore->spaceGtDiagbandseedMaximalmatch,\
+                              seedlength,\
+                              segment_positions,\
+                              segment_length);\
+          }\
+        }\
+        if (diagband_struct != NULL && \
+            !gt_diagband_struct_empty(diagband_struct))\
+        {\
+          gt_diagband_struct_reset(diagband_struct,\
+                                   memstore == NULL ? segment_positions\
+                                                        : NULL,\
+                                   memstore == NULL\
+                                     ? NULL\
+                                     : memstore->\
+                                           spaceGtDiagbandseedMaximalmatch,\
+                                   segment_length);\
+        }
+
+static void gt_diagbandseed_match_header(FILE *stream,
+                                         const GtDiagbandseedExtendParams *extp,
+                                         const void *processinfo,
+                                         unsigned int seedlength,
+                                         GtUword num_diagbands,
+                                         GtUword minsegmentlen)
+{
+  fprintf(stream,"# start processing of seeds ...\n");
+  fprintf(stream,"# parameters for selecting seeds: seedlength=%u, "
+                 "diagonal bands=" GT_WU ", minimal segmentsize=" GT_WU
+                 ", minimal coverage=" GT_WU "\n",
+                 seedlength,num_diagbands,minsegmentlen,extp->mincoverage);
+  if (extp->extendgreedy)
+  {
+    const GtGreedyextendmatchinfo *ggemi
+      = (GtGreedyextendmatchinfo *) processinfo;
+
+    fprintf(stream,"# parameters for greedy extension of seeds: history=" GT_WU
+                   ", max_aligned_length_difference=" GT_WU
+                   ", percent_match_history=" GT_WU "\n",
+                    extp->history_size,
+                    gt_greedy_extend_maxalignedlendifference(ggemi),
+                    gt_greedy_extend_perc_mat_history(ggemi));
+  } else
+  {
+    const GtXdropmatchinfo *xdropmatchinfo = (GtXdropmatchinfo *) processinfo;
+    fprintf(stream,"# parameters for xdrop extension of seeds: "
+                   "xdrop_below_score=" GT_WU "\n",
+                   gt_xdrop_extend_belowscore(xdropmatchinfo));
+  }
+}
+
+static void gt_diagbandseed_info_qm_set(
+                                   GtProcessinfo_and_querymatchspaceptr *ifqm,
+                                   const GtDiagbandseedExtendParams *extp,
+                                   GtQuerymatchoutoptions *querymoutopt,
+                                   GtReadmode query_readmode,
+                                   FILE *stream,
+                                   const GtKarlinAltschulStat
+                                     *karlin_altschul_stat,
+                                   void *processinfo)
+{
+  ifqm->processinfo = processinfo;
+  if (extp->ani_accumulate != NULL)
+  {
+    ifqm->querymatchspaceptr = NULL;
+  } else
+  {
+    ifqm->querymatchspaceptr = gt_querymatch_new();
+    if (extp->verify_alignment)
+    {
+      gt_querymatch_verify_alignment_set(ifqm->querymatchspaceptr);
+    }
+    if (querymoutopt != NULL) {
+      gt_querymatch_outoptions_set(ifqm->querymatchspaceptr,querymoutopt);
+    }
+    gt_querymatch_query_readmode_set(ifqm->querymatchspaceptr,query_readmode);
+    gt_querymatch_file_set(ifqm->querymatchspaceptr, stream);
+  }
+  ifqm->karlin_altschul_stat = karlin_altschul_stat;
+  ifqm->out_display_flag = extp->out_display_flag;;
+  ifqm->previous_match_a_start = 0;
+  ifqm->previous_match_a_end = 0;
+  ifqm->previous_match_b_start = 0;
+  ifqm->previous_match_b_end = 0;
+  ifqm->previous_match_distance = 0;
+  ifqm->previous_match_mismatches = 0;
+}
+
+#define GT_USEC2SEC(TIME_IN_USEC)\
+         ((GtUword) (TIME_IN_USEC)/1000000)
+
+#define GT_USECREMAIN(TIME_IN_USEC) ((TIME_IN_USEC) -\
+                                     GT_USEC2SEC(TIME_IN_USEC) * 1000000UL)
+
+#ifndef _WIN32
+static void gt_diagbandseed_process_seeds_times(
+                 bool extendgreedy,
+                 bool maxmat_show,
+                 GtUword mlistlen,
+                 GtUword extended_seeds,
+                 GtUword total_process_seeds_usec,
+                 GtUword total_extension_time_usec)
+{
+  GtUword process_seeds_usec;
+
+  gt_assert(total_process_seeds_usec >= total_extension_time_usec);
+  process_seeds_usec = total_process_seeds_usec - total_extension_time_usec;
+  if (!maxmat_show)
+  {
+    printf("# ... %s extension of " GT_WU " seeds in "
+                   GT_WD ".%.06ld seconds.\n",
+            extendgreedy ? "greedy" : "xdrop",
+            extended_seeds,
+            GT_USEC2SEC(total_extension_time_usec),
+            GT_USECREMAIN(total_extension_time_usec));
+  }
+  printf( "# ... processed " GT_WU " seeds %sin "
+                  GT_WD ".%06ld seconds.\n",mlistlen,
+          maxmat_show ? "" : "(excluding extensions) ",
+          GT_USEC2SEC(process_seeds_usec),
+          GT_USECREMAIN(process_seeds_usec));
+}
 #endif
 
-  gt_assert(mlist != NULL);
-  mlen = mlist->nextfreeGtDiagbandseedSeedPair; /* mlist length  */
-  lm = mlist->spaceGtDiagbandseedSeedPair;      /* mlist pointer */
+static GtDiagbandseedExtendSegmentInfo *gt_diagbandseed_extendSI_new(
+                                         const GtDiagbandseedExtendParams *extp,
+                                         void *processinfo,
+                                         GtQuerymatchoutoptions *querymoutopt,
+                                         const GtEncseq *aencseq,
+                                         const GtSequencePartsInfo *aseqranges,
+                                         GtUword aidx,
+                                         const GtEncseq *bencseq,
+                                         const GtSequencePartsInfo *bseqranges,
+                                         GtUword bidx,
+                                         const GtKarlinAltschulStat
+                                           *karlin_altschul_stat,
+                                         GtReadmode query_readmode,
+                                         FILE *stream,
+                                         GtDiagbandseedState
+                                           *dbs_state,
+                                         GtSegmentRejectFunc
+                                           segment_reject_func,
+                                         GtSegmentRejectInfo
+                                           *segment_reject_info)
+{
+  GtDiagbandseedExtendSegmentInfo *esi = gt_malloc(sizeof *esi);
+
+  esi->extend_relative_coords_function = extp->extendgreedy
+                                            ? gt_greedy_extend_seed_relative
+                                            : gt_xdrop_extend_seed_relative;
+  gt_diagbandseed_plainsequence_init(&esi->plainsequence_info,
+                                     gt_querymatch_subjectid_display(
+                                             extp->out_display_flag),
+                                     gt_querymatch_queryid_display(
+                                             extp->out_display_flag),
+                                     aencseq,
+                                     aseqranges,
+                                     aidx,
+                                     extp->a_extend_char_access ==
+                                         GT_EXTEND_CHAR_ACCESS_DIRECT ? true
+                                                                      : false,
+                                     bencseq,
+                                     bseqranges,
+                                     bidx,
+                                     extp->b_extend_char_access ==
+                                        GT_EXTEND_CHAR_ACCESS_DIRECT ? true
+                                                                     : false);
+  gt_diagbandseed_info_qm_set(&esi->info_querymatch,
+                              extp,
+                              querymoutopt,
+                              query_readmode,
+                              stream,
+                              karlin_altschul_stat,
+                              processinfo);
+  esi->dbs_state = dbs_state;
+  /* the following are constant and depends only on the given parameters */
+  esi->userdefinedleastlength = extp->userdefinedleastlength;
+  esi->errorpercentage = extp->errorpercentage;
+  esi->use_apos = extp->use_apos;
+  esi->mincoverage = extp->mincoverage;
+  esi->only_selected_seqpairs = extp->only_selected_seqpairs;
+  esi->evalue_threshold = extp->evalue_threshold;
+  esi->query_readmode = query_readmode;
+  esi->same_encseq = (aencseq == bencseq) ? true : false;
+  esi->debug = gt_log_enabled() ? true : false;
+  esi->segment_reject_func = segment_reject_func;
+  esi->segment_reject_info = segment_reject_info;
+  esi->karlin_altschul_stat = karlin_altschul_stat;
+  esi->out_display_flag = extp->out_display_flag;
+  esi->benchmark = extp->benchmark;
+  if (extp->ani_accumulate != NULL)
+  {
+    if (GT_ISDIRREVERSE(query_readmode))
+    {
+      esi->ani_accumulate = extp->ani_accumulate + 1;
+    } else
+    {
+      esi->ani_accumulate = extp->ani_accumulate;
+    }
+  } else
+  {
+    esi->ani_accumulate = NULL;
+  }
+  return esi;
+}
 
-  if (mlen < minsegmentlen || mlen == 0) {
-    return;
+static void gt_diagbandseed_extendSI_delete(
+                                        GtDiagbandseedExtendSegmentInfo * esi)
+{
+  if (esi != NULL)
+  {
+    gt_querymatch_delete(esi->info_querymatch.querymatchspaceptr);
+    gt_diagbandseed_plainsequence_delete(&esi->plainsequence_info);
+    gt_free(esi);
   }
+}
 
-  /* select extension method */
-  info_querymatch.processinfo = processinfo;
-  if (arg->extendgreedy) {
-    extend_selfmatch_relative_function = gt_greedy_extend_selfmatch_relative;
-    extend_querymatch_relative_function = gt_greedy_extend_querymatch_relative;
-  } else if (arg->extendxdrop) {
-    extend_selfmatch_relative_function = gt_xdrop_extend_selfmatch_relative;
-    extend_querymatch_relative_function = gt_xdrop_extend_querymatch_relative;
-  } else { /* no seed extension */
+typedef void (*GtDiagbandseedProcessSegmentFunc)(
+                        void *v_process_segment_info,
+                        const GtEncseq *aencseq,
+                        const GtEncseq *bencseq,
+                        GtUword aseqnum,
+                        GtUword bseqnum,
+                        const GtDiagbandStruct *diagband_struct,
+                        const GtDiagbandseedMaximalmatch *memstore,
+                        unsigned int seedlength,
+                        const GtSeedpairPositions *segment_positions,
+                        GtUword segment_length);
+
+/* start seed extension for seeds in mlist */
+static void gt_diagbandseed_process_seeds(GtSeedpairlist *seedpairlist,
+                                         const GtDiagbandseedExtendParams *extp,
+                                          void *processinfo,
+                                          GtQuerymatchoutoptions *querymoutopt,
+                                          const GtEncseq *aencseq,
+                                          const GtSequencePartsInfo *aseqranges,
+                                          GtUword aidx,
+                                          const GtEncseq *bencseq,
+                                          const GtSequencePartsInfo *bseqranges,
+                                          GtUword bidx,
+                                          const GtKarlinAltschulStat
+                                            *karlin_altschul_stat,
+                                          GtArrayGtDiagbandseedMaximalmatch
+                                            *memstore,
+                                          const GtChain2Dimmode *chainmode,
+                                          unsigned int seedlength,
+                                          GtReadmode query_readmode,
+                                          bool verbose,
+                                          FILE *stream,
+                                          const GtStr *diagband_statistics_arg,
+                                          GtDiagbandseedState
+                                            *dbs_state,
+                                          GtSegmentRejectFunc
+                                            segment_reject_func,
+                                          GtSegmentRejectInfo
+                                            *segment_reject_info)
+{
+  const bool forward = query_readmode == GT_READMODE_REVCOMPL ? false : true;
+  /* Although the sequences of the parts processed are shorter, we need to
+     set amaxlen and bmaxlen to the maximum size of all sequences
+     to get the same division into diagonal bands for all parts and thus
+     obtain results independent of the number of parts chosen. */
+  const GtUword mlistlen = gt_seedpairlist_length(seedpairlist),
+                minsegmentlen = (extp->mincoverage - 1) / seedlength + 1;
+  GtTimer *timer = NULL;
+  GtDiagbandStruct *diagband_struct = NULL;
+  GtDiagbandseedExtendSegmentInfo *esi = NULL;
+  GtDiagbandStatistics *diagband_statistics = NULL;
+  GtDiagbandseedProcessSegmentFunc segment_proc_func = NULL;
+  void *segment_proc_info = NULL;
+
+  gt_assert(extp->mincoverage >= seedlength && minsegmentlen >= 1);
+  if (mlistlen == 0 || mlistlen < minsegmentlen ||
+      (!extp->extendgreedy && !extp->extendxdrop))
+  {
     return;
   }
-
-  if (verbose) {
+  if (verbose)
+  {
     timer = gt_timer_new();
-    if (arg->extendgreedy) {
-      fprintf(stream, "# Start greedy seed pair extension...\n");
-    } else {
-      fprintf(stream, "# Start xdrop seed pair extension...\n");
-    }
-    fprintf(stream, "# Columns: alen aseq astartpos strand blen bseq bstartpos "
-            "score editdist identity\n");
     gt_timer_start(timer);
   }
-
-  info_querymatch.querymatchspaceptr = gt_querymatch_new();
-  gt_querymatch_display_set(info_querymatch.querymatchspaceptr,
-                            arg->display_flag);
-  if (querymoutopt != NULL) {
-    gt_querymatch_outoptions_set(info_querymatch.querymatchspaceptr,
-                                 querymoutopt);
+  if (seedpairlist->maxmat_show)
+  {
+    fprintf(stream,"# Fields: s.len, s.seqnum, s.start, strand, q.seqnum, "
+                   "q.start\n");
+  } else
+  {
+    const GtUword bmaxlen = gt_encseq_max_seq_length(bencseq);
+    if (verbose)
+    {
+      gt_diagbandseed_match_header(stream,extp,processinfo,
+                                   seedlength,
+                                   gt_diagband_struct_num_diagbands(
+                                              seedpairlist->amaxlen,bmaxlen,
+                                              extp->logdiagbandwidth),
+                                   minsegmentlen);
+    }
+    diagband_struct = gt_diagband_struct_new(seedpairlist->amaxlen,bmaxlen,
+                                             extp->logdiagbandwidth);
+    if (gt_str_length(diagband_statistics_arg) == 0)
+    {
+      esi = gt_diagbandseed_extendSI_new(extp,
+                                         processinfo,
+                                         querymoutopt,
+                                         aencseq,
+                                         aseqranges,
+                                         aidx,
+                                         bencseq,
+                                         bseqranges,
+                                         bidx,
+                                         karlin_altschul_stat,
+                                         query_readmode,
+                                         stream,
+                                         dbs_state,
+                                         segment_reject_func,
+                                         segment_reject_info);
+      if (verbose)
+      {
+        if (esi->plainsequence_info.a_byte_sequence != NULL ||
+            esi->plainsequence_info.b_byte_sequence != NULL)
+        {
+          fprintf(stream, "# ... extracted sequences ");
+          gt_timer_show_formatted(timer, GT_DIAGBANDSEED_FMT, stream);
+          gt_timer_start(timer);
+        }
+      }
+      segment_proc_func = gt_diagbandseed_segment2matches;
+      segment_proc_info = esi;
+    } else
+    {
+      diagband_statistics = gt_diagband_statistics_new(diagband_statistics_arg,
+                                                       forward);
+      segment_proc_func = gt_diagband_statistics_add;
+      segment_proc_info = diagband_statistics;
+    }
   }
-  gt_querymatch_query_readmode_set(info_querymatch.querymatchspaceptr,
-                                   query_readmode);
-  gt_querymatch_file_set(info_querymatch.querymatchspaceptr, stream);
-
-  /* score[0] and score[ndiags+1] remain zero for boundary */
-  score = gt_calloc(ndiags + 2, sizeof *score);
-  lastp = gt_calloc(ndiags, sizeof *lastp);
-  maxsegm = lm + mlen - minsegmentlen;
-  nextsegm = lm;
-
-#ifdef GT_DIAGBANDSEED_SEEDHISTOGRAM
-  seedhistogram = (GtUword *)gt_calloc(GT_DIAGBANDSEED_SEEDHISTOGRAM,
-                                       sizeof *seedhistogram);
-#endif
-
-  /* iterate through segments of equal k-mers */
-  while (nextsegm <= maxsegm) {
-    const GtDiagbandseedSeedPair *currsegm = nextsegm;
+  if (seedpairlist->splt == GT_DIAGBANDSEED_SPLT_STRUCT)
+  {
+    const GtDiagbandseedSeedPair
+      *mlist = gt_seedpairlist_mlist_struct(seedpairlist),
+      *mlistend = mlist + mlistlen,
+      *last_segment_start = mlistend - minsegmentlen,
+      *nextsegm = mlist;
+
+    gt_assert(nextsegm <= last_segment_start);
+    /* iterate through segments of equal k-mers */
+    while (nextsegm <= last_segment_start)
+    {
+      GtSeedpairPositions *spp_ptr, *segment_positions;
+      GtUword segment_length;
+      const GtDiagbandseedSeedPair *currsegm = nextsegm;
+      const GtDiagbandseedSeqnum currsegm_aseqnum = currsegm->aseqnum;
+      const GtDiagbandseedSeqnum currsegm_bseqnum = currsegm->bseqnum;
+
+      /* if insuffienct number of kmers in segment: skip whole segment */
+      if (currsegm_aseqnum != currsegm[minsegmentlen - 1].aseqnum ||
+          currsegm_bseqnum != currsegm[minsegmentlen - 1].bseqnum)
+      {
+        do
+        {
+          nextsegm++;
+        } while (nextsegm < mlistend &&
+                 currsegm_aseqnum == nextsegm->aseqnum &&
+                 currsegm_bseqnum == nextsegm->bseqnum);
+        continue; /* process next segment */
+      }
 
-    /* if insuffienct number of kmers in segment: skip whole segment */
-    if (currsegm->aseqnum != (currsegm + minsegmentlen - 1)->aseqnum ||
-        currsegm->bseqnum != (currsegm + minsegmentlen - 1)->bseqnum) {
-      do {
+      /* this segment begining with nextsegm possibly has enough seeds */
+      spp_ptr = segment_positions = (GtSeedpairPositions *) currsegm;
+      do
+      {
+        if (!seedpairlist->maxmat_compute)
+        {
+          gt_diagband_struct_single_update(diagband_struct,
+                                           GT_DIAGBANDSEED_GETPOS_A(nextsegm),
+                                           GT_DIAGBANDSEED_GETPOS_B(nextsegm),
+                                           (GtDiagbandseedPosition) seedlength);
+        }
+        spp_ptr->apos = GT_DIAGBANDSEED_GETPOS_A(nextsegm);
+        spp_ptr->bpos = GT_DIAGBANDSEED_GETPOS_B(nextsegm);
+        spp_ptr++;
         nextsegm++;
-      } while (nextsegm < lm + mlen &&
-               nextsegm->aseqnum == currsegm->aseqnum &&
-               nextsegm->bseqnum == currsegm->bseqnum);
-      continue;
-    }
+      } while (nextsegm < mlistend &&
+               currsegm_aseqnum == nextsegm->aseqnum &&
+               currsegm_bseqnum == nextsegm->bseqnum);
 
-    /* calculate diagonal band scores */
-    do {
-      gt_assert(nextsegm->bpos <= bmaxlen && nextsegm->apos <= amaxlen);
-      diag = (amaxlen + (GtUword)nextsegm->bpos - (GtUword)nextsegm->apos)
-              >> arg->logdiagbandwidth;
-      if (nextsegm->bpos >= seedlength + lastp[diag]) {
-        /* no overlap: add seedlength */
-        score[diag + 1] += seedlength;
-      } else {
-        /* overlap: add difference below overlap */
-        gt_assert(lastp[diag] <= nextsegm->bpos); /* if fail: sort by bpos */
-        score[diag + 1] += nextsegm->bpos - lastp[diag];
+      if (esi != NULL)
+      {
+        gt_diagbandseed_plainsequence_next_segment(&esi->plainsequence_info,
+                                                   aseqranges,
+                                                   currsegm_aseqnum,
+                                                   bseqranges,
+                                                   currsegm_bseqnum);
       }
-      lastp[diag] = nextsegm->bpos;
-      nextsegm++;
-    } while (nextsegm < lm + mlen && nextsegm->aseqnum == currsegm->aseqnum &&
-             nextsegm->bseqnum == currsegm->bseqnum);
-
-    /* test for mincoverage and overlap to previous extension */
-    firstinrange = true;
-    for (idx = currsegm; idx < nextsegm; idx++) {
-      gt_assert(idx->apos <= amaxlen);
-      diag = (amaxlen + (GtUword)idx->bpos - (GtUword)idx->apos)
-             >> arg->logdiagbandwidth;
-      if ((GtUword)MAX(score[diag + 2], score[diag]) + (GtUword)score[diag + 1]
-          >= arg->mincoverage)
+
+      /* from here on we only need the apos and bpos values of the segment, as
+         the segment boundaries have been identified.
+         second scan: test for mincoverage and overlap to previous extension,
+         based on apos and bpos values. */
+      segment_length = (GtUword) (nextsegm - currsegm);
+      GT_DIAGBANDSEED_PROCESS_SEGMENT;
+    }
+  } else
+  {
+    if (seedpairlist->splt == GT_DIAGBANDSEED_SPLT_ULONG)
+    {
+      const GtUword *mlist = gt_seedpairlist_mlist_ulong(seedpairlist),
+                    *mlistend = mlist + mlistlen,
+                    *last_segment_start = mlistend - minsegmentlen,
+                    *nextsegm = mlist;
+     GtUword nextsegm_a_bseqnum, segment_length;
+
+      gt_assert(nextsegm <= last_segment_start);
+      /* iterate through segments of equal k-mers */
+      nextsegm_a_bseqnum
+        = gt_seedpairlist_a_bseqnum_ulong (seedpairlist,*mlist);
+      while (nextsegm <= last_segment_start)
       {
-        /* relative seed start position in A and B */
-        const GtUword bstart = (GtUword) (idx->bpos + 1 - seedlength);
-        const GtUword astart = (GtUword) (idx->apos + 1 - seedlength);
-#ifdef GT_DIAGBANDSEED_SEEDHISTOGRAM
-        seedcount++;
-#endif
+        GtSeedpairPositions *spp_ptr, *segment_positions;
+        GtUword currsegm_aseqnum, currsegm_bseqnum;
+        const GtUword *currsegm = nextsegm;
+        const GtUword currsegm_a_bseqnum = nextsegm_a_bseqnum;
+
+        /* if insuffienct number of kmers in segment: skip whole segment */
+        if (currsegm_a_bseqnum !=
+            gt_seedpairlist_a_bseqnum_ulong (seedpairlist,
+                                             currsegm[minsegmentlen-1]))
+        {
+          do
+          {
+            nextsegm++;
+          } while (nextsegm < mlistend &&
+                   currsegm_a_bseqnum ==
+                   (nextsegm_a_bseqnum =
+                   gt_seedpairlist_a_bseqnum_ulong (seedpairlist,*nextsegm)));
+          continue; /* process next segment */
+        }
 
-        if (firstinrange ||
-            !gt_querymatch_overlap(info_querymatch.querymatchspaceptr,
-                                   idx->apos, idx->bpos, arg->use_apos))
+        /* this segment begining with nextsegm pssibly has enough seeds */
+        currsegm_aseqnum = gt_seedpairlist_extract_ulong(seedpairlist,*currsegm,
+                                                         idx_aseqnum) +
+                           seedpairlist->aseqrange_start;
+        currsegm_bseqnum = gt_seedpairlist_extract_ulong(seedpairlist,*currsegm,
+                                                         idx_bseqnum) +
+                           seedpairlist->bseqrange_start;
+        spp_ptr = segment_positions = (GtSeedpairPositions *) currsegm;
+        do
         {
-          /* extend seed */
-          const GtQuerymatch *querymatch = NULL;
-
-          if (aencseq == bencseq) {
-            querymatch = extend_selfmatch_relative_function(&info_querymatch,
-                                                            aencseq,
-                                                            idx->aseqnum,
-                                                            astart,
-                                                            idx->bseqnum,
-                                                            bstart,
-                                                            seedlength,
-                                                            query_readmode);
-          } else {
-            querymatch = extend_querymatch_relative_function(&info_querymatch,
-                                                             aencseq,
-                                                             idx->aseqnum,
-                                                             astart,
-                                                             bencseq,
-                                                             idx->bseqnum,
-                                                             bstart,
-                                                             seedlength,
-                                                             query_readmode);
+          GtUword apos = gt_seedpairlist_extract_ulong(seedpairlist,*nextsegm,
+                                                       idx_apos);
+
+          spp_ptr->bpos
+            = gt_seedpairlist_extract_ulong(seedpairlist,*nextsegm,idx_bpos);
+          spp_ptr->apos = apos;
+          if (!seedpairlist->maxmat_compute)
+          {
+            gt_diagband_struct_single_update(diagband_struct,
+                                             spp_ptr->apos,
+                                             spp_ptr->bpos,
+                                             (GtDiagbandseedPosition)
+                                                 seedlength);
           }
-          count_extensions++;
-          if (querymatch != NULL) {
-            firstinrange = false;
-            /* show extension results */
-            if (gt_querymatch_check_final(querymatch, arg->errorpercentage,
-                                          arg->userdefinedleastlength))
+          spp_ptr++;
+          nextsegm++;
+        } while (nextsegm < mlistend &&
+                 currsegm_a_bseqnum ==
+                 (nextsegm_a_bseqnum =
+                 gt_seedpairlist_a_bseqnum_ulong (seedpairlist,*nextsegm)));
+
+        if (esi != NULL)
+        {
+          gt_diagbandseed_plainsequence_next_segment(&esi->plainsequence_info,
+                                                     aseqranges,
+                                                     currsegm_aseqnum,
+                                                     bseqranges,
+                                                     currsegm_bseqnum);
+        }
+
+        /* from here on we only need the apos and bpos values of the segment, as
+           the segment boundaries have been identified.
+           second scan: test for mincoverage and overlap to previous extension,
+           based on apos and bpos values. */
+        segment_length = (GtUword) (nextsegm - currsegm);
+        GT_DIAGBANDSEED_PROCESS_SEGMENT;
+      }
+    } else
+    {
+      GtDiagbandseedSeedPair nextsegment;
+      const GtUword minsegmentlen_offset = (minsegmentlen - 1) *
+                                           seedpairlist->bytes_seedpair,
+                    last_segment_offset = (mlistlen - minsegmentlen) *
+                                          seedpairlist->bytes_seedpair,
+                    mlistlen_offset = mlistlen * seedpairlist->bytes_seedpair;
+      GtUword nextsegment_offset = 0, segment_length;
+
+      gt_assert(seedpairlist->splt == GT_DIAGBANDSEED_SPLT_BYTESTRING);
+      /* iterate through segments of equal k-mers, segment has length > 0 */
+      gt_diagbandseed_decode_seedpair(&nextsegment,seedpairlist,0);
+      while (nextsegment_offset <= last_segment_offset)
+      {
+        GtSeedpairPositions *spp_ptr, *segment_positions;
+        GtDiagbandseedSeedPair endminsegment;
+        GtDiagbandseedSeqnum currsegm_aseqnum = nextsegment.aseqnum;
+        GtDiagbandseedSeqnum currsegm_bseqnum = nextsegment.bseqnum;
+
+        gt_diagbandseed_decode_seedpair(&endminsegment,seedpairlist,
+                                        nextsegment_offset +
+                                        minsegmentlen_offset);
+        if (currsegm_aseqnum != endminsegment.aseqnum ||
+            currsegm_bseqnum != endminsegment.bseqnum)
+        {
+          /* insuffienct number of kmers in segment: skip whole segment */
+          while (true)
+          {
+            nextsegment_offset += seedpairlist->bytes_seedpair;
+            if (nextsegment_offset >= mlistlen_offset)
+            {
+              break;
+            }
+            gt_diagbandseed_decode_seedpair(&nextsegment,seedpairlist,
+                                            nextsegment_offset);
+            if (currsegm_aseqnum != nextsegment.aseqnum ||
+                currsegm_bseqnum != nextsegment.bseqnum)
             {
-              gt_querymatch_prettyprint(querymatch);
+              break;
             }
           }
+          continue; /* process next segment */
         }
-      }
-    }
 
-    /* reset diagonal band scores */
-    for (idx = currsegm; idx < nextsegm; idx++) {
-      diag = (amaxlen + (GtUword)idx->bpos - (GtUword)idx->apos)
-             >> arg->logdiagbandwidth;
-      score[diag + 1] = 0;
-      lastp[diag] = 0;
+        spp_ptr = segment_positions
+                = (GtSeedpairPositions *)
+                  (gt_seedpairlist_mlist_bytestring(seedpairlist) +
+                   nextsegment_offset);
+        do
+        {
+          if (!seedpairlist->maxmat_compute)
+          {
+            gt_diagband_struct_single_update(
+                                         diagband_struct,
+                                         GT_DIAGBANDSEED_GETPOS_A(&nextsegment),
+                                         GT_DIAGBANDSEED_GETPOS_B(&nextsegment),
+                                         (GtDiagbandseedPosition) seedlength);
+          }
+          spp_ptr->apos = GT_DIAGBANDSEED_GETPOS_A(&nextsegment);
+          spp_ptr->bpos = GT_DIAGBANDSEED_GETPOS_B(&nextsegment);
+          spp_ptr++;
+          nextsegment_offset += seedpairlist->bytes_seedpair;
+          if (nextsegment_offset >= mlistlen_offset)
+          {
+            break;
+          }
+          gt_diagbandseed_decode_seedpair(&nextsegment,seedpairlist,
+                                          nextsegment_offset);
+        } while (currsegm_aseqnum == nextsegment.aseqnum &&
+                 currsegm_bseqnum == nextsegment.bseqnum);
+
+        /* from here on we only need the apos and bpos values of the segment, as
+           the segment boundaries have been identified.
+           second scan: test for mincoverage and overlap to previous extension,
+           based on apos and bpos values. */
+        currsegm_aseqnum += seedpairlist->aseqrange_start;
+        currsegm_bseqnum += seedpairlist->bseqrange_start;
+        if (esi != NULL)
+        {
+          gt_diagbandseed_plainsequence_next_segment(&esi->plainsequence_info,
+                                                     aseqranges,
+                                                     currsegm_aseqnum,
+                                                     bseqranges,
+                                                     currsegm_bseqnum);
+        }
+        segment_length = (GtUword) (spp_ptr - segment_positions);
+        GT_DIAGBANDSEED_PROCESS_SEGMENT;
+      }
     }
-
-#ifdef GT_DIAGBANDSEED_SEEDHISTOGRAM
-    seedhistogram[MIN(GT_DIAGBANDSEED_SEEDHISTOGRAM - 1, seedcount)]++;
-    seedcount = 0;
-#endif
   }
-  gt_querymatch_delete(info_querymatch.querymatchspaceptr);
-  gt_free(score);
-  gt_free(lastp);
-
-#ifdef GT_DIAGBANDSEED_SEEDHISTOGRAM
-  fprintf(stream, "# seed histogram:");
-  for (seedcount = 0; seedcount < GT_DIAGBANDSEED_SEEDHISTOGRAM; seedcount++) {
-    if (seedcount % 10 == 0) {
-      fprintf(stream, "\n#\t");
+  if (diagband_struct != NULL)
+  {
+    if (verbose)
+    {
+      gt_diagband_struct_reset_counts(diagband_struct,stream);
     }
-    fprintf(stream, GT_WU "\t", seedhistogram[seedcount]);
+    gt_diagband_struct_delete(diagband_struct);
   }
-  fprintf(stream, "\n");
-  gt_free(seedhistogram);
+  if (verbose)
+  {
+    if (dbs_state != NULL)
+    {
+      const GtUword numseqpairs = (seedpairlist->aseqrange_end -
+                                   seedpairlist->aseqrange_start + 1) *
+                                  (seedpairlist->bseqrange_end -
+                                   seedpairlist->bseqrange_start + 1);
+      gt_diagbandseed_dbs_state_update(dbs_state,mlistlen,numseqpairs);
+#ifndef _WIN32
+      dbs_state->total_process_seeds_usec
+        += gt_timer_elapsed_usec(timer);
 #endif
-  if (verbose) {
-    fprintf(stream, "# ...finished " GT_WU " seed pair extension%s ",
-            count_extensions, count_extensions > 1 ? "s" : "");
-    gt_timer_show_formatted(timer, "in " GT_WD ".%06ld seconds.\n", stream);
+    }
     gt_timer_delete(timer);
   }
+  gt_diagbandseed_extendSI_delete(esi);
+  if (diagband_statistics != NULL)
+  {
+    gt_diagband_statistics_display(diagband_statistics);
+    gt_diagband_statistics_delete(diagband_statistics);
+  }
 }
 
 /* * * * * ALGORITHM STEPS * * * * */
 
 static char *gt_diagbandseed_kmer_filename(const GtEncseq *encseq,
+                                           unsigned int seedweight,
                                            unsigned int seedlength,
                                            bool forward,
                                            unsigned int numparts,
@@ -1195,12 +3493,17 @@ static char *gt_diagbandseed_kmer_filename(const GtEncseq *encseq,
 {
   char *filename;
   GtStr *str = gt_str_new_cstr(gt_encseq_indexname(encseq));
+  if (seedweight < seedlength)
+  {
+    gt_str_append_char(str, '.');
+    gt_str_append_uint(str, seedweight);
+  }
   gt_str_append_char(str, '.');
   gt_str_append_uint(str, seedlength);
   gt_str_append_char(str, forward ? 'f' : 'r');
   gt_str_append_uint(str, numparts);
   gt_str_append_char(str, '-');
-  gt_str_append_uint(str, partindex);
+  gt_str_append_uint(str, partindex + 1);
   gt_str_append_cstr(str, ".kmer");
   filename = gt_cstr_dup(gt_str_get(str));
   gt_str_delete(str);
@@ -1211,48 +3514,78 @@ static char *gt_diagbandseed_kmer_filename(const GtEncseq *encseq,
 static int gt_diagbandseed_algorithm(const GtDiagbandseedInfo *arg,
                                      const GtArrayGtDiagbandseedKmerPos *alist,
                                      FILE *stream,
-                                     const GtRange *aseqrange,
-                                     const GtRange *bseqrange,
-                                     GtUwordPair partindex,
+                                     const GtEncseq *aencseq,
+                                     const GtSequencePartsInfo *aseqranges,
+                                     GtUword aidx,
+                                     const GtEncseq *bencseq,
+                                     const GtSequencePartsInfo *bseqranges,
+                                     GtUword bidx,
+                                     const GtKarlinAltschulStat
+                                       *karlin_altschul_stat,
+                                     GtDiagbandseedState
+                                       *dbs_state,
+                                     GtFtTrimstat *trimstat,
                                      GtError *err)
 {
   GtArrayGtDiagbandseedKmerPos blist;
-  GtArrayGtDiagbandseedSeedPair mlist, mrevlist;
+  GtSeedpairlist *seedpairlist = NULL;
   GtDiagbandseedKmerIterator *aiter = NULL, *biter = NULL;
-  GtUword alen = 0, blen = 0, mlen = 0, mrevlen = 0, maxfreq, len_used;
+  GtUword alen = 0, blen = 0, mlistlen = 0, maxfreq, len_used;
   GtRange seedpairdistance = *arg->seedpairdistance;
   char *blist_file = NULL;
   int had_err = 0;
   bool alist_blist_id, both_strands, selfcomp, equalranges, use_blist = false;
-  GtDiagbandseedExtendParams *extp = NULL;
-  Polishing_info *pol_info = NULL;
+  size_t sizeofunit;
+  const GtDiagbandseedExtendParams *extp = NULL;
+  GtFtPolishing_info *pol_info = NULL;
   void *processinfo = NULL;
   GtQuerymatchoutoptions *querymoutopt = NULL;
-
-  gt_assert(arg != NULL && aseqrange != NULL && bseqrange != NULL);
-
+  GtSegmentRejectInfo *segment_reject_info = NULL;
+  GtSegmentRejectFunc segment_reject_func = NULL;
+  const GtUword anumseqranges = gt_sequence_parts_info_number(aseqranges),
+                bnumseqranges = gt_sequence_parts_info_number(bseqranges),
+                amaxlen = gt_encseq_max_seq_length(aencseq);
+  GtArrayGtDiagbandseedMaximalmatch *memstore = NULL;
+  GtChain2Dimmode *chainmode = NULL;
+
+  gt_assert(arg != NULL);
   maxfreq = arg->maxfreq;
   selfcomp = (arg->bencseq == arg->aencseq &&
-              gt_range_overlap(aseqrange, bseqrange))
+              gt_sequence_parts_info_overlap(aseqranges,aidx,bseqranges,bidx))
               ? true : false;
-  equalranges = gt_range_compare(aseqrange, bseqrange) == 0 ? true : false;
-  alist_blist_id = selfcomp && !arg->nofwd && equalranges ? true : false;
+  equalranges = gt_sequence_parts_info_equal(aseqranges,aidx,bseqranges,bidx);
+  alist_blist_id = (selfcomp && !arg->nofwd && equalranges) ? true : false;
   both_strands = (arg->norev || arg->nofwd) ? false : true;
   if (!alist_blist_id) {
     seedpairdistance.start = 0UL;
   }
-
-  if (arg->verbose && (arg->anumseqranges > 1 || arg->bnumseqranges > 1)) {
-    fprintf(stream, "# Process part " GT_WU " vs part " GT_WU "\n",
-            partindex.a + 1, partindex.b + 1);
+  if (arg->verbose && (anumseqranges > 1 || bnumseqranges > 1))
+  {
+    fprintf(stream, "# process part " GT_WU " (sequences " GT_WU "..." GT_WU
+                    ") vs part " GT_WU " (sequences " GT_WU "..." GT_WU ")\n",
+            aidx + 1,
+            gt_sequence_parts_info_start_get(aseqranges,aidx),
+            gt_sequence_parts_info_end_get(aseqranges,aidx),
+            bidx + 1,
+            gt_sequence_parts_info_start_get(bseqranges,bidx),
+            gt_sequence_parts_info_end_get(bseqranges,bidx));
+  }
+  extp = arg->extp;
+  if (gt_querymatch_fstperquery_display(extp->out_display_flag))
+  {
+    segment_reject_func = gt_segment_reject_check;
+    segment_reject_info
+      = gt_segment_reject_info_new(
+               gt_sequence_parts_info_start_get(bseqranges,bidx),
+               gt_sequence_parts_info_numofsequences_get(bseqranges,bidx));
   }
 
   /* Create k-mer iterator for alist */
   if (alist == NULL) {
     char *alist_file;
-    alist_file = gt_diagbandseed_kmer_filename(arg->aencseq, arg->seedlength,
-                                               true, arg->anumseqranges,
-                                               partindex.a);
+    alist_file = gt_diagbandseed_kmer_filename(arg->aencseq, arg->seedweight,
+                                               arg->seedlength,
+                                               true, anumseqranges,aidx);
     FILE *alist_fp = gt_fa_fopen(alist_file, "rb", err);
     if (alist_fp == NULL) {
       return -1;
@@ -1272,9 +3605,9 @@ static int gt_diagbandseed_algorithm(const GtDiagbandseedInfo *arg,
     biter = gt_diagbandseed_kmer_iter_new_list(alist);
     blen = alen;
   } else if (arg->use_kmerfile) {
-    blist_file = gt_diagbandseed_kmer_filename(arg->bencseq, arg->seedlength,
-                                               !arg->nofwd, arg->bnumseqranges,
-                                               partindex.b);
+    blist_file = gt_diagbandseed_kmer_filename(arg->bencseq, arg->seedweight,
+                                               arg->seedlength,
+                                               !arg->nofwd, bnumseqranges,bidx);
     if (!gt_file_exists(blist_file)) {
       gt_free(blist_file);
       blist_file = NULL;
@@ -1293,17 +3626,20 @@ static int gt_diagbandseed_algorithm(const GtDiagbandseedInfo *arg,
     gt_free(blist_file);
     blist_file = NULL;
   } else if (!alist_blist_id) {
-    const GtReadmode readmode = arg->nofwd ? GT_READMODE_COMPL
-                                           : GT_READMODE_FORWARD;
+    const GtReadmode readmode_kmerscan = arg->nofwd ? GT_READMODE_COMPL
+                                                    : GT_READMODE_FORWARD;
     const GtUword known_size = (selfcomp && equalranges) ? alen : 0;
-    blist = gt_diagbandseed_get_kmers(arg->bencseq,
-                                      arg->seedlength,
-                                      readmode,
-                                      bseqrange,
-                                      arg->debug_kmer,
-                                      arg->verbose,
-                                      known_size,
-                                      stream);
+    blist = gt_diagbandseed_get_kmers(
+                              arg->bencseq,
+                              arg->seedweight,
+                              arg->seedlength,
+                              readmode_kmerscan,
+                              gt_sequence_parts_info_start_get(bseqranges,bidx),
+                              gt_sequence_parts_info_end_get(bseqranges,bidx),
+                              arg->debug_kmer,
+                              arg->verbose,
+                              known_size,
+                              stream);
     blen = blist.nextfreeGtDiagbandseedKmerPos;
     biter = gt_diagbandseed_kmer_iter_new_list(&blist);
     use_blist = true;
@@ -1313,236 +3649,323 @@ static int gt_diagbandseed_algorithm(const GtDiagbandseedInfo *arg,
   if (!selfcomp || !arg->norev) {
     len_used += blen;
   }
-  had_err = gt_diagbandseed_get_mlen_maxfreq(&mlen,
-                                             &maxfreq,
-                                             aiter,
-                                             biter,
-                                             arg->memlimit,
-                                             &seedpairdistance,
-                                             len_used,
-                                             selfcomp,
-                                             alist_blist_id,
-                                             arg->verbose,
-                                             stream,
-                                             err);
-
+  seedpairlist = gt_seedpairlist_new(arg->splt,aseqranges,aidx,bseqranges,bidx,
+                                     arg->maxmat,amaxlen);
+  sizeofunit = gt_seedpairlist_sizeofunit(seedpairlist);
+  if (seedpairlist->maxmat_compute && !seedpairlist->maxmat_show)
+  {
+    memstore = gt_malloc(sizeof *memstore);
+    GT_INITARRAY(memstore,GtDiagbandseedMaximalmatch);
+    if (gt_str_length(arg->chainarguments) > 0)
+    {
+      chainmode = gt_chain_chainmode_new(GT_UWORD_MAX,
+                                         false,
+                                         NULL,
+                                         true,
+                                         gt_str_get(arg->chainarguments),
+                                         err);
+      if (chainmode == NULL)
+      {
+        had_err = -1;
+      }
+    }
+  }
+  if (!had_err && !seedpairlist->maxmat_show && arg->memlimit < GT_UWORD_MAX)
+  {
+    had_err = gt_diagbandseed_get_mlistlen_maxfreq(&mlistlen,
+                                                   &maxfreq,
+                                                   aiter,
+                                                   biter,
+                                                   arg->memlimit,
+                                                   sizeofunit,
+                                                   &seedpairdistance,
+                                                   len_used,
+                                                   selfcomp,
+                                                   alist_blist_id,
+                                                   arg->verbose,
+                                                   stream,
+                                                   err);
+  }
   if (!had_err) {
     gt_diagbandseed_kmer_iter_reset(aiter);
     gt_diagbandseed_kmer_iter_reset(biter);
-    mlist = gt_diagbandseed_get_seedpairs(aiter,
-                                          biter,
-                                          maxfreq,
-                                          mlen,
-                                          &seedpairdistance,
-                                          selfcomp,
-                                          arg->debug_seedpair,
-                                          arg->verbose,
-                                          stream);
-    mlen = mlist.nextfreeGtDiagbandseedSeedPair;
-
-    if (arg->verify && mlen > 0) {
-      had_err = gt_diagbandseed_verify(arg->aencseq,
+    if (arg->verbose)
+    {
+      gt_seedpairlist_show_bits(stream,seedpairlist);
+    }
+    gt_diagbandseed_get_seedpairs(seedpairlist,
+                                  aiter,
+                                  biter,
+                                  maxfreq,
+                                  mlistlen,
+                                  &seedpairdistance,
+                                  selfcomp,
+                                  arg->debug_seedpair,
+                                  arg->verbose,
+                                  stream);
+    mlistlen = gt_seedpairlist_length(seedpairlist);
+    if (arg->verify && mlistlen > 0) {
+      had_err = gt_diagbandseed_verify(seedpairlist,
+                                       arg->aencseq,
                                        arg->bencseq,
-                                       &mlist,
                                        arg->seedlength,
                                        arg->nofwd,
                                        arg->verbose,
                                        stream,
                                        err);
       if (had_err) {
-        GT_FREEARRAY(&mlist, GtDiagbandseedSeedPair);
+        gt_seedpairlist_delete(seedpairlist);
+        seedpairlist = NULL;
       }
     }
+  } else
+  {
+    gt_seedpairlist_delete(seedpairlist);
+    seedpairlist = NULL;
   }
-
   if (use_blist) {
     GT_FREEARRAY(&blist, GtDiagbandseedKmerPos);
   }
   use_blist = false;
   gt_diagbandseed_kmer_iter_delete(biter);
-  if (had_err) {
-    gt_diagbandseed_kmer_iter_delete(aiter);
-    return had_err;
-  }
+  biter = NULL;
 
   /* Create extension info objects */
-  extp = arg->extp;
-  if (extp->extendgreedy) {
-    GtGreedyextendmatchinfo *grextinfo = NULL;
-    const double weak_errorperc = (double)(extp->weakends
-                                           ? MAX(extp->errorpercentage, 20)
-                                           : extp->errorpercentage);
-
-    pol_info = polishing_info_new_with_bias(weak_errorperc,
-                                            extp->matchscore_bias,
-                                            extp->history_size);
-    grextinfo = gt_greedy_extend_matchinfo_new(extp->errorpercentage,
-                                               extp->maxalignedlendifference,
-                                               extp->history_size,
-                                               extp->perc_mat_history,
-                                               extp->userdefinedleastlength,
-                                               extp->extend_char_access,
-                                               extp->sensitivity,
-                                               pol_info);
-    if (extp->benchmark) {
-      gt_greedy_extend_matchinfo_silent_set(grextinfo);
-    }
-    processinfo = (void *)grextinfo;
-  } else if (extp->extendxdrop) {
-    GtXdropmatchinfo *xdropinfo = NULL;
-    gt_assert(extp->extendgreedy == false);
-    xdropinfo = gt_xdrop_matchinfo_new(extp->userdefinedleastlength,
+  if (!had_err)
+  {
+    if (extp->extendgreedy) {
+      GtGreedyextendmatchinfo *grextinfo = NULL;
+      const double weak_errorperc = (double)(extp->weakends
+                                             ? MAX(extp->errorpercentage, 20)
+                                             : extp->errorpercentage);
+
+      pol_info = polishing_info_new_with_bias(weak_errorperc,
+                                              extp->matchscore_bias,
+                                              extp->history_size);
+      grextinfo = gt_greedy_extend_matchinfo_new(extp->maxalignedlendifference,
+                                                 extp->history_size,
+                                                 extp->perc_mat_history,
+                                                 extp->userdefinedleastlength,
+                                                 extp->errorpercentage,
+                                                 extp->evalue_threshold,
+                                                 extp->a_extend_char_access,
+                                                 extp->b_extend_char_access,
+                                                 extp->cam_generic,
+                                                 extp->sensitivity,
+                                                 pol_info);
+      if (trimstat != NULL)
+      {
+        gt_greedy_extend_matchinfo_trimstat_set(grextinfo,trimstat);
+      }
+      processinfo = (void *) grextinfo;
+    } else if (extp->extendxdrop) {
+      GtXdropmatchinfo *xdropinfo = NULL;
+      gt_assert(extp->extendgreedy == false);
+      xdropinfo = gt_xdrop_matchinfo_new(extp->userdefinedleastlength,
+                                         extp->errorpercentage,
+                                         extp->evalue_threshold,
+                                         extp->xdropbelowscore,
+                                         extp->sensitivity);
+      processinfo = (void *) xdropinfo;
+    }
+    if (extp->extendxdrop || extp->verify_alignment ||
+        gt_querymatch_alignment_display(extp->out_display_flag) ||
+        gt_querymatch_trace_display(extp->out_display_flag) ||
+        gt_querymatch_dtrace_display(extp->out_display_flag) ||
+        gt_querymatch_cigar_display(extp->out_display_flag) ||
+        gt_querymatch_cigarX_display(extp->out_display_flag))
+    {
+      querymoutopt = gt_querymatchoutoptions_new(extp->out_display_flag,
+                                                 NULL,
+                                                 NULL);
+      gt_assert(querymoutopt != NULL);
+      if (extp->extendxdrop || extp->extendgreedy) {
+        const GtUword sensitivity = extp->extendxdrop ? 100UL
+                                                      : extp->sensitivity;
+        gt_querymatchoutoptions_extend(querymoutopt,
                                        extp->errorpercentage,
-                                       extp->xdropbelowscore,
-                                       extp->sensitivity);
-    if (extp->benchmark) {
-      gt_xdrop_matchinfo_silent_set(xdropinfo);
-    }
-    processinfo = (void *)xdropinfo;
-  }
-  if (extp->extendxdrop || extp->alignmentwidth > 0) {
-    querymoutopt = gt_querymatchoutoptions_new(true,
-                                               false,
-                                               extp->alignmentwidth);
-    if (extp->extendxdrop || extp->extendgreedy) {
-      const GtUword sensitivity = extp->extendxdrop ? 100UL : extp->sensitivity;
-      gt_querymatchoutoptions_extend(querymoutopt,
-                                     extp->errorpercentage,
-                                     extp->maxalignedlendifference,
-                                     extp->history_size,
-                                     extp->perc_mat_history,
-                                     extp->extend_char_access,
-                                     extp->weakends,
-                                     sensitivity,
-                                     extp->matchscore_bias,
-                                     extp->always_polished_ends,
-                                     extp->display_flag);
-    }
-  }
-
-  /* process first mlist */
-  gt_diagbandseed_process_seeds(&mlist,
-                                arg->extp,
-                                processinfo,
-                                querymoutopt,
-                                arg->aencseq,
-                                arg->bencseq,
-                                arg->seedlength,
-                                arg->nofwd,
-                                arg->verbose,
-                                stream);
-  GT_FREEARRAY(&mlist, GtDiagbandseedSeedPair);
-
-  /* Third (reverse) k-mer list */
-  if (both_strands) {
-    GtArrayGtDiagbandseedKmerPos clist;
-    gt_assert(blist_file == NULL && !use_blist);
-    seedpairdistance.start = 0UL;
-    if (arg->use_kmerfile) {
-      blist_file = gt_diagbandseed_kmer_filename(arg->bencseq, arg->seedlength,
-                                                 false, arg->bnumseqranges,
-                                                 partindex.b);
-      if (!gt_file_exists(blist_file)) {
-        gt_free(blist_file);
-        blist_file = NULL;
+                                       extp->evalue_threshold,
+                                       extp->maxalignedlendifference,
+                                       extp->history_size,
+                                       extp->perc_mat_history,
+                                       extp->a_extend_char_access,
+                                       extp->b_extend_char_access,
+                                       extp->cam_generic,
+                                       extp->weakends,
+                                       sensitivity,
+                                       extp->matchscore_bias,
+                                       extp->always_polished_ends,
+                                       extp->out_display_flag);
       }
     }
-    if (blist_file != NULL) {
-      FILE *blist_fp = gt_fa_fopen(blist_file, "rb", err);
-      if (blist_fp == NULL) {
-        had_err = -1;
+    /* process first mlist */
+    gt_assert(seedpairlist != NULL);
+    gt_diagbandseed_process_seeds(seedpairlist,
+                                  arg->extp,
+                                  processinfo,
+                                  querymoutopt,
+                                  aencseq,aseqranges,aidx,
+                                  bencseq,bseqranges,bidx,
+                                  karlin_altschul_stat,
+                                  memstore,
+                                  chainmode,
+                                  arg->seedlength,
+                                  arg->nofwd ? GT_READMODE_REVCOMPL
+                                             : GT_READMODE_FORWARD,
+                                  arg->verbose,
+                                  stream,
+                                  arg->diagband_statistics_arg,
+                                  dbs_state,
+                                  segment_reject_func,
+                                  segment_reject_info);
+    gt_seedpairlist_reset(seedpairlist);
+    gt_querymatchoutoptions_reset(querymoutopt);
+
+    /* Third (reverse) k-mer list */
+    if (both_strands) {
+      GtUword mrevlen = 0;
+      GtArrayGtDiagbandseedKmerPos clist;
+
+      gt_assert(blist_file == NULL && !use_blist);
+      seedpairdistance.start = 0UL;
+      if (arg->use_kmerfile) {
+        blist_file = gt_diagbandseed_kmer_filename(arg->bencseq,
+                                                   arg->seedweight,
+                                                   arg->seedlength,
+                                                   false, bnumseqranges,
+                                                   bidx);
+        if (!gt_file_exists(blist_file)) {
+          gt_free(blist_file);
+          blist_file = NULL;
+        }
+      }
+      if (blist_file != NULL) {
+        FILE *blist_fp = gt_fa_fopen(blist_file, "rb", err);
+        if (blist_fp == NULL) {
+          had_err = -1;
+        } else {
+          biter = gt_diagbandseed_kmer_iter_new_file(blist_fp);
+        }
+        gt_free(blist_file);
       } else {
-        biter = gt_diagbandseed_kmer_iter_new_file(blist_fp);
+        const GtReadmode readmode_kmerscan = GT_READMODE_COMPL;
+        clist = gt_diagbandseed_get_kmers(
+                              arg->bencseq,
+                              arg->seedweight,
+                              arg->seedlength,
+                              readmode_kmerscan,
+                              gt_sequence_parts_info_start_get(bseqranges,bidx),
+                              gt_sequence_parts_info_end_get(bseqranges,bidx),
+                              arg->debug_kmer,
+                              arg->verbose,
+                              blen,
+                              stream);
+        biter = gt_diagbandseed_kmer_iter_new_list(&clist);
+        use_blist = true;
       }
-      gt_free(blist_file);
-    } else {
-      clist = gt_diagbandseed_get_kmers(arg->bencseq,
-                                        arg->seedlength,
-                                        GT_READMODE_COMPL,
-                                        bseqrange,
-                                        arg->debug_kmer,
-                                        arg->verbose,
-                                        blen,
-                                        stream);
-      biter = gt_diagbandseed_kmer_iter_new_list(&clist);
-      use_blist = true;
-    }
 
-    if (!had_err) {
-      gt_diagbandseed_kmer_iter_reset(aiter);
-      had_err = gt_diagbandseed_get_mlen_maxfreq(&mrevlen,
-                                                 &maxfreq,
-                                                 aiter,
-                                                 biter,
-                                                 arg->memlimit,
-                                                 &seedpairdistance,
-                                                 len_used,
-                                                 selfcomp,
-                                                 alist_blist_id,
-                                                 arg->verbose,
-                                                 stream,
-                                                 err);
-    }
+      if (!had_err) {
+        gt_diagbandseed_kmer_iter_reset(aiter);
+        if (!seedpairlist->maxmat_show && arg->memlimit < GT_UWORD_MAX)
+        {
+          had_err = gt_diagbandseed_get_mlistlen_maxfreq(&mrevlen,
+                                                         &maxfreq,
+                                                         aiter,
+                                                         biter,
+                                                         arg->memlimit,
+                                                         sizeofunit,
+                                                         &seedpairdistance,
+                                                         len_used,
+                                                         selfcomp,
+                                                         alist_blist_id,
+                                                         arg->verbose,
+                                                         stream,
+                                                         err);
+        }
+      }
 
-    if (!had_err) {
-      gt_diagbandseed_kmer_iter_reset(aiter);
-      gt_diagbandseed_kmer_iter_reset(biter);
-      mrevlist = gt_diagbandseed_get_seedpairs(aiter,
-                                               biter,
-                                               maxfreq,
-                                               mrevlen,
-                                               &seedpairdistance,
-                                               selfcomp,
-                                               arg->debug_seedpair,
-                                               arg->verbose,
-                                               stream);
-      mrevlen = mrevlist.nextfreeGtDiagbandseedSeedPair;
-
-      if (arg->verify && mrevlen > 0) {
-        had_err = gt_diagbandseed_verify(arg->aencseq,
-                                         arg->bencseq,
-                                         &mrevlist,
-                                         arg->seedlength,
-                                         true,
-                                         arg->verbose,
-                                         stream,
-                                         err);
-        if (had_err) {
-          GT_FREEARRAY(&mlist, GtDiagbandseedSeedPair);
+      if (!had_err) {
+        gt_diagbandseed_kmer_iter_reset(aiter);
+        gt_diagbandseed_kmer_iter_reset(biter);
+        gt_diagbandseed_get_seedpairs(seedpairlist,
+                                      aiter,
+                                      biter,
+                                      maxfreq,
+                                      mrevlen,
+                                      &seedpairdistance,
+                                      selfcomp,
+                                      arg->debug_seedpair,
+                                      arg->verbose,
+                                      stream);
+        mrevlen = gt_seedpairlist_length(seedpairlist);
+        if (arg->verify && mrevlen > 0) {
+          had_err = gt_diagbandseed_verify(seedpairlist,
+                                           arg->aencseq,
+                                           arg->bencseq,
+                                           arg->seedlength,
+                                           true,
+                                           arg->verbose,
+                                           stream,
+                                           err);
+          if (had_err) {
+            gt_seedpairlist_delete(seedpairlist);
+          }
         }
       }
+      if (use_blist) {
+        GT_FREEARRAY(&clist, GtDiagbandseedKmerPos);
+      }
+      gt_diagbandseed_kmer_iter_delete(biter);
     }
-    if (use_blist) {
-      GT_FREEARRAY(&clist, GtDiagbandseedKmerPos);
-    }
-    gt_diagbandseed_kmer_iter_delete(biter);
   }
   gt_diagbandseed_kmer_iter_delete(aiter);
 
   /* Process second (reverse) mlist */
   if (!had_err && both_strands) {
-    gt_diagbandseed_process_seeds(&mrevlist,
+    gt_diagbandseed_process_seeds(seedpairlist,
                                   arg->extp,
                                   processinfo,
                                   querymoutopt,
-                                  arg->aencseq,
-                                  arg->bencseq,
+                                  aencseq,aseqranges,aidx,
+                                  bencseq,bseqranges,bidx,
+                                  karlin_altschul_stat,
+                                  memstore,
+                                  chainmode,
                                   arg->seedlength,
-                                  true,
+                                  GT_READMODE_REVCOMPL,
                                   arg->verbose,
-                                  stream);
-    GT_FREEARRAY(&mrevlist, GtDiagbandseedSeedPair);
+                                  stream,
+                                  arg->diagband_statistics_arg,
+                                  dbs_state,
+                                  segment_reject_func,
+                                  segment_reject_info);
   }
-
   /* Clean up */
-  if (extp->extendgreedy) {
+  gt_seedpairlist_delete(seedpairlist);
+  if (memstore != NULL)
+  {
+    GT_FREEARRAY(memstore,GtDiagbandseedMaximalmatch);
+    if (chainmode != NULL)
+    {
+      gt_chain_chainmode_delete(chainmode);
+    }
+    gt_free(memstore);
+  }
+  if (extp->extendgreedy)
+  {
     polishing_info_delete(pol_info);
-    gt_greedy_extend_matchinfo_delete((GtGreedyextendmatchinfo *)processinfo);
-  } else if (extp->extendxdrop) {
-    gt_xdrop_matchinfo_delete((GtXdropmatchinfo *)processinfo);
+    gt_greedy_extend_matchinfo_delete((GtGreedyextendmatchinfo *) processinfo);
+  } else
+  {
+    if (extp->extendxdrop)
+    {
+      gt_xdrop_matchinfo_delete((GtXdropmatchinfo *) processinfo);
+    }
   }
-  if (extp->extendxdrop || extp->alignmentwidth > 0) {
-    gt_querymatchoutoptions_delete(querymoutopt);
+  gt_querymatchoutoptions_delete(querymoutopt);
+  if (segment_reject_info != NULL)
+  {
+    gt_segment_reject_info_delete(segment_reject_info);
   }
   return had_err;
 }
@@ -1552,20 +3975,26 @@ typedef struct{
   const GtDiagbandseedInfo *arg;
   const GtArrayGtDiagbandseedKmerPos *alist;
   FILE *stream;
-  const GtRange *aseqranges;
-  const GtRange *bseqranges;
+  const GtEncseq *aencseq, *bencseq;
+  const GtSequencePartsInfo *aseqranges,
+                            *bseqranges;
+  GtSegmentRejectFunc segment_reject_func;
   GtArray *combinations;
   int had_err;
   GtError *err;
-}GtDiagbandseedThreadInfo;
+  const GtKarlinAltschulStat *karlin_altschul_stat;
+} GtDiagbandseedThreadInfo;
 
-static
-void gt_diagbandseed_thread_info_set(GtDiagbandseedThreadInfo *ti,
+static void gt_diagbandseed_thread_info_set(GtDiagbandseedThreadInfo *ti,
                                      const GtDiagbandseedInfo *arg,
                                      const GtArrayGtDiagbandseedKmerPos *alist,
                                      FILE *stream,
-                                     const GtRange *aseqranges,
-                                     const GtRange *bseqranges,
+                                     const GtEncseq *aencseq,
+                                     const GtSequencePartsInfo *aseqranges,
+                                     const GtEncseq *bencseq,
+                                     const GtSequencePartsInfo *bseqranges,
+                                     const GtKarlinAltschulStat
+                                       *karlin_altschul_stat,
                                      GtArray *combinations,
                                      GtError *err)
 {
@@ -1573,8 +4002,11 @@ void gt_diagbandseed_thread_info_set(GtDiagbandseedThreadInfo *ti,
   ti->arg = arg;
   ti->alist = alist;
   ti->stream = stream;
+  ti->aencseq = aencseq;
   ti->aseqranges = aseqranges;
+  ti->bencseq = bencseq;
   ti->bseqranges = bseqranges;
+  ti->karlin_altschul_stat = karlin_altschul_stat;
   ti->combinations = gt_array_clone(combinations);
   ti->had_err = 0;
   ti->err = err;
@@ -1583,18 +4015,25 @@ void gt_diagbandseed_thread_info_set(GtDiagbandseedThreadInfo *ti,
 static void *gt_diagbandseed_thread_algorithm(void *thread_info)
 {
   GtDiagbandseedThreadInfo *info = (GtDiagbandseedThreadInfo *)thread_info;
-  if (gt_array_size(info->combinations) != 0) {
-    const GtUwordPair *last = gt_array_get_last(info->combinations);
-    GtUwordPair *comb;
+  if (gt_array_size(info->combinations) > 0) {
+    const GtUwordPair *last = gt_array_get_last(info->combinations),
+                      *comb;
 
     for (comb = gt_array_get_first(info->combinations); comb <= last; comb++) {
-      info->had_err = gt_diagbandseed_algorithm(info->arg,
-                                                info->alist,
-                                                info->stream,
-                                                info->aseqranges + comb->a,
-                                                info->bseqranges + comb->b,
-                                                *comb,
-                                                info->err);
+      info->had_err = gt_diagbandseed_algorithm(
+                           info->arg,
+                           info->alist,
+                           info->stream,
+                           info->aencseq,
+                           info->aseqranges,
+                           comb->a,
+                           info->bencseq,
+                           info->bseqranges,
+                           comb->b,
+                           info->karlin_altschul_stat,
+                           NULL,
+                           NULL,
+                           info->err);
       if (info->had_err) break;
     }
   }
@@ -1605,22 +4044,28 @@ static void *gt_diagbandseed_thread_algorithm(void *thread_info)
 
 static int gt_diagbandseed_write_kmers(const GtArrayGtDiagbandseedKmerPos *list,
                                        const char *path,
+                                       unsigned int seedweight,
                                        unsigned int seedlength,
                                        bool verbose,
                                        GtError *err)
 {
   FILE *stream;
-  const size_t nmemb = (size_t)(list->nextfreeGtDiagbandseedKmerPos);
-  const void *contents = (const void *)(list->spaceGtDiagbandseedKmerPos);
 
   if (verbose) {
-    printf("# Write " GT_WU " %u-mers to file %s\n",
-           (GtUword)nmemb, seedlength, path);
+    printf("# write " GT_WU " %u-mers ",
+           list->nextfreeGtDiagbandseedKmerPos, seedlength);
+    if (seedweight < seedlength)
+    {
+      printf("with weight %u ",seedweight);
+    }
+    printf("to file %s\n",path);
   }
 
   stream = gt_fa_fopen(path, "wb", err);
   if (stream != NULL) {
-    gt_xfwrite(contents, sizeof (GtDiagbandseedKmerPos), nmemb, stream);
+    gt_xfwrite(list->spaceGtDiagbandseedKmerPos,
+               sizeof *list->spaceGtDiagbandseedKmerPos,
+               list->nextfreeGtDiagbandseedKmerPos, stream);
     gt_fa_fclose(stream);
     return 0;
   } else {
@@ -1628,28 +4073,96 @@ static int gt_diagbandseed_write_kmers(const GtArrayGtDiagbandseedKmerPos *list,
   }
 }
 
+static bool gt_create_or_update_file(const char *path,const GtEncseq *encseq)
+{
+  if (gt_file_exists(path))
+  {
+    GtStr *esqfile = gt_str_new_cstr(gt_encseq_indexname(encseq));
+
+    gt_str_append_cstr(esqfile, ".esq");
+    if (gt_file_is_newer(path,gt_str_get(esqfile)))
+    {
+      gt_str_delete(esqfile);
+      return false;
+    }
+    gt_str_delete(esqfile);
+  }
+  return true;
+}
+
+static void gt_diagbandseed_out_sequences_with_matches(
+                char seqtype,
+                const GtEncseq *encseq,
+                const GtBittab *used_sequences)
+{
+  GtUword seqnum, idx, numbits, max_seq_length;
+  char *buffer;
+
+  gt_assert(encseq != NULL && used_sequences != NULL);
+  numbits = gt_bittab_count_set_bits(used_sequences);
+  max_seq_length = gt_encseq_max_seq_length(encseq);
+  buffer = gt_malloc(sizeof *buffer * max_seq_length);
+  for (idx = 0, seqnum = gt_bittab_get_first_bitnum(used_sequences);
+       idx < numbits;
+       idx++, seqnum = gt_bittab_get_next_bitnum(used_sequences,seqnum))
+  {
+    const GtUword seqstartpos = gt_encseq_seqstartpos(encseq,seqnum),
+                  seqlength = gt_encseq_seqlength(encseq,seqnum);
+    gt_encseq_extract_decoded(encseq,buffer,seqstartpos,
+                              seqstartpos + seqlength - 1);
+    printf("S\t%c" GT_WU "\t" GT_WU "\t",seqtype,seqnum,seqlength);
+    fwrite(buffer,sizeof *buffer,seqlength,stdout);
+    fputc('\n',stdout);
+  }
+  gt_free(buffer);
+}
+
 /* Run the algorithm by iterating over all combinations of sequence ranges. */
 int gt_diagbandseed_run(const GtDiagbandseedInfo *arg,
-                        const GtRange *aseqranges,
-                        const GtRange *bseqranges,
+                        const GtSequencePartsInfo *aseqranges,
+                        const GtSequencePartsInfo *bseqranges,
+                        const GtUwordPair *pick,
                         GtError *err)
 {
   const bool self = arg->aencseq == arg->bencseq ? true : false;
+  const bool apick = pick->a != GT_UWORD_MAX ? true : false;
+  const bool bpick = pick->b != GT_UWORD_MAX ? true : false;
   GtArrayGtDiagbandseedKmerPos alist;
   GtUword aidx, bidx;
   int had_err = 0;
+  const GtUword anumseqranges = gt_sequence_parts_info_number(aseqranges),
+                bnumseqranges = gt_sequence_parts_info_number(bseqranges);
+  GtFtTrimstat *trimstat = NULL;
+  GtKarlinAltschulStat *karlin_altschul_stat = NULL;
+  GtDiagbandseedState *dbs_state = NULL;
 #ifdef GT_THREADS_ENABLED
   GtDiagbandseedThreadInfo *tinfo = gt_malloc(gt_jobs * sizeof *tinfo);
-  FILE **stream;
+  FILE **stream_tab;
   unsigned int tidx;
 
   /* create output streams */
-  stream = gt_malloc(gt_jobs * sizeof *stream);
-  stream[0] = stdout;
+  stream_tab = gt_malloc(gt_jobs * sizeof *stream_tab);
+  stream_tab[0] = stdout;
   for (tidx = 1; !had_err && tidx < gt_jobs; tidx++) {
-    stream[tidx] = gt_xtmpfp_generic(NULL, TMPFP_OPENBINARY | TMPFP_AUTOREMOVE);
+    stream_tab[tidx]
+      = gt_xtmpfp_generic(NULL, TMPFP_OPENBINARY | TMPFP_AUTOREMOVE);
   }
 #endif
+  if (arg->verbose || gt_querymatch_gfa2_display(arg->extp->out_display_flag))
+  {
+    GtUword a_num_sequences = 0, b_num_sequences = 0;
+    if (gt_querymatch_gfa2_display(arg->extp->out_display_flag))
+    {
+      a_num_sequences = gt_encseq_num_of_sequences(arg->aencseq);
+      if (!self)
+      {
+        b_num_sequences = gt_encseq_num_of_sequences(arg->bencseq);
+      }
+    }
+    dbs_state = gt_diagbandseed_dbs_state_new(arg->verbose,
+                                              a_num_sequences,
+                                              b_num_sequences);
+  }
 
   /* create all missing k-mer lists for bencseq */
   if (arg->use_kmerfile) {
@@ -1659,21 +4172,32 @@ int gt_diagbandseed_run(const GtDiagbandseedInfo *arg,
       if (fwd && (self || arg->nofwd)) continue;
       if (!fwd && arg->norev) continue;
 
-      for (bidx = 0; !had_err && bidx < arg->bnumseqranges; bidx++) {
-        char *path = gt_diagbandseed_kmer_filename(arg->bencseq,
-                                                   arg->seedlength,
-                                                   fwd,
-                                                   arg->bnumseqranges,
-                                                   bidx);
-        if (!gt_file_exists(path)) {
-          GtArrayGtDiagbandseedKmerPos blist;
-          GtReadmode readmode = fwd ? GT_READMODE_FORWARD : GT_READMODE_COMPL;
+      for (bidx = 0; !had_err && bidx < bnumseqranges; bidx++) {
+        char *path;
+        if (bpick && pick->b != bidx) continue;
 
-          blist = gt_diagbandseed_get_kmers(arg->bencseq, arg->seedlength,
-                                            readmode, bseqranges + bidx,
-                                            arg->debug_kmer, arg->verbose, 0,
-                                            stdout);
-          had_err = gt_diagbandseed_write_kmers(&blist, path, arg->seedlength,
+        path = gt_diagbandseed_kmer_filename(arg->bencseq, arg->seedweight,
+                                             arg->seedlength, fwd,
+                                             bnumseqranges, bidx);
+        if (gt_create_or_update_file(path,arg->bencseq))
+        {
+          GtArrayGtDiagbandseedKmerPos blist;
+          GtReadmode readmode_kmerscan = fwd ? GT_READMODE_FORWARD
+                                             : GT_READMODE_COMPL;
+
+          blist = gt_diagbandseed_get_kmers(
+                              arg->bencseq,
+                              arg->seedweight,
+                              arg->seedlength,
+                              readmode_kmerscan,
+                              gt_sequence_parts_info_start_get(bseqranges,bidx),
+                              gt_sequence_parts_info_end_get(bseqranges,bidx),
+                              arg->debug_kmer,
+                              arg->verbose,
+                              0,
+                              stdout);
+          had_err = gt_diagbandseed_write_kmers(&blist, path, arg->seedweight,
+                                                arg->seedlength,
                                                 arg->verbose, err);
           GT_FREEARRAY(&blist, GtDiagbandseedKmerPos);
         }
@@ -1681,28 +4205,62 @@ int gt_diagbandseed_run(const GtDiagbandseedInfo *arg,
       }
     }
   }
+  if (!had_err && arg->trimstat_on)
+  {
+    trimstat = gt_ft_trimstat_new();
+  }
+  if (gt_querymatch_evalue_display(arg->extp->out_display_flag) ||
+      gt_querymatch_bitscore_display(arg->extp->out_display_flag) ||
+     arg->extp->evalue_threshold != DBL_MAX)
+  {
+    GtTimer *timer = NULL;
 
-  for (aidx = 0; !had_err && aidx < arg->anumseqranges; aidx++) {
+    if (arg->verbose)
+    {
+      timer = gt_timer_new();
+      gt_timer_start(timer);
+    }
+    karlin_altschul_stat = gt_karlin_altschul_stat_new_gapped(
+                                      gt_encseq_total_length(arg->aencseq),
+                                      gt_encseq_num_of_sequences(arg->aencseq),
+                                      arg->bencseq);
+    if (arg->verbose)
+    {
+      gt_timer_show_formatted(timer,
+                              "# ... computed lookup table for E-values "
+                              GT_DIAGBANDSEED_FMT,stdout);
+      gt_timer_delete(timer);
+    }
+  }
+  for (aidx = 0; !had_err && aidx < anumseqranges; aidx++) {
     /* create alist here to prevent redundant calculations */
     char *path = NULL;
     bool use_alist = false;
+    if (apick && pick->a != aidx) continue;
+
     if (arg->use_kmerfile) {
-      path = gt_diagbandseed_kmer_filename(arg->aencseq, arg->seedlength, true,
-                                           arg->anumseqranges, aidx);
+      path = gt_diagbandseed_kmer_filename(arg->aencseq, arg->seedweight,
+                                           arg->seedlength, true,
+                                           anumseqranges, aidx);
     }
 
-    if (!arg->use_kmerfile || !gt_file_exists(path)) {
+    if (!arg->use_kmerfile || gt_create_or_update_file(path,arg->aencseq))
+    {
       use_alist = true;
-      alist = gt_diagbandseed_get_kmers(arg->aencseq,
-                                        arg->seedlength,
-                                        GT_READMODE_FORWARD,
-                                        aseqranges + aidx,
-                                        arg->debug_kmer,
-                                        arg->verbose,
-                                        0,
-                                        stdout);
+      alist = gt_diagbandseed_get_kmers(
+                              arg->aencseq,
+                              arg->seedweight,
+                              arg->seedlength,
+                              GT_READMODE_FORWARD,
+                              gt_sequence_parts_info_start_get(aseqranges,aidx),
+                              gt_sequence_parts_info_end_get(aseqranges,aidx),
+                              arg->debug_kmer,
+                              arg->verbose,
+                              0,
+                              stdout);
       if (arg->use_kmerfile) {
-        had_err = gt_diagbandseed_write_kmers(&alist, path, arg->seedlength,
+        had_err = gt_diagbandseed_write_kmers(&alist, path, arg->seedweight,
+                                              arg->seedlength,
                                               arg->verbose, err);
       }
     }
@@ -1714,35 +4272,40 @@ int gt_diagbandseed_run(const GtDiagbandseedInfo *arg,
 #ifdef GT_THREADS_ENABLED
     if (gt_jobs <= 1) {
 #endif
-      while (!had_err && bidx < arg->bnumseqranges) {
-        const GtUwordPair partindex = {aidx, bidx};
-        /* start algorithm with chosen sequence ranges */
-        had_err = gt_diagbandseed_algorithm(arg,
-                                            use_alist ? &alist : NULL,
-                                            stdout,
-                                            aseqranges + aidx,
-                                            bseqranges + bidx,
-                                            partindex,
-                                            err);
+      while (!had_err && bidx < bnumseqranges) {
+        if (!bpick || pick->b == bidx) {
+          /* start algorithm with chosen sequence ranges */
+          had_err = gt_diagbandseed_algorithm(
+                           arg,
+                           use_alist ? &alist : NULL,
+                           stdout,
+                           arg->aencseq,aseqranges,aidx,
+                           arg->bencseq,bseqranges,bidx,
+                           karlin_altschul_stat,
+                           dbs_state,
+                           trimstat,
+                           err);
+        }
         bidx++;
       }
 #ifdef GT_THREADS_ENABLED
     } else if (!arg->use_kmerfile) {
-      const GtUword num_runs = arg->bnumseqranges - bidx;
+      const GtUword num_runs = bpick ? 1 : bnumseqranges - bidx;
       const GtUword num_runs_per_thread = (num_runs - 1) / gt_jobs + 1;
       const GtUword num_threads = (num_runs - 1) / num_runs_per_thread + 1;
       GtArray *combinations = gt_array_new(sizeof (GtUwordPair));
       GtArray *threads = gt_array_new(sizeof (GtThread *));
 
-      gt_assert(bidx < arg->bnumseqranges);
+      gt_assert(bidx < bnumseqranges);
       gt_assert(num_threads <= gt_jobs);
+      gt_assert(!bpick || num_threads == 1);
 
       /* start additional threads */
       for (tidx = 1; !had_err && tidx < num_threads; tidx++) {
         GtThread *thread;
         GtUword idx;
         bidx += num_runs_per_thread;
-        const GtUword end = MIN(bidx + num_runs_per_thread, arg->bnumseqranges);
+        const GtUword end = MIN(bidx + num_runs_per_thread, bnumseqranges);
 
         for (idx = bidx; idx < end; idx++) {
           GtUwordPair comb = {aidx, idx};
@@ -1751,9 +4314,12 @@ int gt_diagbandseed_run(const GtDiagbandseedInfo *arg,
         gt_diagbandseed_thread_info_set(tinfo + tidx,
                                         arg,
                                         use_alist ? &alist : NULL,
-                                        stream[tidx],
+                                        stream_tab[tidx],
+                                        arg->aencseq,
                                         aseqranges,
+                                        arg->bencseq,
                                         bseqranges,
+                                        karlin_altschul_stat,
                                         combinations,
                                         err);
         gt_array_reset(combinations);
@@ -1767,18 +4333,25 @@ int gt_diagbandseed_run(const GtDiagbandseedInfo *arg,
 
       /* start main thread */
       if (!had_err) {
-        for (bidx = self ? aidx : 0;
-             bidx < MIN(bidx + num_runs_per_thread, arg->bnumseqranges);
-             bidx++) {
-          GtUwordPair comb = {aidx, bidx};
-          gt_array_add(combinations, comb);
+        GtUword idx;
+        bidx = self ? aidx : 0;
+        for (idx = bidx;
+             idx < MIN(bidx + num_runs_per_thread, bnumseqranges);
+             ++idx) {
+          if (!bpick || pick->b == idx) {
+            GtUwordPair comb = {aidx, idx};
+            gt_array_add(combinations, comb);
+          }
         }
         gt_diagbandseed_thread_info_set(tinfo,
                                         arg,
                                         use_alist ? &alist : NULL,
-                                        stream[0],
+                                        stream_tab[0],
+                                        arg->aencseq,
                                         aseqranges,
+                                        arg->bencseq,
                                         bseqranges,
+                                        karlin_altschul_stat,
                                         combinations,
                                         err);
         gt_diagbandseed_thread_algorithm(tinfo);
@@ -1811,10 +4384,13 @@ int gt_diagbandseed_run(const GtDiagbandseedInfo *arg,
     for (tidx = 0; tidx < gt_jobs; tidx++) {
       combinations[tidx] = gt_array_new(sizeof (GtUwordPair));
     }
-    for (aidx = 0; aidx < arg->anumseqranges; aidx++) {
-      for (bidx = self ? aidx : 0; bidx < arg->bnumseqranges; bidx++) {
-        GtUwordPair comb = {aidx, bidx};
-        gt_array_add(combinations[counter++ % gt_jobs], comb);
+    for (aidx = 0; aidx < anumseqranges; aidx++) {
+      if (apick && pick->a != aidx) continue;
+      for (bidx = self ? aidx : 0; bidx < bnumseqranges; bidx++) {
+        if (!bpick || pick->b == bidx) {
+          GtUwordPair comb = {aidx, bidx};
+          gt_array_add(combinations[counter++ % gt_jobs], comb);
+        }
       }
     }
 
@@ -1823,9 +4399,12 @@ int gt_diagbandseed_run(const GtDiagbandseedInfo *arg,
       gt_diagbandseed_thread_info_set(tinfo + tidx,
                                       arg,
                                       NULL,
-                                      stream[tidx],
+                                      stream_tab[tidx],
+                                      arg->aencseq,
                                       aseqranges,
+                                      arg->bencseq,
                                       bseqranges,
+                                      karlin_altschul_stat,
                                       combinations[tidx],
                                       err);
       if ((thread = gt_thread_new(gt_diagbandseed_thread_algorithm,
@@ -1840,9 +4419,12 @@ int gt_diagbandseed_run(const GtDiagbandseedInfo *arg,
       gt_diagbandseed_thread_info_set(tinfo,
                                       arg,
                                       NULL,
-                                      stream[0],
+                                      stream_tab[0],
+                                      arg->aencseq,
                                       aseqranges,
+                                      arg->bencseq,
                                       bseqranges,
+                                      karlin_altschul_stat,
                                       combinations[0],
                                       err);
       gt_diagbandseed_thread_algorithm(tinfo);
@@ -1868,15 +4450,47 @@ int gt_diagbandseed_run(const GtDiagbandseedInfo *arg,
 
   /* print the threads' output to stdout */
   for (tidx = 1; tidx < gt_jobs; tidx++) {
-    char cc;
-    rewind(stream[tidx]);
-    while ((cc = fgetc(stream[tidx])) != EOF) {
+    int cc;
+    rewind(stream_tab[tidx]);
+    while ((cc = fgetc(stream_tab[tidx])) != EOF) {
       putchar(cc);
     }
-    gt_fa_xfclose(stream[tidx]);
+    gt_fa_xfclose(stream_tab[tidx]);
   }
-  gt_free(stream);
+  gt_free(stream_tab);
 
 #endif
+  if (arg->verbose)
+  {
+    const bool maxmat_show = gt_diagbandseed_derive_maxmat_show(arg->maxmat);
+
+    gt_assert(dbs_state != NULL);
+    gt_diagbandseed_dbs_state_out(dbs_state,maxmat_show);
+#ifndef _WIN32
+    gt_diagbandseed_process_seeds_times(
+                 arg->extp->extendgreedy,
+                 maxmat_show,
+                 dbs_state->totalseeds,
+                 dbs_state->extended_seeds,
+                 dbs_state->total_process_seeds_usec,
+                 dbs_state->total_extension_time_usec);
+#endif
+  }
+  if (dbs_state != NULL)
+  {
+    if (dbs_state->used_a_sequences != NULL)
+    {
+      gt_diagbandseed_out_sequences_with_matches('S',arg->aencseq,
+                  dbs_state->used_a_sequences);
+    }
+    if (dbs_state->used_b_sequences != NULL)
+    {
+      gt_diagbandseed_out_sequences_with_matches('Q',arg->bencseq,
+                  dbs_state->used_b_sequences);
+    }
+  }
+  gt_diagbandseed_dbs_state_delete(dbs_state);
+  gt_karlin_altschul_stat_delete(karlin_altschul_stat);
+  gt_ft_trimstat_delete(trimstat);
   return had_err;
 }
diff --git a/src/match/diagbandseed.h b/src/match/diagbandseed.h
index 600debf..0d7a9a7 100644
--- a/src/match/diagbandseed.h
+++ b/src/match/diagbandseed.h
@@ -1,5 +1,6 @@
 /*
   Copyright (c) 2015-2016 Joerg Winkler <j.winkler at posteo.de>
+  Copyright (c) 2016 Stefan Kurtz  <kurtz at zbh.uni-hamburg.de>
   Copyright (c) 2015-2016 Center for Bioinformatics, University of Hamburg
 
   Permission to use, copy, modify, and distribute this software for any
@@ -23,59 +24,93 @@
 #include "core/range_api.h"
 #include "core/types_api.h"
 #include "match/ft-front-prune.h"
+#include "match/seed_extend_parts.h"
+#include "match/querymatch-display.h"
 #include "match/xdrop.h"
 
 typedef struct GtDiagbandseedInfo GtDiagbandseedInfo;
 typedef struct GtDiagbandseedExtendParams GtDiagbandseedExtendParams;
 
+typedef enum
+{ /* keep the order consistent with gt_splt_arguments */
+  GT_DIAGBANDSEED_SPLT_STRUCT,
+  GT_DIAGBANDSEED_SPLT_ULONG,
+  GT_DIAGBANDSEED_SPLT_BYTESTRING,
+  GT_DIAGBANDSEED_SPLT_UNDEFINED
+} GtDiagbandseedPairlisttype;
+
 /* Run the whole algorithm. */
 int gt_diagbandseed_run(const GtDiagbandseedInfo *arg,
-                        const GtRange *aseqranges,
-                        const GtRange *bseqranges,
+                        const GtSequencePartsInfo *aseqranges,
+                        const GtSequencePartsInfo *bseqranges,
+                        const GtUwordPair *pick,
                         GtError *err);
 
 /* The constructor for GtDiagbandseedInfo*/
-GtDiagbandseedInfo *gt_diagbandseed_info_new(GtEncseq *aencseq,
-                                             GtEncseq *bencseq,
+GtDiagbandseedInfo *gt_diagbandseed_info_new(const GtEncseq *aencseq,
+                                             const GtEncseq *bencseq,
                                              GtUword maxfreq,
                                              GtUword memlimit,
+                                             unsigned int spacedseedweight,
                                              unsigned int seedlength,
                                              bool norev,
                                              bool nofwd,
-                                             GtRange *seedpairdistance,
+                                             const GtRange *seedpairdistance,
+                                             GtDiagbandseedPairlisttype splt,
                                              bool verify,
                                              bool verbose,
                                              bool debug_kmer,
                                              bool debug_seedpair,
                                              bool use_kmerfile,
-                                             GtDiagbandseedExtendParams *extp,
-                                             GtUword anumseqranges,
-                                             GtUword bnumseqranges);
+                                             bool trimstat_on,
+                                             GtUword maxmat,
+                                             const GtStr *chainarguments,
+                                             const GtStr
+                                               *diagband_statistics_arg,
+                                             const GtDiagbandseedExtendParams
+                                               *extp);
+
+const char *gt_diagbandseed_splt_comment(void);
+
+GtDiagbandseedPairlisttype gt_diagbandseed_splt_get(const char *splt_string,
+                                                    GtError *err);
+
+typedef struct
+{
+  GtUword sum_of_distance,
+          sum_of_aligned_len;
+} GtAniAccumulate;
 
 /* The constructor for GtDiagbandseedExtendParams*/
 GtDiagbandseedExtendParams *gt_diagbandseed_extend_params_new(
-                              GtUword errorpercentage,
-                              GtUword userdefinedleastlength,
-                              GtUword logdiagbandwidth,
-                              GtUword mincoverage,
-                              unsigned int display_flag,
-                              bool use_apos,
-                              GtXdropscore xdropbelowscore,
-                              bool extendgreedy,
-                              bool extendxdrop,
-                              GtUword maxalignedlendifference,
-                              GtUword history_size,
-                              GtUword perc_mat_history,
-                              GtExtendCharAccess extend_char_access,
-                              GtUword sensitivity,
-                              double matchscore_bias,
-                              bool weakends,
-                              bool benchmark,
-                              GtUword alignmentwidth,
-                              bool always_polished_ends);
+                                GtUword userdefinedleastlength,
+                                GtUword errorpercentage,
+                                double evalue_threshold,
+                                GtUword logdiagbandwidth,
+                                GtUword mincoverage,
+                                const GtSeedExtendDisplayFlag *out_display_flag,
+                                GtUword use_apos,
+                                GtXdropscore xdropbelowscore,
+                                bool extendgreedy,
+                                bool extendxdrop,
+                                GtUword maxalignedlendifference,
+                                GtUword history_size,
+                                GtUword perc_mat_history,
+                                GtExtendCharAccess a_extend_char_access,
+                                GtExtendCharAccess b_extend_char_access,
+                                bool cam_generic,
+                                GtUword sensitivity,
+                                double matchscore_bias,
+                                bool weakends,
+                                bool benchmark,
+                                bool always_polished_ends,
+                                bool verify_alignment,
+                                bool only_selected_seqpairs,
+                                GtAniAccumulate *ani_accumulate);
 
 /* The destructors */
 void gt_diagbandseed_info_delete(GtDiagbandseedInfo *info);
 
 void gt_diagbandseed_extend_params_delete(GtDiagbandseedExtendParams *extp);
+
 #endif
diff --git a/src/match/eis-bwtseq-context.c b/src/match/eis-bwtseq-context.c
index de4b17b..7a9ad86 100644
--- a/src/match/eis-bwtseq-context.c
+++ b/src/match/eis-bwtseq-context.c
@@ -287,7 +287,7 @@ BWTSeqCRMapOpen(unsigned short mapIntervalLog2,
                             seqLen, mapIntervalLog2));
     mapName = gt_str_new_cstr(projectName);
     {
-      char buf[1 + 4 + 3];
+      char buf[1 + 4 + 3 + 2];
       snprintf(buf, sizeof (buf), ".%ucxm", (unsigned)mapIntervalLog2);
       gt_str_append_cstr(mapName, buf);
       if (createMapFile)
diff --git a/src/match/esa-mmsearch.c b/src/match/esa-mmsearch.c
index 7671c67..34fda71 100644
--- a/src/match/esa-mmsearch.c
+++ b/src/match/esa-mmsearch.c
@@ -421,19 +421,20 @@ static GtUword gt_mmsearch_extendright(const GtEncseq *dbencseq,
 }
 
 void gt_queryuniquematch(bool selfmatch,
-                        const Suffixarray *suffixarray,
-                        uint64_t queryunitnum,
-                        GtQueryrepresentation *queryrep,
-                        GtUword minmatchlength,
-                        GtProcessquerymatch processquerymatch,
-                        void *processquerymatchinfo,
-                        GtQuerymatch *querymatchspaceptr)
+                         const Suffixarray *suffixarray,
+                         uint64_t queryunitnum,
+                         GtQueryrepresentation *queryrep,
+                         GtUword minmatchlength,
+                         GtProcessquerymatch processquerymatch,
+                         void *processquerymatchinfo,
+                         GtQuerymatch *querymatchspaceptr)
 {
   GtUword offset, totallength = gt_encseq_total_length(suffixarray->encseq),
           localqueryoffset = 0;
   uint64_t localqueryunitnum = queryunitnum;
 
   gt_assert(!selfmatch && queryrep->seqlen >= minmatchlength);
+  /*XXX gt_assert(!gt_querymatch_seq_desc_display(querymatchspaceptr));*/
   for (offset = 0; offset <= queryrep->seqlen - minmatchlength; offset++)
   {
     GtUword matchlen, dbstart;
@@ -454,23 +455,26 @@ void gt_queryuniquematch(bool selfmatch,
                              queryrep->sequence))
     {
       GtUword dbseqnum = gt_encseq_seqnum(suffixarray->encseq,dbstart),
-              dbseqstartpos = gt_encseq_seqstartpos(suffixarray->encseq,
-                                                    dbseqnum),
-              dbseqlen = gt_encseq_seqlength(suffixarray->encseq,dbseqnum);
+              dbseqlen = gt_encseq_seqlength(suffixarray->encseq,dbseqnum),
+              db_seqstart = gt_encseq_seqstartpos(suffixarray->encseq,dbseqnum);
 
       gt_querymatch_init(querymatchspaceptr,
                          matchlen,
-                         dbstart,
                          dbseqnum,
-                         dbstart - dbseqstartpos,
+                         dbstart - db_seqstart,
+                         db_seqstart,
                          dbseqlen,
                          0, /* score */
                          0, /* edist */
+                         0, /* mismatches */
                          selfmatch,
                          localqueryunitnum,
                          matchlen,
                          localqueryoffset,
-                         queryrep->seqlen);
+                         0,
+                         queryrep->seqlen,
+                         NULL,
+                         NULL);
       processquerymatch(processquerymatchinfo,querymatchspaceptr);
     }
     if (queryrep->sequence[offset] == (GtUchar) SEPARATOR)
@@ -525,7 +529,8 @@ static void gt_querysubstringmatch(bool selfmatch,
                                     dbstart,
                                     &querysubstring))
       {
-        GtUword dbseqnum, dbseqstartpos, dbseqlen, extend;
+        GtUword dbseqnum, dbseqlen, db_seqstart, extend;
+        const char *db_desc = NULL, *query_desc = NULL;
 
         extend = gt_mmsearch_extendright(dbencseq,
                                          mmsi->esr,
@@ -538,25 +543,29 @@ static void gt_querysubstringmatch(bool selfmatch,
         if (gt_encseq_has_multiseq_support(dbencseq))
         {
           dbseqnum = gt_encseq_seqnum(dbencseq,dbstart);
-          dbseqstartpos = gt_encseq_seqstartpos(dbencseq,dbseqnum);
           dbseqlen = gt_encseq_seqlength(dbencseq,dbseqnum);
+          db_seqstart = gt_encseq_seqstartpos(dbencseq,dbseqnum);
         } else
         {
-          dbseqnum = dbseqstartpos = dbseqlen = 0;
+          dbseqnum = dbseqlen = db_seqstart = 0;
         }
         gt_querymatch_init(querymatchspaceptr,
                            minmatchlength + extend,
-                           dbstart,
                            dbseqnum,
-                           dbstart - dbseqstartpos,
+                           dbstart - db_seqstart,
+                           db_seqstart,
                            dbseqlen,
                            0, /* score */
                            0, /* edist */
+                           0, /* mismatches */
                            selfmatch,
                            localqueryunitnum,
                            minmatchlength + extend,
                            localqueryoffset,
-                           queryrep->seqlen);
+                           0,
+                           queryrep->seqlen,
+                           db_desc,
+                           query_desc);
         processquerymatch(processquerymatchinfo,querymatchspaceptr);
       }
     }
@@ -829,6 +838,13 @@ const GtUchar *gt_querysubstringmatchiterator_query(
   return qsmi->query_for_seqit;
 }
 
+const char *gt_querysubstringmatchiterator_desc(
+                      const GtQuerysubstringmatchiterator *qsmi)
+{
+  gt_assert(qsmi != NULL && qsmi->desc != NULL);
+  return qsmi->desc;
+}
+
 int gt_querysubstringmatchiterator_next(GtQuerysubstringmatchiterator *qsmi,
                                         GtError *err)
 {
diff --git a/src/match/esa-mmsearch.h b/src/match/esa-mmsearch.h
index a98706b..020a1b1 100644
--- a/src/match/esa-mmsearch.h
+++ b/src/match/esa-mmsearch.h
@@ -95,4 +95,7 @@ const GtUchar *gt_querysubstringmatchiterator_query(
 int gt_querysubstringmatchiterator_next(GtQuerysubstringmatchiterator *qsmi,
                                         GtError *err);
 
+const char *gt_querysubstringmatchiterator_desc(
+                      const GtQuerysubstringmatchiterator *qsmi);
+
 #endif
diff --git a/src/match/ft-eoplist.c b/src/match/ft-eoplist.c
new file mode 100644
index 0000000..5809526
--- /dev/null
+++ b/src/match/ft-eoplist.c
@@ -0,0 +1,1349 @@
+#include <stdlib.h>
+#include <stdbool.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <math.h>
+#include <ctype.h>
+#include "core/assert_api.h"
+#include "core/arraydef.h"
+#include "core/minmax.h"
+#include "core/chardef.h"
+#include "core/divmodmul.h"
+#include "core/readmode.h"
+#include "match/ft-polish.h"
+#include "match/ft-eoplist.h"
+#include "match/ft-front-prune.h"
+
+#define DELETION_CHAR    'D'
+#define INSERTION_CHAR   'I'
+#define MATCH_CHAR       '='
+#define MISMATCH_CHAR    'X'
+#define REPLACEMENT_CHAR 'M'
+
+char gt_eoplist_pretty_print(GtEopType eoptype,bool distinguish_mismatch_match)
+{
+  switch (eoptype)
+  {
+    case GtDeletionOp:
+      return DELETION_CHAR;
+    case GtInsertionOp:
+      return INSERTION_CHAR;
+    case GtMismatchOp:
+      return distinguish_mismatch_match ? MISMATCH_CHAR : REPLACEMENT_CHAR;
+    case GtMatchOp:
+      return distinguish_mismatch_match ? MATCH_CHAR : REPLACEMENT_CHAR;
+    default:
+      fprintf(stderr,"file %s, line %d: illegal eoptype = %d\n",
+              __FILE__,__LINE__,(int) eoptype);
+      exit(GT_EXIT_PROGRAMMING_ERROR);
+  }
+}
+
+struct GtEoplist
+{
+  GtUword nextfreeuint8_t, allocateduint8_t, countdeletions, countinsertions;
+  uint8_t *spaceuint8_t;
+  const GtUchar *useq, *vseq;
+  GtUword ustart, ulen, vstart, vlen;
+  bool withpolcheck, pol_info_out, display_seed_in_alignment;
+  GtUword useedoffset, seedlen;
+  GtArrayint trace;
+  const GtFtPolishing_info *pol_info;
+  GtFullFrontEdistTrace *fet_segment;
+};
+
+void gt_eoplist_reset(GtEoplist *eoplist)
+{
+  if (eoplist != NULL)
+  {
+    eoplist->nextfreeuint8_t = 0;
+    eoplist->countdeletions = 0;
+    eoplist->countinsertions = 0;
+    eoplist->useq = eoplist->vseq = NULL;
+    eoplist->ulen = eoplist->vlen = 0;
+  }
+}
+
+GtEoplist *gt_eoplist_new(void)
+{
+  GtEoplist *eoplist = gt_malloc(sizeof *eoplist);
+
+  gt_assert(eoplist != NULL);
+  eoplist->allocateduint8_t = 0;
+  eoplist->spaceuint8_t = NULL;
+  eoplist->display_seed_in_alignment = false;
+  eoplist->withpolcheck = false;
+  eoplist->pol_info_out = false;
+  eoplist->useedoffset = eoplist->seedlen = 0;
+  eoplist->pol_info = NULL;
+  GT_INITARRAY(&eoplist->trace,int);
+  eoplist->fet_segment = gt_full_front_edist_trace_new();
+  gt_eoplist_reset(eoplist);
+  return eoplist;
+}
+
+typedef struct
+{
+  char *space;
+  size_t nextfree, allocated;
+} GtStringBuffer;
+
+static void stringbuffer_append_cigar(GtStringBuffer *sbuf,
+                                      const GtCigarOp *co,
+                                      bool distinguish_mismatch_match)
+{
+  const size_t gt_uword_maxwidth = sizeof ("18446744073709551615");
+
+  if (sbuf->nextfree + gt_uword_maxwidth + 1 + 1 >= sbuf->allocated)
+  {
+    sbuf->allocated = sbuf->allocated * 1.2 + gt_uword_maxwidth + 1 + 1 + 1;
+    sbuf->space = gt_realloc(sbuf->space,sizeof *sbuf->space * sbuf->allocated);
+  }
+  sbuf->nextfree +=
+    sprintf(sbuf->space + sbuf->nextfree,GT_WU "%c",
+            co->iteration,gt_eoplist_pretty_print(co->eoptype,
+                                                  distinguish_mismatch_match));
+}
+
+char *gt_eoplist2cigar_string(const GtEoplist *eoplist,
+                              bool distinguish_mismatch_match)
+{
+  GtStringBuffer sbuf = {NULL,0,0};
+  GtCigarOp co;
+  GtEoplistReader *eoplist_reader = gt_eoplist_reader_new();
+
+  gt_eoplist_reader_reset(eoplist_reader,eoplist,true);
+  while (gt_eoplist_reader_next_cigar(&co,eoplist_reader,
+                                      distinguish_mismatch_match))
+  {
+    stringbuffer_append_cigar(&sbuf,&co,distinguish_mismatch_match);
+  }
+  gt_eoplist_reader_delete(eoplist_reader);
+  return sbuf.space;
+}
+
+void gt_eoplist_from_cigar(GtEoplist *eoplist,
+                           const char *cigarstring,char sep)
+{
+  const char *cptr;
+  GtUword iteration = 0;
+
+  for (cptr = cigarstring; *cptr != '\0' && *cptr != sep && *cptr != '\n';
+       cptr++)
+  {
+    if (isdigit(*cptr))
+    {
+      iteration = iteration * 10 + (GtUword) (*cptr - '0');
+    } else
+    {
+      GtUword idx;
+
+      switch (*cptr)
+      {
+        case DELETION_CHAR:
+          for (idx = 0; idx < iteration; idx++)
+          {
+            gt_eoplist_deletion_add(eoplist);
+          }
+          break;
+        case INSERTION_CHAR:
+          for (idx = 0; idx < iteration; idx++)
+          {
+            gt_eoplist_insertion_add(eoplist);
+          }
+          break;
+        case MATCH_CHAR:
+          gt_eoplist_match_add(eoplist,iteration);
+          break;
+        case REPLACEMENT_CHAR:
+          gt_eoplist_match_add(eoplist,iteration);
+          break;
+        case MISMATCH_CHAR:
+          for (idx = 0; idx < iteration; idx++)
+          {
+            gt_eoplist_mismatch_add(eoplist);
+          }
+          break;
+        default:
+          fprintf(stderr,"file %s, line %d: illegal symbol '%c' "
+                         "in cigar string\n",__FILE__,__LINE__,*cptr);
+          exit(GT_EXIT_PROGRAMMING_ERROR);
+      }
+      iteration = 0;
+    }
+  }
+}
+
+void gt_eoplist_delete(GtEoplist *eoplist)
+{
+  if (eoplist != NULL)
+  {
+    GT_FREEARRAY(&eoplist->trace,int);
+    gt_full_front_edist_trace_delete(eoplist->fet_segment);
+    gt_free(eoplist->spaceuint8_t);
+    gt_free(eoplist);
+  }
+}
+
+#define FT_EOPCODE_MAXMATCHES     253
+#define FT_EOPCODE_MISMATCH       253
+#define FT_EOPCODE_DELETION       254
+#define FT_EOPCODE_INSERTION      255
+
+#define GT_EOPLIST_PUSH(EOPLIST,EOP)\
+        gt_assert((EOPLIST) != NULL);\
+        {\
+          const GtUword addamount = (EOPLIST)->allocateduint8_t * 0.2 + 128;\
+          GT_STOREINARRAY(EOPLIST,uint8_t,addamount,(uint8_t) (EOP));\
+        }
+
+void gt_eoplist_match_add(GtEoplist *eoplist,GtUword length)
+{
+  gt_assert(eoplist != NULL && length > 0);
+  while (true)
+  {
+    if (length <= FT_EOPCODE_MAXMATCHES)
+    {
+      gt_assert(length > 0);
+      GT_EOPLIST_PUSH(eoplist,(uint8_t) (length - 1)); /* R length */
+      break;
+    }
+    GT_EOPLIST_PUSH(eoplist,FT_EOPCODE_MAXMATCHES - 1); /* R max */
+    length -= FT_EOPCODE_MAXMATCHES;
+  }
+}
+
+void gt_eoplist_mismatch_add(GtEoplist *eoplist)
+{
+  GT_EOPLIST_PUSH(eoplist,FT_EOPCODE_MISMATCH); /* R 1 */
+}
+
+void gt_eoplist_deletion_add(GtEoplist *eoplist)
+{
+  GT_EOPLIST_PUSH(eoplist,FT_EOPCODE_DELETION);
+  eoplist->countdeletions++;
+}
+
+void gt_eoplist_insertion_add(GtEoplist *eoplist)
+{
+  gt_assert(eoplist != NULL);
+  GT_EOPLIST_PUSH(eoplist,FT_EOPCODE_INSERTION);
+  eoplist->countinsertions++;
+}
+
+GtUword gt_eoplist_length(const GtEoplist *eoplist)
+{
+  if (eoplist == NULL)
+  {
+    return 0;
+  }
+  return eoplist->nextfreeuint8_t;
+}
+
+void gt_eoplist_reverse_end(GtEoplist *eoplist,GtUword firstindex)
+{
+  uint8_t *fwd, *bck;
+
+  gt_assert(eoplist != NULL);
+  if (firstindex + 1 >= eoplist->nextfreeuint8_t)
+  {
+    return;
+  }
+  for (fwd = eoplist->spaceuint8_t + firstindex,
+       bck = eoplist->spaceuint8_t + eoplist->nextfreeuint8_t - 1; fwd < bck;
+       fwd++, bck--)
+  {
+    uint8_t tmp = *fwd;
+    *fwd = *bck;
+    *bck = tmp;
+  }
+}
+
+GtUword gt_eoplist_deletions_count(const GtEoplist *eoplist)
+{
+  gt_assert(eoplist != NULL);
+  return eoplist->countdeletions;
+}
+
+GtUword gt_eoplist_insertions_count(const GtEoplist *eoplist)
+{
+  gt_assert(eoplist != NULL);
+  return eoplist->countinsertions;
+}
+
+struct GtEoplistReader
+{
+  const uint8_t *currenteop,
+                *endeoplist;
+  int difference;
+  GtUchar *outbuffer;
+  unsigned int width;
+  GtUword aligned_u, aligned_v, repcount;
+};
+
+void gt_eoplist_reader_reset(GtEoplistReader *eoplist_reader,
+                             const GtEoplist *eoplist,bool forward)
+{
+  gt_assert(eoplist != NULL && eoplist_reader != NULL);
+  if (eoplist->spaceuint8_t == NULL || eoplist->nextfreeuint8_t == 0)
+  {
+    eoplist_reader->currenteop = NULL;
+    eoplist_reader->endeoplist = NULL;
+  } else
+  {
+    if (forward)
+    {
+      eoplist_reader->currenteop = eoplist->spaceuint8_t;
+      eoplist_reader->endeoplist = eoplist->spaceuint8_t +
+                                   eoplist->nextfreeuint8_t;
+      eoplist_reader->difference = 1;
+    } else
+    {
+      eoplist_reader->currenteop = eoplist->spaceuint8_t +
+                                   eoplist->nextfreeuint8_t - 1;
+      eoplist_reader->endeoplist = eoplist->spaceuint8_t - 1;
+      eoplist_reader->difference = -1;
+    }
+  }
+  eoplist_reader->aligned_u = eoplist_reader->aligned_v
+                            = eoplist_reader->repcount = 0;
+}
+
+static size_t gt_eoplist_outbuffer_size(unsigned int width)
+{
+  return 3 * width;
+}
+
+void gt_eoplist_reader_reset_width(GtEoplistReader *eoplist_reader,
+                                   unsigned int width)
+{
+  if (eoplist_reader->width < width)
+  {
+    eoplist_reader->outbuffer = gt_realloc(eoplist_reader->outbuffer,
+                                           sizeof *eoplist_reader->outbuffer *
+                                           gt_eoplist_outbuffer_size(width));
+    gt_assert(eoplist_reader->outbuffer != NULL);
+  }
+  eoplist_reader->width = width;
+}
+
+GtEoplistReader *gt_eoplist_reader_new(void)
+{
+  GtEoplistReader *eoplist_reader;
+
+  eoplist_reader = gt_malloc(sizeof *eoplist_reader);
+  gt_assert(eoplist_reader != NULL);
+  eoplist_reader->width = 0;
+  eoplist_reader->outbuffer = NULL;
+  eoplist_reader->width = 70;
+  eoplist_reader->outbuffer
+    = gt_realloc(eoplist_reader->outbuffer,
+                 sizeof *eoplist_reader->outbuffer *
+                 gt_eoplist_outbuffer_size(eoplist_reader->width));
+  eoplist_reader->difference = 0;
+  eoplist_reader->currenteop = NULL;
+  eoplist_reader->endeoplist = NULL;
+  eoplist_reader->aligned_u = eoplist_reader->aligned_v
+                            = eoplist_reader->repcount = 0;
+  return eoplist_reader;
+}
+
+void gt_eoplist_reader_delete(GtEoplistReader *eoplist_reader)
+{
+  if (eoplist_reader != NULL)
+  {
+    if (eoplist_reader->outbuffer != NULL)
+    {
+      gt_free(eoplist_reader->outbuffer);
+    }
+    gt_free(eoplist_reader);
+  }
+}
+
+bool gt_eoplist_reader_next_cigar(GtCigarOp *cigar_op,
+                                  GtEoplistReader *eoplist_reader,
+                                  bool distinguish_mismatch_match)
+{
+  if (eoplist_reader->currenteop == NULL ||
+      eoplist_reader->currenteop == eoplist_reader->endeoplist)
+  {
+    return false;
+  }
+  gt_assert(eoplist_reader->difference == 1 ||
+            eoplist_reader->difference == -1);
+  cigar_op->eoptype = GtUndefinedOp;
+  cigar_op->iteration = 0;
+  while (true)
+  {
+    if (cigar_op->iteration > 0)
+    {
+      switch (*eoplist_reader->currenteop)
+      {
+        case FT_EOPCODE_DELETION:
+          gt_assert(cigar_op->eoptype != GtUndefinedOp);
+          if (cigar_op->eoptype == GtDeletionOp)
+          {
+            cigar_op->iteration++; /* Add another consecutive deletion */
+            eoplist_reader->currenteop += eoplist_reader->difference;
+            break;
+          }
+          return true;
+        case FT_EOPCODE_INSERTION:
+          gt_assert(cigar_op->eoptype != GtUndefinedOp);
+          if (cigar_op->eoptype == GtInsertionOp)
+          {
+            cigar_op->iteration++; /* Add another consecutive insertion */
+            eoplist_reader->currenteop += eoplist_reader->difference;
+            break;
+          }
+          return true;
+       case FT_EOPCODE_MISMATCH:
+          gt_assert(cigar_op->eoptype != GtUndefinedOp);
+          if (distinguish_mismatch_match)
+          {
+            if (cigar_op->eoptype == GtMismatchOp)
+            {
+              cigar_op->iteration++; /* Add another consecutive mismatch */
+              eoplist_reader->currenteop += eoplist_reader->difference;
+              break;
+            }
+            return true;
+          }
+          if (cigar_op->eoptype == GtMatchOp)
+          {
+            cigar_op->iteration++; /* Add another consecutive match */
+            eoplist_reader->currenteop += eoplist_reader->difference;
+            break;
+          }
+          return true;
+       default:
+          if (cigar_op->eoptype == GtMatchOp)
+          {
+            gt_assert(*eoplist_reader->currenteop < FT_EOPCODE_MAXMATCHES);
+            cigar_op->iteration += (1UL + *eoplist_reader->currenteop);
+            eoplist_reader->currenteop += eoplist_reader->difference;
+          } else
+          {
+            return true;
+          }
+      }
+    } else
+    {
+      switch (*eoplist_reader->currenteop)
+      {
+        case FT_EOPCODE_DELETION:
+          cigar_op->eoptype = GtDeletionOp;
+          cigar_op->iteration = 1UL;
+          break;
+        case FT_EOPCODE_INSERTION:
+          cigar_op->eoptype = GtInsertionOp;
+          cigar_op->iteration = 1UL;
+          break;
+        case FT_EOPCODE_MISMATCH:
+          cigar_op->eoptype
+            = distinguish_mismatch_match ? GtMismatchOp : GtMatchOp;
+          cigar_op->iteration = 1UL;
+          break;
+        default:
+          cigar_op->eoptype = GtMatchOp;
+          cigar_op->iteration = (1UL + *eoplist_reader->currenteop);
+          break;
+      }
+      eoplist_reader->currenteop += eoplist_reader->difference;
+    }
+    if (eoplist_reader->currenteop == eoplist_reader->endeoplist)
+    {
+      return true;
+    }
+  }
+}
+
+bool gt_eoplist_reader_next_segment(GtEoplistSegment *segment,
+                                    GtEoplistReader *eoplist_reader,
+                                    GtUword delta)
+{
+  while (true)
+  {
+    if (eoplist_reader->repcount > 0)
+    {
+      eoplist_reader->aligned_u++;
+      eoplist_reader->aligned_v++;
+      eoplist_reader->repcount--;
+    } else
+    {
+      if (eoplist_reader->currenteop == eoplist_reader->endeoplist)
+      {
+        break;
+      }
+      switch (*eoplist_reader->currenteop)
+      {
+        case FT_EOPCODE_DELETION:
+          eoplist_reader->aligned_u++;
+          break;
+        case FT_EOPCODE_INSERTION:
+          eoplist_reader->aligned_v++;
+          break;
+        case FT_EOPCODE_MISMATCH:
+          eoplist_reader->aligned_u++;
+          eoplist_reader->aligned_v++;
+          break;
+        default:
+          eoplist_reader->aligned_u++;
+          eoplist_reader->aligned_v++;
+          eoplist_reader->repcount = (GtUword) *eoplist_reader->currenteop;
+      }
+      eoplist_reader->currenteop += eoplist_reader->difference;
+    }
+    if (eoplist_reader->aligned_u == delta)
+    {
+      segment->aligned_u = delta;
+      segment->aligned_v = eoplist_reader->aligned_v;
+      eoplist_reader->aligned_u = eoplist_reader->aligned_v = 0;
+      return true;
+    }
+  }
+  if (eoplist_reader->aligned_v > 0 || eoplist_reader->aligned_u > 0)
+  {
+    gt_assert(eoplist_reader->repcount == 0);
+    segment->aligned_u = eoplist_reader->aligned_u;
+    segment->aligned_v = eoplist_reader->aligned_v;
+    eoplist_reader->aligned_v = 0;
+    eoplist_reader->aligned_u = 0;
+    gt_assert(eoplist_reader->currenteop == eoplist_reader->endeoplist);
+    return true;
+  }
+  return false;
+}
+
+double gt_eoplist_segments_entropy(const GtEoplist *eoplist,GtUword delta)
+{
+  GtEoplistReader *eoplist_reader = gt_eoplist_reader_new();
+  GtEoplistSegment segment;
+  const GtUword max_value = 2 * delta + 1;
+  GtUword segment_count = 0, idx,
+          *segment_dist = gt_calloc(max_value + 1,sizeof *segment_dist);
+  double entropy = 0.0;
+
+  gt_eoplist_reader_reset(eoplist_reader,eoplist,true);
+  while (gt_eoplist_reader_next_segment(&segment,eoplist_reader,delta))
+  {
+    gt_assert(segment.aligned_v <= max_value);
+    segment_dist[segment.aligned_v]++;
+    segment_count++;
+  }
+  gt_eoplist_reader_delete(eoplist_reader);
+  for (idx = 0; idx <= max_value; idx++)
+  {
+    if (segment_dist[idx] > 0)
+    {
+      double prob = (double) segment_dist[idx]/segment_count;
+      entropy += prob * log2(prob);
+    }
+  }
+  gt_free(segment_dist);
+  return entropy == 0.0 ? 0.0 : -entropy;
+}
+
+/*
+  A trace is a sequence of
+  differences with the delta value specifying the length of a substring in the
+  query sequence aligned to a sequence of length delta in the reference
+  sequence. Such a pair of substrings is a segment. From the segments
+  one can reconstruct an alignment by computing alignments from the
+  segments and concatenating them.  This is done by the following functions.
+*/
+
+void gt_eoplist_read_trace(GtEoplist *eoplist,
+                           const char *trace,
+                           char separator)
+{
+  if (eoplist != NULL)
+  {
+    eoplist->trace.nextfreeint = 0;
+  }
+  while (true)
+  {
+    int value;
+    const char *ptr;
+
+    if (sscanf(trace,"%d",&value) != 1)
+    {
+      fprintf(stderr,"cannot read number from trace %s\n",trace);
+      exit(GT_EXIT_PROGRAMMING_ERROR);
+    }
+    if (eoplist != NULL)
+    {
+      GT_STOREINARRAY(&eoplist->trace,int,
+                      256 + eoplist->trace.allocatedint * 0.2,value);
+    }
+    for (ptr = trace; *ptr != '\0' && *ptr != separator && *ptr != ','; ptr++)
+      /* Nothing */;
+    if (*ptr == '\0' || *ptr == separator)
+    {
+      break;
+    }
+    trace = ptr + 1;
+  }
+}
+
+void gt_eoplist_trace2cigar(GtEoplist *eoplist,bool dtrace,GtUword trace_delta)
+{
+  GtUword idx, offset_u = 0, offset_v = 0;
+
+  gt_assert(eoplist != NULL && eoplist->trace.nextfreeint > 0);
+  for (idx = 0; idx < eoplist->trace.nextfreeint; idx++)
+  {
+    GtUword this_distance, aligned_u, aligned_v;
+
+    if (dtrace)
+    {
+      const int value = -(eoplist->trace.spaceint[idx] - trace_delta);
+      gt_assert(value >= 0);
+      aligned_v = (GtUword) value;
+    } else
+    {
+      aligned_v = (GtUword) eoplist->trace.spaceint[idx];
+    }
+    gt_assert(offset_u < eoplist->ulen);
+    aligned_u = MIN(trace_delta,eoplist->ulen - offset_u);
+    this_distance = gt_full_front_edist_trace_distance(eoplist->fet_segment,
+                                                       eoplist->useq + offset_u,
+                                                       aligned_u,
+                                                       eoplist->vseq + offset_v,
+                                                       aligned_v);
+    gt_front_trace2eoplist_full_front_directed(eoplist,
+                                               gt_full_front_trace_get(
+                                                   eoplist->fet_segment),
+                                               this_distance,
+                                               eoplist->useq + offset_u,
+                                               aligned_u,
+                                               eoplist->vseq + offset_v,
+                                               aligned_v);
+    offset_u += aligned_u;
+    offset_v += aligned_v;
+  }
+}
+
+void gt_eoplist_show_plain(const GtEoplist *eoplist,FILE *fp)
+{
+  GtUword idx;
+
+  fprintf(fp,"[");
+  for (idx = 0; idx < eoplist->nextfreeuint8_t; idx++)
+  {
+    if (eoplist->spaceuint8_t[idx] == FT_EOPCODE_DELETION)
+    {
+      fputc(DELETION_CHAR,fp);
+    } else
+    {
+      if (eoplist->spaceuint8_t[idx] == FT_EOPCODE_INSERTION)
+      {
+        fputc(INSERTION_CHAR,fp);
+      } else
+      {
+        if (eoplist->spaceuint8_t[idx] == FT_EOPCODE_MISMATCH)
+        {
+          fputc(MISMATCH_CHAR,fp);
+        } else
+        {
+          fprintf(fp,"%d",eoplist->spaceuint8_t[idx]);
+        }
+      }
+    }
+    fputc(idx + 1 < eoplist->nextfreeuint8_t ? ',' : ']',fp);
+  }
+  fputc('\n',fp);
+}
+
+void gt_eoplist_show_cigar(GtEoplistReader *eoplist_reader,
+                           bool distinguish_mismatch_match,FILE *fp)
+{
+  GtCigarOp co;
+
+  while (gt_eoplist_reader_next_cigar(&co,eoplist_reader,
+                                      distinguish_mismatch_match))
+  {
+    fprintf(fp,GT_WU "%c",co.iteration,
+            gt_eoplist_pretty_print(co.eoptype,distinguish_mismatch_match));
+  }
+}
+
+static void gt_eoplist_single_line(const char *tag,
+                                   int numwidth,
+                                   unsigned int width,
+                                   const GtUchar *buf,
+                                   GtUword start_pos,
+                                   GtUword end_pos,
+                                   FILE *fp)
+{
+  fprintf(fp,"%s  %-*" GT_WUS "  ",tag,numwidth,start_pos);
+  fwrite(buf,sizeof *buf,width,fp);
+  fprintf(fp,"  " GT_WU "\n",end_pos);
+}
+
+static void gt_eoplist_middle_line(int numwidth,unsigned int width,
+                                   const GtUchar *midbuf,
+                                   FILE *fp)
+{
+  /* 5 is the length of the strings Sbjct and Query */
+  fprintf(fp,"%*s",(int) (numwidth + 5 + 4),"");
+  fwrite(midbuf,sizeof *midbuf,width,fp);
+  fputc('\n',fp);
+}
+
+static void gt_eoplist_write_lines(GtUword one_off,
+                                   bool subject_first,
+                                   int numwidth,
+                                   unsigned int width,
+                                   const GtUchar *subject_buf,
+                                   GtUword subject_seqlength,
+                                   GtUword subject_start_pos,
+                                   GtUword subject_end_pos,
+                                   const GtUchar *midbuf,
+                                   const GtUchar *query_buf,
+                                   GtUword query_start_pos,
+                                   GtUword query_end_pos,
+                                   FILE *fp)
+{
+  gt_assert(numwidth > 0);
+  if (subject_first)
+  {
+    gt_eoplist_single_line("Sbjct",numwidth,width,subject_buf,
+                           subject_start_pos + one_off,
+                           subject_end_pos + one_off,fp);
+    gt_eoplist_middle_line(numwidth,width,midbuf,fp);
+    gt_eoplist_single_line("Query",numwidth,width,query_buf,
+                           query_start_pos + one_off,
+                           query_end_pos + one_off,fp);
+  } else
+  {
+    gt_eoplist_single_line("Query",numwidth,width,query_buf,
+                           query_start_pos + one_off,
+                           query_end_pos + one_off,fp);
+    gt_eoplist_middle_line(numwidth,width,midbuf,fp);
+    if (subject_seqlength == 0)
+    {
+      gt_eoplist_single_line("Sbjct",numwidth,width,subject_buf,
+                             subject_start_pos + one_off,
+                             subject_end_pos + one_off,fp);
+    } else
+    {
+      gt_assert(subject_seqlength > subject_start_pos &&
+                subject_seqlength >= subject_end_pos);
+      gt_eoplist_single_line("Sbjct",numwidth,width,subject_buf,
+                             subject_seqlength - 1 - subject_start_pos
+                               + one_off,
+                             one_off +
+                             (subject_seqlength > subject_end_pos
+                               ? subject_seqlength - 1 - subject_end_pos
+                               : 0),
+                             fp);
+    }
+  }
+  fputc('\n',fp);
+}
+
+static unsigned int gt_eoplist_show_advance(GtUword one_off,
+                                            bool subject_first,
+                                            int numwidth,
+                                            unsigned int pos,
+                                            unsigned int width,
+                                            const GtUchar *topbuf,
+                                            GtUword top_seqlength,
+                                            GtUword top_start_pos,
+                                            GtUword top_end_pos,
+                                            const GtUchar *midbuf,
+                                            const GtUchar *lowbuf,
+                                            GtUword low_start_pos,
+                                            GtUword low_end_pos,
+                                            FILE *fp)
+{
+  gt_assert(width > 0);
+  if (pos + 1 < width)
+  {
+    return pos + 1;
+  }
+  gt_assert(pos == width - 1);
+  gt_eoplist_write_lines(one_off,subject_first,
+                         numwidth, width, topbuf,
+                         top_seqlength, top_start_pos, top_end_pos,
+                         midbuf, lowbuf, low_start_pos, low_end_pos, fp);
+  return 0;
+}
+
+void gt_eoplist_set_sequences(GtEoplist *eoplist,
+                              const GtUchar *useq,
+                              GtUword ustart,
+                              GtUword ulen,
+                              const GtUchar *vseq,
+                              GtUword vstart,
+                              GtUword vlen)
+{
+  gt_assert(eoplist != NULL);
+  eoplist->useq = useq;
+  eoplist->ustart = ustart;
+  eoplist->ulen = ulen;
+  eoplist->vseq = vseq;
+  eoplist->vstart = vstart;
+  eoplist->vlen = vlen;
+}
+
+#define EOPLIST_MATCHSYMBOL    '|'
+#define EOPLIST_MISMATCHSYMBOL ' '
+#define EOPLIST_GAPSYMBOL      '-'
+
+#define GT_UPDATE_POSITIVE_INFO(ISMATCH)\
+        if (eoplist->pol_info != NULL)\
+        {\
+          if (prefix_positive < max_history && prefix_positive_sum >= 0)\
+          {\
+            if (ISMATCH)\
+            {\
+              prefix_positive_sum += eoplist->pol_info->match_score;\
+            } else\
+            {\
+              prefix_positive_sum -= eoplist->pol_info->difference_score;\
+            }\
+            if (prefix_positive_sum >= 0)\
+            {\
+              prefix_positive++;\
+            }\
+          }\
+          if (suffix_bits_used < max_history)\
+          {\
+            suffix_bits_used++;\
+          }\
+          suffix_bits >>= 1;\
+          if (ISMATCH)\
+          {\
+            suffix_bits |= set_mask;\
+          }\
+        }
+
+static int gt_eoplist_numwidth(const GtEoplist *eoplist)
+{
+  gt_assert(eoplist != NULL);
+  return 1 + log10((double) MAX(eoplist->ustart + eoplist->ulen - 1,
+                                eoplist->vstart + eoplist->vlen - 1));
+}
+
+void gt_eoplist_format_generic(FILE *fp,
+                               const GtEoplist *eoplist,
+                               GtEoplistReader *eoplist_reader,
+                               const GtUchar *characters,
+                               GtUword top_seqlength,
+                               GtUword low_reference,
+                               GtUword one_off,
+                               bool distinguish_mismatch_match,
+                               bool subject_first,
+                               bool alignment_show_forward,
+                               bool show_complement_characters,
+                               GtUchar wildcardshow)
+{
+  GtCigarOp co;
+  unsigned int pos = 0;
+  GtUword idx_u = 0, idx_v = 0, alignmentlength = 0,
+          firstseedcolumn = GT_UWORD_MAX;
+  GtUchar *topbuf = eoplist_reader->outbuffer, *midbuf = NULL, *lowbuf = NULL;
+  const int numwidth = gt_eoplist_numwidth(eoplist);
+  const GtUword low_start_base
+                  = low_reference == 0 ? eoplist->vstart
+                                       : low_reference - eoplist->vstart;
+  GtUword top_start_pos = eoplist->ustart,
+          low_start_pos = low_start_base;
+
+  gt_assert(alignment_show_forward || top_seqlength > 0);
+  uint64_t suffix_bits = 0, set_mask = 0;
+  GtUword suffix_bits_used = 0, prefix_positive = 0, pol_size = 0,
+          lastseedcolumn = GT_UWORD_MAX;
+  const GtUword max_history = 64;
+  GtWord prefix_positive_sum = 0;
+
+  if (eoplist->pol_info != NULL)
+  {
+    pol_size = GT_MULT2(eoplist->pol_info->cut_depth);
+    set_mask = ((uint64_t) 1) << (max_history - 1);
+  }
+  gt_assert(eoplist_reader != NULL);
+  midbuf = topbuf + eoplist_reader->width;
+  lowbuf = midbuf + eoplist_reader->width;
+  gt_eoplist_reader_reset(eoplist_reader,eoplist,alignment_show_forward);
+  while (gt_eoplist_reader_next_cigar(&co,eoplist_reader,
+                                      distinguish_mismatch_match))
+  {
+    switch (co.eoptype)
+    {
+      GtUword j;
+      GtUchar cc_a, cc_b;
+
+      case GtMatchOp:
+      case GtMismatchOp:
+        for (j = 0; j < co.iteration && idx_u < eoplist->ulen &&
+                                        idx_v < eoplist->vlen; j++)
+        {
+          bool is_match = true;
+
+          if (alignment_show_forward)
+          {
+            cc_a = eoplist->useq[idx_u];
+            cc_b = eoplist->vseq[idx_v];
+          } else
+          {
+            cc_a = eoplist->useq[eoplist->ulen - 1 - idx_u];
+            cc_b = eoplist->vseq[eoplist->vlen - 1 - idx_v];
+          }
+          if (characters != NULL)
+          {
+            if (ISSPECIAL(cc_a))
+            {
+              cc_a = wildcardshow;
+              is_match = false;
+            } else
+            {
+              if (show_complement_characters)
+              {
+                gt_assert(cc_a < 4);
+                cc_a = GT_COMPLEMENTBASE(cc_a);
+              }
+              cc_a = characters[cc_a];
+            }
+            if (ISSPECIAL(cc_b))
+            {
+              cc_b = wildcardshow;
+              is_match = false;
+            } else
+            {
+              if (show_complement_characters)
+              {
+                gt_assert(cc_b < 4);
+                cc_b = GT_COMPLEMENTBASE(cc_b);
+              }
+              cc_b = characters[cc_b];
+            }
+          }
+          topbuf[pos] = cc_a;
+          if (is_match)
+          {
+            is_match = cc_a == cc_b ? true : false;
+          }
+          lowbuf[pos] = cc_b;
+          if (is_match)
+          {
+            if (eoplist->useedoffset <= idx_u &&
+                idx_u < eoplist->useedoffset + eoplist->seedlen)
+            {
+              if (eoplist->display_seed_in_alignment)
+              {
+                midbuf[pos] = (GtUchar) '+';
+              } else
+              {
+                midbuf[pos] = (GtUchar) EOPLIST_MATCHSYMBOL;
+              }
+              if (firstseedcolumn == GT_UWORD_MAX)
+              {
+                firstseedcolumn = alignmentlength;
+              }
+              lastseedcolumn = alignmentlength;
+            } else
+            {
+              midbuf[pos] = (GtUchar) EOPLIST_MATCHSYMBOL;
+            }
+          } else
+          {
+            midbuf[pos] = (GtUchar) EOPLIST_MISMATCHSYMBOL;
+          }
+          pos = gt_eoplist_show_advance(one_off,
+                                        subject_first,
+                                        numwidth,
+                                        pos,
+                                        eoplist_reader->width,
+                                        topbuf,
+                                        top_seqlength,
+                                        top_start_pos,
+                                        eoplist->ustart + idx_u,
+                                        midbuf,
+                                        lowbuf,
+                                        low_start_pos,
+                                        low_start_base + idx_v,
+                                        fp);
+          if (pos == 0)
+          {
+            top_start_pos = eoplist->ustart + idx_u + 1;
+            low_start_pos = low_start_base + idx_v + 1;
+          }
+          GT_UPDATE_POSITIVE_INFO(is_match);
+          alignmentlength++;
+          idx_u++;
+          idx_v++;
+        }
+        break;
+      case GtDeletionOp:
+        for (j = 0; j < co.iteration && idx_u < eoplist->ulen; j++)
+        {
+          cc_a = eoplist->useq[alignment_show_forward ? idx_u
+                                                      : eoplist->ulen-1-idx_u];
+          if (characters != NULL)
+          {
+            if (ISSPECIAL(cc_a))
+            {
+              topbuf[pos] = wildcardshow;
+            } else
+            {
+              if (show_complement_characters)
+              {
+                gt_assert(cc_a < 4);
+                cc_a = GT_COMPLEMENTBASE(cc_a);
+              }
+              topbuf[pos] = characters[cc_a];
+            }
+          } else
+          {
+            topbuf[pos] = cc_a;
+          }
+          midbuf[pos] = EOPLIST_MISMATCHSYMBOL;
+          lowbuf[pos] = EOPLIST_GAPSYMBOL;
+          pos = gt_eoplist_show_advance(one_off,
+                                        subject_first,
+                                        numwidth,
+                                        pos,
+                                        eoplist_reader->width,
+                                        topbuf,
+                                        top_seqlength,
+                                        top_start_pos,
+                                        eoplist->ustart + idx_u,
+                                        midbuf,
+                                        lowbuf,
+                                        low_start_pos,
+                                        low_start_base + idx_v,
+                                        fp);
+          if (pos == 0)
+          {
+            top_start_pos = eoplist->ustart + idx_u + 1;
+            low_start_pos = low_start_base + idx_v + 1;
+          }
+          GT_UPDATE_POSITIVE_INFO(false);
+          alignmentlength++;
+          idx_u++;
+        }
+        break;
+      case GtInsertionOp:
+        for (j = 0; j < co.iteration && idx_v < eoplist->vlen; j++)
+        {
+          cc_b = eoplist->vseq[alignment_show_forward ? idx_v
+                                                      : eoplist->vlen-1-idx_v];
+          topbuf[pos] = EOPLIST_GAPSYMBOL;
+          midbuf[pos] = EOPLIST_MISMATCHSYMBOL;
+          if (characters != NULL)
+          {
+            if (ISSPECIAL(cc_b))
+            {
+              lowbuf[pos] = wildcardshow;
+            } else
+            {
+              if (show_complement_characters)
+              {
+                gt_assert(cc_b < 4);
+                cc_b = GT_COMPLEMENTBASE(cc_b);
+              }
+              lowbuf[pos] = characters[cc_b];
+            }
+          } else
+          {
+            lowbuf[pos] = cc_b;
+          }
+          pos = gt_eoplist_show_advance(one_off,
+                                        subject_first,
+                                        numwidth,
+                                        pos,
+                                        eoplist_reader->width,
+                                        topbuf,
+                                        top_seqlength,
+                                        top_start_pos,
+                                        eoplist->ustart + idx_u,
+                                        midbuf,
+                                        lowbuf,
+                                        low_start_pos,
+                                        low_start_base + idx_v,
+                                        fp);
+          if (pos == 0)
+          {
+            top_start_pos = eoplist->ustart + idx_u + 1;
+            low_start_pos = low_start_base + idx_v + 1;
+          }
+          GT_UPDATE_POSITIVE_INFO(false);
+          alignmentlength++;
+          idx_v++;
+        }
+        break;
+      default:
+        fprintf(stderr,"file %s, line %d: illegal eoptype %d\n",
+                       __FILE__,__LINE__,co.eoptype);
+        exit(GT_EXIT_PROGRAMMING_ERROR);
+    }
+  }
+  if (pos > 0)
+  {
+    gt_eoplist_write_lines(one_off,
+                           subject_first,
+                           numwidth,
+                           pos,
+                           topbuf,
+                           top_seqlength,
+                           top_start_pos,
+                           eoplist->ustart + MIN(idx_u,eoplist->ulen - 1),
+                           midbuf,
+                           lowbuf,
+                           low_start_pos,
+                           low_start_base + MIN(idx_v,eoplist->vlen - 1),
+                           fp);
+  }
+  if (eoplist->pol_info != NULL && eoplist->pol_info_out)
+  {
+    GtUword suffix_positive;
+    GtWord suffix_positive_sum = 0;
+    bool startpolished = false, endpolished = false;
+
+    for (suffix_positive = 0; suffix_positive < suffix_bits_used;
+         suffix_positive++)
+    {
+      suffix_positive_sum += ((suffix_bits & set_mask)
+                                ? eoplist->pol_info->match_score
+                                : -eoplist->pol_info->difference_score);
+      if (suffix_positive_sum < 0)
+      {
+        break;
+      }
+      set_mask >>= 1;
+    }
+    gt_assert(prefix_positive <= alignmentlength);
+    if (prefix_positive >= pol_size || prefix_positive == alignmentlength ||
+        firstseedcolumn < pol_size)
+    {
+      startpolished = true;
+    }
+    if (suffix_positive >= pol_size || suffix_positive == alignmentlength ||
+        (lastseedcolumn != GT_UWORD_MAX &&
+         lastseedcolumn + pol_size > alignmentlength))
+    {
+      endpolished = true;
+    }
+    fprintf(fp, "# polishing(m=" GT_WD ",d=" GT_WD ",p=" GT_WU
+            "): " GT_WU "/" GT_WU,
+            eoplist->pol_info->match_score,
+            -eoplist->pol_info->difference_score,
+            pol_size,
+            prefix_positive,
+            suffix_positive);
+    if (firstseedcolumn < pol_size)
+    {
+      fprintf(fp, ", seed_on_start");
+    }
+    if (lastseedcolumn + pol_size > alignmentlength)
+    {
+      fprintf(fp, ", seed_on_end");
+    }
+    if (eoplist->withpolcheck)
+    {
+      fprintf(fp, "\n");
+      gt_assert(startpolished);
+      gt_assert(endpolished);
+    } else
+    {
+      if (!startpolished)
+      {
+        fprintf(fp, ", start not polished");
+      }
+      if (!endpolished)
+      {
+        fprintf(fp, ", end not polished");
+      }
+      fprintf(fp, "\n");
+    }
+  }
+}
+
+void gt_eoplist_format_exact(FILE *fp,
+                             const GtEoplist *eoplist,
+                             GtEoplistReader *eoplist_reader,
+                             GtUword top_seqlength,
+                             GtUword low_reference,
+                             GtUword one_off,
+                             bool subject_first,
+                             bool alignment_show_forward,
+                             bool show_complement_characters,
+                             const GtUchar *characters)
+{
+  GtUword idx;
+  unsigned int pos = 0, width;
+  GtUchar *topbuf = eoplist_reader->outbuffer, *midbuf = NULL, *lowbuf = NULL;
+  const int numwidth = gt_eoplist_numwidth(eoplist);
+  GtUword top_start_pos = eoplist->ustart,
+          low_start_pos = low_reference == 0 ? eoplist->vstart
+                                             : low_reference - eoplist->vstart;
+
+  gt_assert(alignment_show_forward || top_seqlength > 0);
+  width = MIN(eoplist->ulen, eoplist_reader->width);
+  midbuf = topbuf + width;
+  for (idx = 0; idx < (GtUword) width; idx++)
+  {
+    midbuf[idx] = (GtUchar) EOPLIST_MATCHSYMBOL;
+  }
+  lowbuf = midbuf + width;
+  for (idx = 0; idx < eoplist->ulen; idx++)
+  {
+    GtUchar cc_a = eoplist->useq[alignment_show_forward ? idx
+                                                        : eoplist->ulen-1-idx];
+
+    if (characters != NULL)
+    {
+      if (show_complement_characters)
+      {
+        cc_a = GT_COMPLEMENTBASE(cc_a);
+      }
+      cc_a = characters[cc_a];
+    }
+    lowbuf[pos] = topbuf[pos] = cc_a;
+    pos = gt_eoplist_show_advance(one_off,
+                                  subject_first,
+                                  numwidth,
+                                  pos,
+                                  width,
+                                  topbuf,
+                                  top_seqlength,
+                                  top_start_pos,
+                                  eoplist->ustart + idx,
+                                  midbuf,
+                                  lowbuf,
+                                  low_start_pos,
+                                  eoplist->vstart + idx,fp);
+    if (pos == 0)
+    {
+      top_start_pos = eoplist->ustart + idx + 1;
+      low_start_pos = eoplist->vstart + idx + 1;
+    }
+  }
+  if (pos > 0)
+  {
+    gt_eoplist_write_lines(one_off,
+                           subject_first,
+                           numwidth,
+                           pos,
+                           topbuf,
+                           top_seqlength,
+                           top_start_pos,
+                           eoplist->ustart + MIN(idx,eoplist->ulen - 1),
+                           midbuf,
+                           lowbuf,
+                           low_start_pos,
+                           eoplist->vstart + MIN(idx,eoplist->vlen - 1),
+                           fp);
+  }
+}
+
+void gt_eoplist_verify(const GtEoplist *eoplist,
+                       GtEoplistReader *eoplist_reader,
+                       GtUword edist)
+{
+  GtCigarOp co;
+  GtUword sumulen = 0, sumvlen = 0, sumdist = 0;
+  const bool distinguish_mismatch_match = true;
+
+  gt_assert(eoplist != NULL);
+  gt_eoplist_reader_reset(eoplist_reader,eoplist,true);
+  if (eoplist->useq == NULL)
+  {
+    gt_assert(eoplist->vseq == NULL && distinguish_mismatch_match);
+  } else
+  {
+    gt_assert(eoplist->vseq != NULL);
+  }
+  while (gt_eoplist_reader_next_cigar(&co,eoplist_reader,
+                                      distinguish_mismatch_match))
+  {
+    if (co.eoptype == GtDeletionOp)
+    {
+      sumulen += co.iteration;
+      sumdist += co.iteration;
+    } else
+    {
+      if (co.eoptype == GtInsertionOp)
+      {
+        sumvlen += co.iteration;
+        sumdist += co.iteration;
+      } else
+      {
+        if (co.eoptype == GtMismatchOp)
+        {
+          sumdist += co.iteration;
+        }
+        if (eoplist->useq != NULL)
+        {
+          GtUword idx;
+
+          for (idx = 0; idx < co.iteration; idx++)
+          {
+            const GtUchar a = eoplist->useq[sumulen+idx],
+                          b = eoplist->vseq[sumvlen+idx];
+            if (a == b && !ISSPECIAL(a))
+            {
+              gt_assert(co.eoptype == GtMatchOp);
+            } else
+            {
+              gt_assert(!distinguish_mismatch_match ||
+                        co.eoptype == GtMismatchOp);
+            }
+            if (!distinguish_mismatch_match && (a != b || ISSPECIAL(a)))
+            {
+              sumdist++;
+            }
+          }
+        }
+        sumulen += co.iteration;
+        sumvlen += co.iteration;
+      }
+    }
+  }
+  if (eoplist->ulen != sumulen)
+  {
+    fprintf(stderr,"ulen = " GT_WU " != " GT_WU " = sumulen\n",
+            eoplist->ulen,sumulen);
+    exit(GT_EXIT_PROGRAMMING_ERROR);
+  }
+  if (eoplist->vlen != sumvlen)
+  {
+    fprintf(stderr,"vlen = " GT_WU " != " GT_WU " = sumvlen\n",
+            eoplist->vlen,sumvlen);
+    exit(GT_EXIT_PROGRAMMING_ERROR);
+  }
+  if (edist != sumdist)
+  {
+    fprintf(stderr,"edist = " GT_WU " != " GT_WU " = sumdist\n",
+            edist,sumdist);
+    exit(GT_EXIT_PROGRAMMING_ERROR);
+  }
+}
+
+void gt_eoplist_display_seed_in_alignment_set(GtEoplist *eoplist)
+{
+  gt_assert(eoplist != NULL);
+  eoplist->display_seed_in_alignment = true;
+}
+
+void gt_eoplist_set_seedoffset(GtEoplist *eoplist,
+                               GtUword useedoffset,
+                               GtUword seedlen)
+{
+  eoplist->useedoffset = useedoffset;
+  eoplist->seedlen = seedlen;
+}
+
+void gt_eoplist_polished_ends(GtEoplist *eoplist,
+                              const GtFtPolishing_info *pol_info,
+                              bool withpolcheck,
+                              bool pol_info_out)
+{
+  gt_assert(eoplist != NULL);
+  eoplist->pol_info = pol_info;
+  eoplist->withpolcheck = withpolcheck;
+  eoplist->pol_info_out = pol_info_out;
+}
diff --git a/src/match/ft-eoplist.h b/src/match/ft-eoplist.h
new file mode 100644
index 0000000..46ff759
--- /dev/null
+++ b/src/match/ft-eoplist.h
@@ -0,0 +1,222 @@
+#ifndef FT_EOPLIST_H
+#define FT_EOPLIST_H
+#include <stdbool.h>
+#include "core/unused_api.h"
+#include "core/chardef.h"
+#include "core/readmode.h"
+#include "match/ft-polish.h"
+
+/* A list of edit operation is representation is represented by the following
+   opaque type */
+
+typedef struct GtEoplist GtEoplist;
+
+/* The constructor method */
+GtEoplist *gt_eoplist_new(void);
+
+/* the destructor */
+void gt_eoplist_delete(GtEoplist *eoplist);
+
+/* reset the list to empty it */
+void gt_eoplist_reset(GtEoplist *eoplist);
+
+/* add a match of the given length to the eoplist */
+void gt_eoplist_match_add(GtEoplist *eoplist,GtUword length);
+
+/* add a single mismatch to the eoplist */
+void gt_eoplist_mismatch_add(GtEoplist *eoplist);
+
+/* add a single deletion to the eoplist */
+void gt_eoplist_deletion_add(GtEoplist *eoplist);
+
+/* add a single insertion to the eoplist */
+void gt_eoplist_insertion_add(GtEoplist *eoplist);
+
+/* reverse the end of an eoplist beginning with index firstindex. */
+void gt_eoplist_reverse_end(GtEoplist *eoplist,GtUword firstindex);
+
+/* obtain length of eoplist */
+GtUword gt_eoplist_length(const GtEoplist *eoplist);
+
+/* return number of matches in eoplist */
+GtUword gt_eoplist_matches_count(const GtEoplist *eoplist);
+
+/* return number of mismatches in eoplist */
+GtUword gt_eoplist_mismatches_count(const GtEoplist *eoplist);
+
+/* return number of deletions in eoplist */
+GtUword gt_eoplist_deletions_count(const GtEoplist *eoplist);
+
+/* return number of insertions in eoplist */
+GtUword gt_eoplist_insertions_count(const GtEoplist *eoplist);
+
+/* To inspect an edit operation list, one employs the following class */
+
+typedef struct GtEoplistReader GtEoplistReader;
+
+/* verify that the given eoplist represents an alignment of the sequences
+   stored by the eoplist->useq and and eoplist->vseq of length
+   eoplist->ulen and eoplist->vlen. If eoplist->useq and eoplist->vseq
+   have not been set, then checs involing the sequence are not
+   perforemed. */
+
+void gt_eoplist_verify(const GtEoplist *eoplist,
+                       GtEoplistReader *eoplist_reader,
+                       GtUword edist);
+
+/* The constructor for the reader, initially set to be empty. */
+GtEoplistReader *gt_eoplist_reader_new(void);
+
+/* The destructor */
+void gt_eoplist_reader_delete(GtEoplistReader *eoplist_reader);
+
+/* There are two ways to access the eoplist:
+   1) The first way is to
+   enumerate the symbols of the cigar
+   string equivalent to the eoplist. We recommend to not store the
+   entire cigar string (consisting of all cigar operations), as the eoplist
+   is more space efficient. A cigar symbol consists of the type of the
+   operation and an iteration value which encodes how many times the operation
+   is applied. Hence the following two definitions make sense. */
+
+typedef enum
+{
+  GtDeletionOp,
+  GtInsertionOp,
+  GtMismatchOp,
+  GtMatchOp,
+  GtUndefinedOp
+} GtEopType;
+
+/* The following function show an <GtEoptype>-value according to the convention
+   of the SAM format. If the flag <distinguish_mismatch_match> is true,
+   then for matches and mismatches different character '=' and 'X', respectively
+   are returned. Otherwise the same character 'M' is returned.  */
+char gt_eoplist_pretty_print(GtEopType eoptype,bool distinguish_mismatch_match);
+
+typedef struct
+{
+  GtEopType eoptype;
+  GtUword iteration;
+} GtCigarOp;
+
+/* The following method returns true if and only if there is a next
+   cigar operation. If it returns true, then it stores the cigar operation
+   in the memory location pointed to by cigar_op. */
+
+bool gt_eoplist_reader_next_cigar(GtCigarOp *cigar_op,
+                                  GtEoplistReader *eoplist_reader,
+                                  bool distinguish_mismatch_match);
+
+/* The second way of accessing an eoplist is to enumerate the corresponding
+   sequence of segments dividing the aligned sequences into non-overlapping
+   pairs of segments of u and v. The segments on u have length delta, except
+   possibly for the last segment, which only has length delta if
+   len_u mod delta == 0. the last segment on u has length len_u mod delta.
+   The segments of v have a variable length such that the correspoding
+   substring is the substring which aligns with the corresponding segment of
+   u. Segments are represented by the following type. */
+
+typedef struct
+{
+  GtUword aligned_u,
+          aligned_v;
+} GtEoplistSegment;
+
+/*
+  The following function takes an eoplist reader and returns true if and
+  only if there are segments. If it returns true, the segment length are
+  stored in the structure pointed to by <segment>. */
+
+bool gt_eoplist_reader_next_segment(GtEoplistSegment *segment,
+                                    GtEoplistReader *eoplist_reader,
+                                    GtUword delta);
+
+/* The characters in the following string correspond to the 0-based integer
+   representing the edit operations */
+
+/* for example, the following code snipped outputs the cigarstring
+   in a single line to stdout
+
+  bool distinguish_mismatch_match = true;
+  GtEoplistReader *eoplist_reader = gt_eoplist_reader_new();
+  GtCigarOp co;
+
+  while (gt_eoplist_reader_next_cigar(&co,eoplist_reader,
+                                      distinguish_mismatch_match))
+  {
+    printf("" GT_WU "%c",co.iteration,
+                   gt_eoplist_pretty_print(co.eoptype,
+                                           distinguish_mismatch_match));
+  }
+  printf("\n");
+*/
+
+void gt_eoplist_reader_reset(GtEoplistReader *eoplist_reader,
+                             const GtEoplist *eoplist,
+                             bool forward);
+
+void gt_eoplist_reader_reset_width(GtEoplistReader *eoplist_reader,
+                                   unsigned int width);
+
+void gt_eoplist_set_sequences(GtEoplist *eoplist,
+                              const GtUchar *useq,
+                              GtUword ustart,
+                              GtUword ulen,
+                              const GtUchar *vseq,
+                              GtUword vstart,
+                              GtUword vlen);
+
+void gt_eoplist_format_generic(FILE *fp,
+                               const GtEoplist *eoplist,
+                               GtEoplistReader *eoplist_reader,
+                               const GtUchar *characters,
+                               GtUword top_seqlength,
+                               GtUword low_reference,
+                               GtUword one_off,
+                               bool distinguish_mismatch_match,
+                               bool subject_first,
+                               bool alignment_show_forward,
+                               bool show_complement_characters,
+                               GtUchar wildcardshow);
+
+void gt_eoplist_format_exact(FILE *fp,
+                             const GtEoplist *eoplist,
+                             GtEoplistReader *eoplist_reader,
+                             GtUword top_seqlength,
+                             GtUword low_reference,
+                             GtUword one_off,
+                             bool subject_first,
+                             bool alignment_show_forward,
+                             bool show_complement_characters,
+                             const GtUchar *characters);
+
+double gt_eoplist_segments_entropy(const GtEoplist *eoplist,GtUword delta);
+
+void gt_eoplist_from_cigar(GtEoplist *eoplist,const char *cigarstring,char sep);
+
+void gt_eoplist_read_trace(GtEoplist *eoplist,
+                           const char *trace,
+                           char separator);
+
+void gt_eoplist_trace2cigar(GtEoplist *eoplist,bool dtrace,GtUword trace_delta);
+
+char *gt_eoplist2cigar_string(const GtEoplist *eoplist,
+                              bool distinguish_mismatch_match);
+
+void gt_eoplist_display_seed_in_alignment_set(GtEoplist *eoplist);
+
+void gt_eoplist_set_seedoffset(GtEoplist *eoplist,
+                               GtUword useedoffset,
+                               GtUword seedlen);
+
+void gt_eoplist_show_plain(const GtEoplist *eoplist,FILE *fp);
+
+void gt_eoplist_show_cigar(GtEoplistReader *eoplist_reader,
+                           bool distinguish_mismatch_match,FILE *fp);
+
+void gt_eoplist_polished_ends(GtEoplist *eoplist,
+                              const GtFtPolishing_info *pol_info,
+                              bool withpolcheck,
+                              bool pol_info_out);
+#endif
diff --git a/src/match/ft-front-generation.c b/src/match/ft-front-generation.c
index 545bd46..dee1bde 100644
--- a/src/match/ft-front-generation.c
+++ b/src/match/ft-front-generation.c
@@ -8,30 +8,19 @@
 #endif
 #include "core/assert_api.h"
 #include "core/divmodmul.h"
-#include "core/unused_api.h"
-#include "core/arraydef.h"
 #include "core/ma_api.h"
-#include "core/types_api.h"
-#include "ft-front-generation.h"
-
-#define BACKTRACEBITS 3
-
-typedef uint16_t GtFrontGenerationValue;
-#define GT_FRONTGENERATION_VALUE_MAX\
-        ((1UL << (sizeof(GtFrontGenerationValue) * CHAR_BIT)) - 1)
+#include "core/unused_api.h"
+#include "match/ft-front-generation.h"
+#include "match/ft-eoplist.h"
 
-typedef struct
-{
-  GtFrontGenerationValue trimleft_diff,
-                         valid;
-} GtFrontGeneration;
+#define GT_FT_BACKTRACEBITS 3
 
 typedef struct
 {
-  uint32_t bits:BACKTRACEBITS,     /* combination of FT_EOP_REPLACEMENT
-                                                     FT_EOP_INSERTION
-                                                     FT_EOP_DELETION */
-           lcs:(32-BACKTRACEBITS); /* longest common suffix */
+  uint32_t bits:GT_FT_BACKTRACEBITS,     /* combination of FT_EOP_MISMATCH
+                                                           FT_EOP_INSERTION
+                                                           FT_EOP_DELETION */
+           lcs:(32 - GT_FT_BACKTRACEBITS); /* longest common suffix */
 } GtBackreftable;
 
 typedef struct
@@ -50,10 +39,8 @@ typedef struct
           lcs_sum,
           pathlength;
   unsigned int row, lcs;
-  uint8_t trace;
-#ifndef OUTSIDE_OF_GT
-  uint8_t eopcode;
-#endif
+  uint8_t trace,
+          eopcode;
 } GtBacktraceFrontStackelem;
 
 typedef struct
@@ -62,27 +49,38 @@ typedef struct
   GtUword nextfree, allocated;
 } GtBacktraceFrontStack;
 
-struct GtFronttrace
+typedef uint16_t GtFrontGenerationValue;
+#define GT_FRONTGENERATION_VALUE_MAX\
+        ((1UL << (sizeof(GtFrontGenerationValue) * CHAR_BIT)) - 1)
+
+typedef struct
+{
+  GtFrontGenerationValue trimleft_diff,
+                         valid;
+} GtFrontGeneration;
+
+struct GtFrontTrace
 {
-  GtFrontGeneration *gen_table;
   GtBackreftable *backref_table;
+  GtUword maxlcs,
+          backref_nextfree,
+          backref_allocated;
+  /* from now on all values are used for the trimming version only */
+  GtFrontGeneration *gen_table;
 #ifdef WITHDISTRIBUTION
   Distribution *lcs_dist, *valid_dist, *trimleft_diff_dist, *space_per_pos_dist;
 #endif
   GtBacktraceFrontpath *backtracepath;
   GtBacktraceFrontStack backtracestack;
   GtUword backtracepath_allocated,
-          backref_nextfree,
-          backref_allocated,
           gen_nextfree,
           gen_allocated,
-          maxlcs,
           previoustrimleft;
 };
 
-GtFronttrace *front_trace_new(void)
+GtFrontTrace *front_trace_new(void)
 {
-  GtFronttrace *front_trace = gt_malloc(sizeof *front_trace);
+  GtFrontTrace *front_trace = gt_malloc(sizeof *front_trace);
 
   gt_assert(front_trace != NULL);
   /*printf("sizeof *backref_table=" GT_WU " bytes\n",
@@ -91,10 +89,10 @@ GtFronttrace *front_trace_new(void)
   front_trace->backref_nextfree = 0;
   front_trace->backref_allocated = 0;
   front_trace->gen_table = NULL;
+  front_trace->maxlcs = (1 << (32 - GT_FT_BACKTRACEBITS)) - 1;
   front_trace->gen_allocated = 0;
   front_trace->gen_nextfree = 0;
   front_trace->previoustrimleft = 0;
-  front_trace->maxlcs = (1 << (32-BACKTRACEBITS)) - 1;
 #ifdef WITHDISTRIBUTION
   front_trace->lcs_dist = distribution_new();
   front_trace->valid_dist = distribution_new();
@@ -110,7 +108,7 @@ GtFronttrace *front_trace_new(void)
 }
 
 #ifdef WITHDISTRIBUTION
-static size_t front_trace_size(const GtFronttrace *front_trace)
+static size_t front_trace_size(const GtFrontTrace *front_trace)
 {
   gt_assert(front_trace != NULL);
   return sizeof *front_trace->gen_table * front_trace->gen_nextfree +
@@ -118,7 +116,7 @@ static size_t front_trace_size(const GtFronttrace *front_trace)
 }
 #endif
 
-void front_trace_reset(GtFronttrace *front_trace,
+void front_trace_reset(GtFrontTrace *front_trace,
                        GT_UNUSED GtUword sumseqlen)
 {
 #ifdef WITHDISTRIBUTION
@@ -134,7 +132,7 @@ void front_trace_reset(GtFronttrace *front_trace,
   front_trace->gen_nextfree = 0;
 }
 
-void front_trace_delete(GtFronttrace *front_trace)
+void front_trace_delete(GtFrontTrace *front_trace)
 {
   if (front_trace != NULL)
   {
@@ -158,7 +156,7 @@ void front_trace_delete(GtFronttrace *front_trace)
   }
 }
 
-void front_trace_add_gen(GtFronttrace *front_trace,GtUword trimleft,
+void front_trace_add_gen(GtFrontTrace *front_trace,GtUword trimleft,
                          GtUword valid)
 {
   gt_assert (front_trace != NULL);
@@ -196,8 +194,9 @@ void front_trace_add_gen(GtFronttrace *front_trace,GtUword trimleft,
   front_trace->gen_table[front_trace->gen_nextfree++].valid = valid;
 }
 
-void front_trace_add_trace(GtFronttrace *front_trace,uint8_t backreference,
-                           unsigned int lcs)
+void front_trace_add_trace(GtFrontTrace *front_trace,
+                           uint8_t backreference,
+                           uint32_t localmatch_count)
 {
   gt_assert (front_trace != NULL);
   if (front_trace->backref_nextfree >= front_trace->backref_allocated)
@@ -213,8 +212,9 @@ void front_trace_add_trace(GtFronttrace *front_trace,uint8_t backreference,
   gt_assert(front_trace->backref_nextfree < front_trace->backref_allocated);
   front_trace->backref_table[front_trace->backref_nextfree].bits
     = backreference;
-  gt_assert(lcs <= front_trace->maxlcs);
-  front_trace->backref_table[front_trace->backref_nextfree++].lcs = lcs;
+  gt_assert(localmatch_count <= front_trace->maxlcs);
+  front_trace->backref_table[front_trace->backref_nextfree++].lcs
+    = localmatch_count;
 #ifdef WITHDISTRIBUTION
   distribution_add(front_trace->lcs_dist,lcs);
 #endif
@@ -222,8 +222,8 @@ void front_trace_add_trace(GtFronttrace *front_trace,uint8_t backreference,
 
 /* the following function also works for any point in a front */
 
-static GtUword polished_point2offset(GT_UNUSED const GtFronttrace *front_trace,
-                                     const Polished_point *pp)
+static GtUword polished_point2offset(GT_UNUSED const GtFrontTrace *front_trace,
+                                     const GtFtPolished_point *pp)
 {
   GtWord base_diagonal, pp_diagonal;
 
@@ -250,79 +250,6 @@ static GtUword valid_total_fronts(const GtFrontGeneration *gen_table,
   return valid_total;
 }
 
-char show_eopcode(GT_UNUSED uint8_t eopcode)
-{
-#ifndef OUTSIDE_OF_GT
-  if (eopcode == FT_EOPCODE_DELETION)
-  {
-    return 'D';
-  } else
-  {
-    if (eopcode == FT_EOPCODE_INSERTION)
-    {
-      return 'I';
-    } else
-    {
-      return 'R';
-    }
-  }
-#else
-  return '\0';
-#endif
-}
-
-#ifndef OUTSIDE_OF_GT
-void eoplist_show(const GtArrayuint8_t *eoplist)
-{
-  GtUword idx;
-
-  printf("[");
-  for (idx = 0; idx < eoplist->nextfreeuint8_t; idx++)
-  {
-    if (eoplist->spaceuint8_t[idx] == FT_EOPCODE_DELETION)
-    {
-      printf("D");
-    } else
-    {
-      if (eoplist->spaceuint8_t[idx] == FT_EOPCODE_INSERTION)
-      {
-        printf("I");
-      } else
-      {
-        GtUword repnum;
-        for (repnum = 0; repnum <= eoplist->spaceuint8_t[idx]; repnum++)
-        {
-          printf("R");
-        }
-      }
-    }
-  }
-  printf("]\n");
-}
-
-#define GT_EOPLIST_PUSH(EOPLIST,EOP)\
-        {\
-          const GtUword addamount = (EOPLIST)->allocateduint8_t * 0.2 + 128;\
-          GT_STOREINARRAY(EOPLIST,uint8_t,addamount,(uint8_t) (EOP));\
-        }
-
-void front_trace_multireplacement(GtArrayuint8_t *eoplist,GtUword repnum)
-{
-  gt_assert(eoplist != NULL && repnum > 0);
-  while (true)
-  {
-    if (repnum <= FT_EOPCODE_MAXREPLACEMENT)
-    {
-      gt_assert(repnum > 0);
-      GT_EOPLIST_PUSH(eoplist,repnum - 1);
-      break;
-    }
-    GT_EOPLIST_PUSH(eoplist,FT_EOPCODE_MAXREPLACEMENT - 1);
-    repnum -= FT_EOPCODE_MAXREPLACEMENT;
-  }
-}
-#endif
-
 static void gt_check_diagonal_run(GT_UNUSED const GtUchar *useq,
                                   GT_UNUSED const GtUchar *vseq,
                                   GT_UNUSED GtWord diagonal,
@@ -338,19 +265,19 @@ static void gt_check_diagonal_run(GT_UNUSED const GtUchar *useq,
   }
 }
 
-static void front_trace2eoplist_directed(GtArrayuint8_t *eoplist,
-                                         GtFronttrace *front_trace,
-                                         const Polished_point *pp,
+static void front_trace2eoplist_directed(GtEoplist *eoplist,
+                                         const GtFrontTrace *front_trace,
                                          const GtUchar *useq,
                                          GT_UNUSED GtUword ulen,
                                          const GtUchar *vseq,
-                                         GT_UNUSED GtUword vlen)
+                                         GT_UNUSED GtUword vlen,
+                                         const GtFtPolished_point *pp)
 {
   GtUword distance, localoffset, globaloffset, remainingvalidfronts,
           totalrunlength = 0, trimleft;
   GtWord diagonal;
   unsigned int row, lcs;
-  uint8_t trace, preferred_eop = FT_EOP_REPLACEMENT;
+  uint8_t trace, preferred_eop = FT_EOP_MISMATCH;
 
   gt_assert(front_trace != NULL && front_trace->gen_nextfree > 0 && pp != NULL);
   localoffset = polished_point2offset(front_trace,pp);
@@ -373,12 +300,10 @@ static void front_trace2eoplist_directed(GtArrayuint8_t *eoplist,
 
     if (eoplist != NULL)
     {
-#ifndef OUTSIDE_OF_GT
       if (lcs > 0)
       {
-        front_trace_multireplacement(eoplist,lcs);
+        gt_eoplist_match_add(eoplist,lcs);
       }
-#endif
     } else
     {
       gt_check_diagonal_run(useq, vseq, diagonal, row - lcs, row);
@@ -386,7 +311,7 @@ static void front_trace2eoplist_directed(GtArrayuint8_t *eoplist,
     if (trace & preferred_eop)
     {
       totalrunlength++;
-      if (preferred_eop == FT_EOP_REPLACEMENT)
+      if (preferred_eop == FT_EOP_MISMATCH)
       {
         nextrowadd = 1;
       } else
@@ -406,9 +331,9 @@ static void front_trace2eoplist_directed(GtArrayuint8_t *eoplist,
       }
     } else
     {
-      if (trace & FT_EOP_REPLACEMENT)
+      if (trace & FT_EOP_MISMATCH)
       {
-        preferred_eop = FT_EOP_REPLACEMENT;
+        preferred_eop = FT_EOP_MISMATCH;
         nextrowadd = 1;
       } else
       {
@@ -428,24 +353,22 @@ static void front_trace2eoplist_directed(GtArrayuint8_t *eoplist,
         }
       }
     }
-#ifndef OUTSIDE_OF_GT
     if (eoplist != NULL)
     {
       if (preferred_eop == FT_EOP_DELETION)
       {
-        GT_EOPLIST_PUSH(eoplist,FT_EOPCODE_DELETION);
+        gt_eoplist_deletion_add(eoplist);
       } else
       {
         if (preferred_eop == FT_EOP_INSERTION)
         {
-          GT_EOPLIST_PUSH(eoplist,FT_EOPCODE_INSERTION);
+          gt_eoplist_insertion_add(eoplist);
         } else
         {
-          GT_EOPLIST_PUSH(eoplist,0);
+          gt_eoplist_mismatch_add(eoplist);
         }
       }
     }
-#endif
     gt_assert(trimleft >=
               (GtUword) front_trace->gen_table[distance].trimleft_diff);
     trimleft -= (GtUword) front_trace->gen_table[distance].trimleft_diff;
@@ -465,12 +388,10 @@ static void front_trace2eoplist_directed(GtArrayuint8_t *eoplist,
   }
   /*printf("avg runlength=%.2f\n",(double) pp->distance/totalrunlength);*/
   gt_assert(globaloffset + localoffset == 0 && trace == 0);
-#ifndef OUTSIDE_OF_GT
   if (eoplist != NULL && lcs > 0)
   {
-    front_trace_multireplacement(eoplist,lcs);
+    gt_eoplist_match_add(eoplist,lcs);
   }
-#endif
 }
 
 typedef struct
@@ -493,7 +414,14 @@ static GtBacktraceFrontStackelem *stack_top_ptr_get(
   return stack->space + stack->nextfree++;
 }
 
-static void gt_front_trace_single_push(GtFronttrace *front_trace,
+typedef enum
+{
+  backtracepath_mismatch,
+  backtracepath_deletion,
+  backtracepath_insertion
+} Backtracepathflag;
+
+static void gt_front_trace_single_push(GtFrontTrace *front_trace,
                                        GtUword match_score,
                                        GtWord diagonal,
                                        GtWord scoresum,
@@ -502,9 +430,7 @@ static void gt_front_trace_single_push(GtFronttrace *front_trace,
                                        GtUword globaloffset,
                                        GtUword trimleft,
                                        GtUword lcs_sum,
-#ifndef OUTSIDE_OF_GT
-                                       uint8_t eopcode,
-#endif
+                                       Backtracepathflag eopcode,
                                        GtUword pathlength)
 {
   GtUword localoffset;
@@ -532,13 +458,11 @@ static void gt_front_trace_single_push(GtFronttrace *front_trace,
   stack_top_ptr->lcs_sum = lcs_sum + stack_top_ptr->lcs;
   stack_top_ptr->scoresum = scoresum + stack_top_ptr->lcs * match_score;
   stack_top_ptr->pathlength = pathlength + 1;
-#ifndef OUTSIDE_OF_GT
   stack_top_ptr->eopcode = eopcode;
-#endif
 }
 
 static void gt_front_trace_backtrace_step(GtBacktraceFrontInfo *bti,
-                                          GtFronttrace *front_trace,
+                                          GtFrontTrace *front_trace,
                                           GtWord diagonal,
                                           GtWord scoresum,
                                           GtUword distance,
@@ -564,9 +488,7 @@ static void gt_front_trace_backtrace_step(GtBacktraceFrontInfo *bti,
                                globaloffset,
                                trimleft,
                                lcs_sum,
-#ifndef OUTSIDE_OF_GT
-                               FT_EOPCODE_INSERTION,
-#endif
+                               backtracepath_insertion,
                                pathlength);
     if (!bti->on_polsize_suffix)
     {
@@ -586,17 +508,15 @@ static void gt_front_trace_backtrace_step(GtBacktraceFrontInfo *bti,
                                globaloffset,
                                trimleft,
                                lcs_sum,
-#ifndef OUTSIDE_OF_GT
-                               FT_EOPCODE_DELETION,
-#endif
+                               backtracepath_deletion,
                                pathlength);
     if (!bti->on_polsize_suffix)
     {
       return;
     }
   }
-  if ((trace & FT_EOP_REPLACEMENT) && (!bti->on_polsize_suffix ||
-                                       scoresum >= bti->difference_score))
+  if ((trace & FT_EOP_MISMATCH) && (!bti->on_polsize_suffix ||
+                                    scoresum >= bti->difference_score))
   {
     gt_front_trace_single_push(front_trace,
                                bti->match_score,
@@ -607,15 +527,12 @@ static void gt_front_trace_backtrace_step(GtBacktraceFrontInfo *bti,
                                globaloffset,
                                trimleft,
                                lcs_sum,
-#ifndef OUTSIDE_OF_GT
-                               0,
-#endif
+                               backtracepath_mismatch,
                                pathlength);
   }
 }
 
-#ifndef OUTSIDE_OF_GT
-static void gt_front_trace_backtracepath2eoplist(GtArrayuint8_t *eoplist,
+static void gt_front_trace_backtracepath2eoplist(GtEoplist *eoplist,
                                                  unsigned int lastlcs,
                                                  const GtBacktraceFrontpath
                                                    *backtracepath,
@@ -627,28 +544,31 @@ static void gt_front_trace_backtracepath2eoplist(GtArrayuint8_t *eoplist,
 
   if (lastlcs > 0)
   {
-    front_trace_multireplacement(eoplist,lastlcs);
+    gt_eoplist_match_add(eoplist,lastlcs);
     matches += lastlcs;
   }
+  gt_assert(eoplist != NULL);
   for (idx = 0; idx < elementsinbacktracepath; idx++)
   {
-    if (backtracepath[idx].eopcode == FT_EOPCODE_DELETION)
+    if (backtracepath[idx].eopcode == backtracepath_deletion)
     {
+      gt_eoplist_deletion_add(eoplist);
       deletions++;
     } else
     {
-      if (backtracepath[idx].eopcode == FT_EOPCODE_INSERTION)
+      if (backtracepath[idx].eopcode == backtracepath_insertion)
       {
+        gt_eoplist_insertion_add(eoplist);
         insertions++;
       } else
       {
+        gt_eoplist_mismatch_add(eoplist);
         mismatches++;
       }
     }
-    GT_EOPLIST_PUSH(eoplist,backtracepath[idx].eopcode);
     if (backtracepath[idx].lcs > 0)
     {
-      front_trace_multireplacement(eoplist,backtracepath[idx].lcs);
+      gt_eoplist_match_add(eoplist,backtracepath[idx].lcs);
       matches += backtracepath[idx].lcs;
     }
   }
@@ -673,11 +593,10 @@ static void gt_front_trace_backtracepath2eoplist(GtArrayuint8_t *eoplist,
   }
   */
 }
-#endif
 
-static void front_trace2polished_eoplist(GtArrayuint8_t *eoplist,
-                                         GtFronttrace *front_trace,
-                                         const Polished_point *pp,
+static void front_trace2polished_eoplist(GtEoplist *eoplist,
+                                         GtFrontTrace *front_trace,
+                                         const GtFtPolished_point *pp,
                                          GtUword pol_size,
                                          GtWord match_score,
                                          GtWord difference_score,
@@ -689,9 +608,8 @@ static void front_trace2polished_eoplist(GtArrayuint8_t *eoplist,
   GtUword localoffset, globaloffset, remainingvalidfronts;
   GtBacktraceFrontStackelem *stack_top_ptr;
   GtBacktraceFrontInfo bti;
-#ifndef OUTSIDE_OF_GT
   unsigned int lastlcs;
-#endif
+
   bti.ulen = ulen;
   bti.vlen = vlen;
   bti.match_score = match_score;
@@ -719,12 +637,9 @@ static void front_trace2polished_eoplist(GtArrayuint8_t *eoplist,
   stack_top_ptr->trace
     = front_trace->backref_table[globaloffset + localoffset].bits;
   stack_top_ptr->row = pp->row;
-#ifndef OUTSIDE_OF_GT
   stack_top_ptr->eopcode = 0;
-  lastlcs =
-#endif
-  stack_top_ptr->lcs
-    = front_trace->backref_table[globaloffset + localoffset].lcs;
+  lastlcs = stack_top_ptr->lcs
+          = front_trace->backref_table[globaloffset + localoffset].lcs;
   stack_top_ptr->scoresum = stack_top_ptr->lcs * match_score;
   stack_top_ptr->globaloffset = globaloffset;
   stack_top_ptr->trimleft = pp->trimleft;
@@ -740,7 +655,6 @@ static void front_trace2polished_eoplist(GtArrayuint8_t *eoplist,
     {
       bti.on_polsize_suffix = false;
     }
-#ifndef OUTSIDE_OF_GT
     if (stack_top_ptr->pathlength > 0)
     {
       gt_assert(stack_top_ptr->pathlength - 1 <= pp->distance);
@@ -749,7 +663,6 @@ static void front_trace2polished_eoplist(GtArrayuint8_t *eoplist,
       front_trace->backtracepath[stack_top_ptr->pathlength-1].lcs
         = stack_top_ptr->lcs;
     }
-#endif
     if (stack_top_ptr->trace != 0)
     {
       if (eoplist == NULL)
@@ -778,21 +691,22 @@ static void front_trace2polished_eoplist(GtArrayuint8_t *eoplist,
       break;
     }
   }
-#ifndef OUTSIDE_OF_GT
   gt_assert(stack_top_ptr != NULL);
-  gt_front_trace_backtracepath2eoplist(eoplist,
-                                       lastlcs,
-                                       front_trace->backtracepath,
-                                       stack_top_ptr->pathlength,
-                                       ulen,
-                                       vlen);
-#endif
+  if (eoplist != NULL)
+  {
+    gt_front_trace_backtracepath2eoplist(eoplist,
+                                         lastlcs,
+                                         front_trace->backtracepath,
+                                         stack_top_ptr->pathlength,
+                                         ulen,
+                                         vlen);
+  }
 }
 
 void front_trace2eoplist(bool polished,
-                         GtArrayuint8_t *eoplist,
-                         GtFronttrace *front_trace,
-                         const Polished_point *pp,
+                         GtEoplist *eoplist,
+                         GtFrontTrace *front_trace,
+                         const GtFtPolished_point *pp,
                          GtUword pol_size,
                          GtWord match_score,
                          GtWord difference_score,
@@ -817,10 +731,123 @@ void front_trace2eoplist(bool polished,
   {
     front_trace2eoplist_directed(eoplist,
                                  front_trace,
-                                 pp,
                                  useq,
                                  ulen,
                                  vseq,
-                                 vlen);
+                                 vlen,
+                                 pp);
+  }
+}
+void gt_front_trace2eoplist_full_front_directed(GtEoplist *eoplist,
+                                                const GtFrontTrace *front_trace,
+                                                GtUword distance,
+                                                const GtUchar *useq,
+                                                GtUword ulen,
+                                                const GtUchar *vseq,
+                                                GtUword vlen)
+{
+  const GtBackreftable *basefront, *current;
+  GtUword firstindex;
+  GtWord diagonal = (GtWord) vlen - (GtWord) ulen;
+  uint32_t row;
+  uint8_t preferred_eop = FT_EOP_MISMATCH;
+
+  gt_assert(front_trace != NULL &&
+            front_trace->backref_nextfree >= 2 * distance + 1);
+  basefront = front_trace->backref_table + front_trace->backref_nextfree
+                                         - (2 * distance + 1);
+  current = basefront + distance + diagonal;
+  firstindex = gt_eoplist_length(eoplist);
+  gt_assert(ulen <= (GtUword) UINT32_MAX);
+  row = ulen;
+  while (distance > 0)
+  {
+    GtUword nextrowadd;
+
+    if (eoplist != NULL)
+    {
+      if (current->lcs > 0)
+      {
+        gt_eoplist_match_add(eoplist,current->lcs);
+      }
+    } else
+    {
+      gt_check_diagonal_run(useq, vseq, diagonal, row - current->lcs, row);
+    }
+    if (current->bits & preferred_eop)
+    {
+      if (preferred_eop == FT_EOP_MISMATCH)
+      {
+        nextrowadd = 1;
+      } else
+      {
+        if (preferred_eop == FT_EOP_INSERTION)
+        {
+          gt_assert(-(GtWord) ulen < diagonal);
+          diagonal--;
+          nextrowadd = 0;
+        } else
+        {
+          gt_assert(preferred_eop == FT_EOP_DELETION);
+          gt_assert(diagonal < (GtWord) vlen);
+          diagonal++;
+          nextrowadd = 1;
+        }
+      }
+    } else
+    {
+      if (current->bits & FT_EOP_MISMATCH)
+      {
+        preferred_eop = FT_EOP_MISMATCH;
+        nextrowadd = 1;
+      } else
+      {
+        if (current->bits & FT_EOP_INSERTION)
+        {
+          gt_assert(-(GtWord) ulen < diagonal);
+          diagonal--;
+          preferred_eop = FT_EOP_INSERTION;
+          nextrowadd = 0;
+        } else
+        {
+          gt_assert(current->bits & FT_EOP_DELETION);
+          gt_assert(diagonal < (GtWord) vlen);
+          diagonal++;
+          preferred_eop = FT_EOP_DELETION;
+          nextrowadd = 1;
+        }
+      }
+    }
+    if (eoplist != NULL)
+    {
+      if (preferred_eop == FT_EOP_DELETION)
+      {
+        gt_eoplist_deletion_add(eoplist);
+      } else
+      {
+        if (preferred_eop == FT_EOP_INSERTION)
+        {
+          gt_eoplist_insertion_add(eoplist);
+        } else
+        {
+          gt_eoplist_mismatch_add(eoplist);
+        }
+      }
+    }
+    distance--;
+    basefront -= (2 * distance + 1);
+    gt_assert(basefront >= front_trace->backref_table);
+    gt_assert(row >= current->lcs + nextrowadd);
+    row -= current->lcs + nextrowadd;
+    current = basefront + distance + diagonal;
+  }
+  gt_assert(basefront == front_trace->backref_table && current->bits == 0);
+  if (eoplist != NULL)
+  {
+    if (current->lcs > 0)
+    {
+      gt_eoplist_match_add(eoplist,current->lcs);
+    }
+    gt_eoplist_reverse_end(eoplist,firstindex);
   }
 }
diff --git a/src/match/ft-front-generation.h b/src/match/ft-front-generation.h
index c69eb2f..6b6f913 100644
--- a/src/match/ft-front-generation.h
+++ b/src/match/ft-front-generation.h
@@ -1,52 +1,36 @@
 #ifndef FT_FRONT_GENERATION_H
 #define FT_FRONT_GENERATION_H
 #include <stdint.h>
-#include "core/types_api.h"
-#ifndef OUTSIDE_OF_GT
-#include "core/arraydef.h"
-#else
-typedef struct
-{
-  GtUword nextfreeuint8_t,
-          allocateduint8_t;
-  uint8_t *spaceuint8_t;
-} GtArrayuint8_t;
-
-#endif
-
-#define FT_EOP_REPLACEMENT 1
-#define FT_EOP_INSERTION   (1 << 1)
-#define FT_EOP_DELETION    (1 << 2)
+#include <stdbool.h>
+#include "match/ft-eoplist.h"
 
-#ifndef OUTSIDE_OF_GT
-#define FT_EOPCODE_MAXREPLACEMENT 254
-#define FT_EOPCODE_DELETION       254
-#define FT_EOPCODE_INSERTION      255
-#endif
+#define FT_EOP_MISMATCH  1
+#define FT_EOP_INSERTION (1 << 1)
+#define FT_EOP_DELETION  (1 << 2)
 
 typedef struct
 {
-  GtUword alignedlen, row, distance, trimleft;
-} Polished_point;
+  GtUword alignedlen, row, distance, trimleft, max_mismatches;
+} GtFtPolished_point;
 
-typedef struct GtFronttrace GtFronttrace;
+typedef struct GtFrontTrace GtFrontTrace;
 
-GtFronttrace *front_trace_new(void);
+GtFrontTrace *front_trace_new(void);
 
-void front_trace_delete(GtFronttrace *front_trace);
+void front_trace_delete(GtFrontTrace *front_trace);
 
-void front_trace_reset(GtFronttrace *front_trace,GtUword sumseqlen);
+void front_trace_reset(GtFrontTrace *front_trace,GtUword sumseqlen);
 
-void front_trace_add_gen(GtFronttrace *front_trace,GtUword trimleft,
+void front_trace_add_gen(GtFrontTrace *front_trace,GtUword trimleft,
                          GtUword valid);
 
-void front_trace_add_trace(GtFronttrace *front_trace,uint8_t backreference,
-                           unsigned int lcs);
+void front_trace_add_trace(GtFrontTrace *front_trace,uint8_t backreference,
+                           uint32_t localmatch_count);
 
 void front_trace2eoplist(bool polished,
-                         GtArrayuint8_t *eoplist,
-                         GtFronttrace *front_trace,
-                         const Polished_point *pp,
+                         GtEoplist *eoplist,
+                         GtFrontTrace *front_trace,
+                         const GtFtPolished_point *pp,
                          GtUword pol_size,
                          GtWord match_score,
                          GtWord difference_score,
@@ -55,6 +39,12 @@ void front_trace2eoplist(bool polished,
                          const GtUchar *vseq,
                          GtUword vlen);
 
-void front_trace_multireplacement(GtArrayuint8_t *eoplist,GtUword repnum);
+void gt_front_trace2eoplist_full_front_directed(GtEoplist *eoplist,
+                                                const GtFrontTrace *front_trace,
+                                                GtUword distance,
+                                                const GtUchar *useq,
+                                                GtUword ulen,
+                                                const GtUchar *vseq,
+                                                GtUword vlen);
 
 #endif
diff --git a/src/match/ft-front-prune.c b/src/match/ft-front-prune.c
index d017fb6..f5360bf 100644
--- a/src/match/ft-front-prune.c
+++ b/src/match/ft-front-prune.c
@@ -10,46 +10,38 @@
 #include "core/chardef.h"
 #include "core/divmodmul.h"
 #include "core/intbits.h"
+#include "core/minmax.h"
 #include "core/encseq.h"
+#include "core/bitpackstringsimpleop.h"
 #include "match/extend-offset.h"
-#include "core/ma_api.h"
-#include "core/types_api.h"
-#include "ft-front-prune.h"
-#include "ft-trimstat.h"
-#include "core/minmax.h"
-#include "ft-polish.h"
-#include "ft-front-generation.h"
+#include "match/ft-front-prune.h"
+#include "match/ft-trimstat.h"
+#include "match/ft-polish.h"
+#include "match/ft-front-generation.h"
 
 #define GT_UPDATE_MATCH_HISTORY(FRONTVAL)\
-        if ((FRONTVAL)->matchhistory_size == max_history)\
-        {\
-          if ((FRONTVAL)->matchhistory_bits & leftmostbit)\
-          {\
-            gt_assert((FRONTVAL)->matchhistory_count > 0);\
-            (FRONTVAL)->matchhistory_count--;\
-          }\
-        } else\
+        if ((FRONTVAL)->matchhistory_size < max_history)\
         {\
           gt_assert((FRONTVAL)->matchhistory_size < max_history);\
           (FRONTVAL)->matchhistory_size++;\
         }\
         (FRONTVAL)->matchhistory_bits <<= 1
 
-typedef unsigned int Rowvaluetype;
-typedef uint8_t Matchcounttype;
-typedef uint8_t Backreferencetype;
+typedef uint32_t GtFtRowvaluetype;
+typedef uint8_t GtFtMatchcounttype;
+typedef uint8_t GtFtBackreferencetype;
 
 typedef struct
 {
   uint64_t matchhistory_bits;
-  Rowvaluetype row,
-               localmatch_count;
-  Matchcounttype matchhistory_count,
-                 matchhistory_size;
-  Backreferencetype backreference;
-} Frontvalue;
-
-#ifndef OUTSIDE_OF_GT
+  GtFtRowvaluetype row,
+                   localmatch_count;
+  GtFtMatchcounttype matchhistory_size;
+  GtFtBackreferencetype backreference;
+  uint32_t max_mismatches; /* maximum number of mismatches in a path to this
+                              Front-entry.*/
+} GtFtFrontvalue;
+
 typedef struct
 {
   const GtTwobitencoding *twobitencoding;
@@ -60,16 +52,16 @@ typedef struct
   GtAllocatedMemory *sequence_cache;
   GtUword substringlength,
           totallength,
-          min_access_pos, /* no position accessed will be smaller than this */
           cache_num_positions; /* number of positions in cache */
   GtUword offset,
           seqstartpos;
   bool read_seq_left2right,
        dir_is_complement;
-} Sequenceobject;
+} GtFtSequenceObject;
 
-static void ft_sequenceobject_init(Sequenceobject *seq,
+static void ft_sequenceobject_init(GtFtSequenceObject *seq,
                                    GtExtendCharAccess extend_char_access_mode,
+                                   bool twobit_possible,
                                    const GtEncseq *encseq,
                                    bool rightextension,
                                    GtReadmode readmode,
@@ -79,7 +71,8 @@ static void ft_sequenceobject_init(Sequenceobject *seq,
                                    GtEncseqReader *encseq_r,
                                    GtAllocatedMemory *sequence_cache,
                                    const GtUchar *bytesequence,
-                                   GtUword totallength
+                                   GtUword totallength,
+                                   GtUword full_totallength
                                    )
 {
   gt_assert(seq != NULL);
@@ -99,8 +92,7 @@ static void ft_sequenceobject_init(Sequenceobject *seq,
                                  len);
   seq->read_seq_left2right = GT_EXTEND_READ_SEQ_LEFT2RIGHT(rightextension,
                                                            readmode);
-  if (encseq != NULL && extend_char_access_mode == GT_EXTEND_CHAR_ACCESS_ANY &&
-      gt_encseq_has_twobitencoding(encseq) && gt_encseq_wildcards(encseq) == 0)
+  if (twobit_possible)
   {
     seq->twobitencoding = gt_encseq_twobitencoding_export(encseq);
   }
@@ -108,7 +100,6 @@ static void ft_sequenceobject_init(Sequenceobject *seq,
       (extend_char_access_mode == GT_EXTEND_CHAR_ACCESS_ANY ||
        extend_char_access_mode == GT_EXTEND_CHAR_ACCESS_ENCSEQ_READER))
   {
-    GtUword full_totallength = gt_encseq_total_length(encseq);
     gt_encseq_reader_reinit_with_readmode(encseq_r, encseq,
                                           seq->read_seq_left2right
                                             ? GT_READMODE_FORWARD
@@ -121,7 +112,6 @@ static void ft_sequenceobject_init(Sequenceobject *seq,
     gt_assert(seq->encseqreader != NULL && sequence_cache != NULL);
     seq->sequence_cache = sequence_cache;
     seq->cache_ptr = (GtUchar *) sequence_cache->space;
-    seq->min_access_pos = GT_UWORD_MAX; /* undefined */
     seq->cache_num_positions = 0;
   }
   if (encseq != NULL && seq->twobitencoding == NULL &&
@@ -152,7 +142,35 @@ static GtUchar gt_twobitencoding_char_at_pos(
           GT_MULT2(GT_UNITSIN2BITENC - 1 - GT_MODBYUNITSIN2BITENC(pos))) & 3;
 }
 
-static GtUchar ft_sequenceobject_get_char(Sequenceobject *seq,GtUword idx)
+static GtUchar gt_sequenceobject_esr_get(GtFtSequenceObject *seq,GtUword idx)
+{
+  gt_assert(idx < seq->substringlength);
+  if (idx >= seq->cache_num_positions)
+  {
+    const GtUword addamount = 16UL;
+    GtUword cidx, tostore = MIN(seq->cache_num_positions + addamount,
+                                seq->substringlength);
+
+    if (tostore > seq->sequence_cache->allocated)
+    {
+      seq->sequence_cache->allocated += addamount;
+      seq->sequence_cache->space
+        = gt_realloc(seq->sequence_cache->space,
+                     sizeof (GtUchar) * seq->sequence_cache->allocated);
+      seq->cache_ptr = (GtUchar *) seq->sequence_cache->space;
+    }
+    for (cidx = seq->cache_num_positions; cidx < tostore; cidx++)
+    {
+      seq->cache_ptr[cidx]
+        = gt_encseq_reader_next_encoded_char(seq->encseqreader);
+    }
+    seq->cache_num_positions = tostore;
+  }
+  gt_assert(seq->cache_ptr != NULL && idx < seq->cache_num_positions);
+  return seq->cache_ptr[idx];
+}
+
+static GtUchar ft_sequenceobject_get_char(GtFtSequenceObject *seq,GtUword idx)
 {
   GtUchar cc;
   GtUword accesspos;
@@ -168,33 +186,10 @@ static GtUchar ft_sequenceobject_get_char(Sequenceobject *seq,GtUword idx)
   }
   if (seq->encseqreader != NULL)
   {
-    gt_assert(idx < seq->substringlength);
-    if (idx >= seq->cache_num_positions)
-    {
-      GtUword idx, tostore;
-      const GtUword addamount = 256UL;
-
-      tostore = MIN(seq->cache_num_positions + addamount,
-                    seq->substringlength);
-      if (tostore > seq->sequence_cache->allocated)
-      {
-        seq->sequence_cache->allocated += addamount;
-        seq->sequence_cache->space
-          = gt_realloc(seq->sequence_cache->space,
-                       sizeof (GtUchar) * seq->sequence_cache->allocated);
-        seq->cache_ptr = (GtUchar *) seq->sequence_cache->space;
-      }
-      for (idx = seq->cache_num_positions; idx < tostore; idx++)
-      {
-        seq->cache_ptr[idx]
-          = gt_encseq_reader_next_encoded_char(seq->encseqreader);
-      }
-      seq->cache_num_positions = tostore;
-    }
-    gt_assert(seq->cache_ptr != NULL && idx < seq->cache_num_positions);
-    cc = seq->cache_ptr[idx];
+    cc = gt_sequenceobject_esr_get(seq,idx);
   } else
   {
+    gt_assert (seq->read_seq_left2right || seq->offset >= idx);
     accesspos = seq->read_seq_left2right ? seq->offset + idx
                                          : seq->offset - idx;
     if (seq->encseq != NULL)
@@ -207,140 +202,126 @@ static GtUchar ft_sequenceobject_get_char(Sequenceobject *seq,GtUword idx)
       cc = seq->bytesequenceptr[accesspos];
     }
   }
-  if (seq->dir_is_complement && !ISSPECIAL(cc))
+  if (seq->dir_is_complement && cc != WILDCARD)
   {
     return GT_COMPLEMENTBASE(cc);
   }
   return cc;
 }
 
-#undef SKDEBUG
-#ifdef SKDEBUG
-static char *gt_ft_sequencebject_get(Sequenceobject *seq)
+static inline bool ft_sequenceobject_symbol_match(
+                                           GtFtSequenceObject *useq,
+                                           GtUword upos,
+                                           GtFtSequenceObject *vseq,
+                                           GtUword vpos)
 {
-  GtUword idx;
-  char *buffer;
-  char *map = "acgt";
-
-  gt_assert(seq != NULL);
-  buffer = gt_malloc(sizeof *buffer * (seq->substringlength+1));
-  for (idx = 0; idx < seq->substringlength; idx++)
+  if (upos >= useq->substringlength || vpos >= vseq->substringlength)
   {
-    GtUchar cc = ft_sequenceobject_get_char(seq,idx);
-
-    if (cc == WILDCARD)
-    {
-      buffer[idx] = '#';
-    } else
-    {
-      if (cc == SEPARATOR)
-      {
-        buffer[idx] = '$';
-      } else
-      {
-        gt_assert(cc < 4);
-        buffer[idx] = map[cc];
-      }
-    }
+    return false;
+  } else
+  {
+    const GtUchar cu = ft_sequenceobject_get_char(useq,upos);
+    return (cu != WILDCARD && cu == ft_sequenceobject_get_char(vseq,vpos))
+             ? true
+             : false;
   }
-  buffer[seq->substringlength] = '\0';
-  return buffer;
 }
 
-static void gt_greedy_show_context(bool rightextension,
-                                   Sequenceobject *useq,Sequenceobject *vseq)
-{
-  char *uptr = gt_ft_sequencebject_get(useq);
-  char *vptr = gt_ft_sequencebject_get(vseq);
-  printf(">%sextension:\n>%s\n>%s\n",rightextension ? "right" : "left",
-         uptr,vptr);
-  gt_free(uptr);
-  gt_free(vptr);
-}
-#endif
+typedef GtUword (*GtLongestCommonFunc)(GtFtSequenceObject *useq,
+                                       GtUword ustart,
+                                       GtFtSequenceObject *vseq,
+                                       GtUword vstart);
 
-#else
-typedef struct
+static GtUword ft_longest_common_all(GtFtSequenceObject *useq,
+                                     GtUword ustart,
+                                     GtFtSequenceObject *vseq,
+                                     GtUword vstart)
 {
-  const GtUchar *sequence_ptr;
-  GtUword substringlength;
-} Sequenceobject;
+  GtUword upos, vpos;
 
-static void ft_sequenceobject_init(Sequenceobject *seq,
-                                   const GtUchar *ptr,
-                                   GtUword seqstartpos,
-                                   GtUword startpos,
-                                   GtUword len)
-{
-  gt_assert(seq != NULL);
-  seq->sequence_ptr = ptr + seqstartpos + startpos;
-  seq->substringlength = len;
+  for (upos = ustart, vpos = vstart;
+       ft_sequenceobject_symbol_match(useq,upos,vseq,vpos);
+       upos++, vpos++)
+    /* Nothing */ ;
+  return upos - ustart;
 }
-#endif
 
-#define FRONT_DIAGONAL(FRONTPTR) (GtWord) ((FRONTPTR) - midfront)
+#include "match/ft-longest-common.inc"
 
-static bool ft_sequenceobject_symbol_match(Sequenceobject *useq,
-                                           GtUword upos,
-                                           Sequenceobject *vseq,
-                                           GtUword vpos)
+static int ft_sequenceobject2mode(const GtFtSequenceObject *seq)
 {
-#ifndef OUTSIDE_OF_GT
-  GtUchar cu = ft_sequenceobject_get_char(useq,upos);
-  if (ISSPECIAL(cu))
+  if (seq->twobitencoding != NULL)
   {
-    return false;
+    return 0;
   }
-  return cu == ft_sequenceobject_get_char(vseq,vpos) ? true : false;
-#else
-  GtUchar cu = useq->sequence_ptr[upos];
-  return cu == vseq->sequence_ptr[vpos] ? true : false;
-#endif
+  if (seq->encseqreader != NULL)
+  {
+    return 1;
+  }
+  if (seq->encseq != NULL)
+  {
+    return 2;
+  }
+  gt_assert(seq->bytesequenceptr != NULL);
+  return 3;
 }
 
-static void inline front_prune_add_matches(Frontvalue *midfront,
-                                           Frontvalue *fv,
-                                           uint64_t leftmostbit,
-                                           GtUword max_history,
-                                           Sequenceobject *useq,
-                                           Sequenceobject *vseq)
+static int gt_sequenceobject_longest_func_index(const GtFtSequenceObject *useq,
+                                                const GtFtSequenceObject *vseq,
+                                                bool haswildcards)
 {
-  GtUword upos, vpos;
+  const int u_mode = ft_sequenceobject2mode(useq);
+  const int v_mode = ft_sequenceobject2mode(vseq);
+  return u_mode * ft_longest_common_num_modes + v_mode +
+         (haswildcards ? ft_longest_common_func_first_wildcard : 0);
+}
 
-  for (upos = fv->row, vpos = fv->row + FRONT_DIAGONAL(fv);
-       upos < useq->substringlength && vpos < vseq->substringlength &&
-       ft_sequenceobject_symbol_match(useq,upos,vseq,vpos);
-       upos++, vpos++)
+#define GT_FRONT_DIAGONAL(FRONTPTR) (GtWord) ((FRONTPTR) - midfront)
+
+static void inline front_prune_add_matches(
+                                  GtLongestCommonFunc ft_longest_common,
+                                  GtFtFrontvalue *midfront,
+                                  GtFtFrontvalue *fv,
+                                  GtUword max_history,
+                                  GtFtSequenceObject *useq,
+                                  GtFtSequenceObject *vseq,
+                                  GtFtTrimstat *trimstat)
+{
+  fv->localmatch_count
+    = (GtFtRowvaluetype)ft_longest_common(useq,fv->row,
+                                          vseq,fv->row + GT_FRONT_DIAGONAL(fv));
+  if (fv->localmatch_count > 0)
   {
-    if (fv->matchhistory_size == max_history)
+    const uint64_t match_mask
+      = (fv->localmatch_count >= max_history)
+           ? ~((uint64_t) 0)
+           : ((((uint64_t) 1) << fv->localmatch_count) - 1);
+    fv->matchhistory_bits = (fv->matchhistory_bits << fv->localmatch_count) |
+                            match_mask;
+    if (fv->matchhistory_size < max_history)
     {
-      if (!(fv->matchhistory_bits & leftmostbit))
-      {
-        gt_assert(fv->matchhistory_count < INT8_MAX);
-        fv->matchhistory_count++;
-      }
-    } else
-    {
-      gt_assert(fv->matchhistory_size < max_history);
-      fv->matchhistory_size++;
-      fv->matchhistory_count++;
+      fv->matchhistory_size = MIN(fv->matchhistory_size + fv->localmatch_count,
+                                  max_history);
     }
-    fv->matchhistory_bits = (fv->matchhistory_bits << 1) | (uint64_t) 1;
+    fv->row += fv->localmatch_count;
+  }
+  if (trimstat != NULL)
+  {
+    gt_ft_trimstat_add_matchlength(trimstat,fv->localmatch_count);
   }
-  fv->localmatch_count = upos - fv->row;
-  fv->row = upos;
 }
 
-static GtUword front_next_inplace(Frontvalue *midfront,
-                                  Frontvalue *lowfront,
-                                  Frontvalue *highfront,
+static GtUword front_next_inplace(GtLongestCommonFunc ft_longest_common,
+                                  GtFtFrontvalue *midfront,
+                                  GtFtFrontvalue *lowfront,
+                                  GtFtFrontvalue *highfront,
                                   GtUword max_history,
-                                  Sequenceobject *useq,
-                                  Sequenceobject *vseq)
+                                  GtFtSequenceObject *useq,
+                                  GtFtSequenceObject *vseq,
+                                  GtFtTrimstat *trimstat)
 {
   GtUword alignedlen, maxalignedlen;
-  const uint64_t leftmostbit = ((uint64_t) 1) << (max_history-1);
-  Frontvalue bestfront, insertion_value, replacement_value, *frontptr;
+  GtFtFrontvalue bestfront, insertion_value, replacement_value, *frontptr;
 
   insertion_value = *lowfront; /* from previous diag -(d-1) => -d => DELETION */
   bestfront = insertion_value;
@@ -348,8 +329,9 @@ static GtUword front_next_inplace(Frontvalue *midfront,
   GT_UPDATE_MATCH_HISTORY(&bestfront);
   *lowfront = bestfront;
   lowfront->backreference = FT_EOP_DELETION;
-  front_prune_add_matches(midfront,lowfront,leftmostbit,max_history,useq,vseq);
-  maxalignedlen = GT_MULT2(lowfront->row) + FRONT_DIAGONAL(lowfront);
+  front_prune_add_matches(ft_longest_common,midfront,lowfront,
+                          max_history,useq,vseq,trimstat);
+  maxalignedlen = GT_MULT2(lowfront->row) + GT_FRONT_DIAGONAL(lowfront);
 
   replacement_value = *(lowfront+1);
   if (bestfront.row < replacement_value.row + 1)
@@ -360,16 +342,21 @@ static GtUword front_next_inplace(Frontvalue *midfront,
     GT_UPDATE_MATCH_HISTORY(&bestfront);
   } else
   {
-    bestfront.backreference = FT_EOP_REPLACEMENT;
+    bestfront.backreference = FT_EOP_MISMATCH;
+    bestfront.max_mismatches++;
     if (bestfront.row == replacement_value.row + 1)
     {
       bestfront.backreference |= FT_EOP_DELETION;
+      if (bestfront.max_mismatches < replacement_value.max_mismatches)
+      {
+        bestfront.max_mismatches = replacement_value.max_mismatches;
+      }
     }
   }
   *(lowfront+1) = bestfront;
-  front_prune_add_matches(midfront,lowfront + 1,leftmostbit,max_history,
-                          useq,vseq);
-  alignedlen = GT_MULT2((lowfront+1)->row) + FRONT_DIAGONAL(lowfront + 1);
+  front_prune_add_matches(ft_longest_common,midfront,lowfront + 1,
+                          max_history,useq,vseq,trimstat);
+  alignedlen = GT_MULT2((lowfront+1)->row) + GT_FRONT_DIAGONAL(lowfront + 1);
   if (maxalignedlen < alignedlen)
   {
     maxalignedlen = alignedlen;
@@ -383,13 +370,18 @@ static GtUword front_next_inplace(Frontvalue *midfront,
       if (bestfront.row < replacement_value.row + 1)
       {
         bestfront = replacement_value;
-        bestfront.backreference = FT_EOP_REPLACEMENT;
+        bestfront.backreference = FT_EOP_MISMATCH;
+        bestfront.max_mismatches++;
         bestfront.row++;
       } else
       {
         if (bestfront.row == replacement_value.row + 1)
         {
-          bestfront.backreference |= FT_EOP_REPLACEMENT;
+          bestfront.backreference |= FT_EOP_MISMATCH;
+          if (bestfront.max_mismatches < replacement_value.max_mismatches + 1)
+          {
+            bestfront.max_mismatches = replacement_value.max_mismatches + 1;
+          }
         }
       }
     }
@@ -415,9 +407,9 @@ static GtUword front_next_inplace(Frontvalue *midfront,
       replacement_value = *frontptr;
     }
     *frontptr = bestfront;
-    front_prune_add_matches(midfront,frontptr,leftmostbit,max_history,
-                            useq,vseq);
-    alignedlen = GT_MULT2(frontptr->row) + FRONT_DIAGONAL(frontptr);
+    front_prune_add_matches(ft_longest_common,midfront,frontptr,
+                            max_history,useq,vseq,trimstat);
+    alignedlen = GT_MULT2(frontptr->row) + GT_FRONT_DIAGONAL(frontptr);
     if (maxalignedlen < alignedlen)
     {
       maxalignedlen = alignedlen;
@@ -426,28 +418,32 @@ static GtUword front_next_inplace(Frontvalue *midfront,
   return maxalignedlen;
 }
 
-static GtUword front_second_inplace(Frontvalue *midfront,
-                                    Frontvalue *lowfront,
+static GtUword front_second_inplace(GtLongestCommonFunc ft_longest_common,
+                                    GtFtFrontvalue *midfront,
+                                    GtFtFrontvalue *lowfront,
                                     GtUword max_history,
-                                    Sequenceobject *useq,
-                                    Sequenceobject *vseq)
+                                    GtFtSequenceObject *useq,
+                                    GtFtSequenceObject *vseq,
+                                    GtFtTrimstat *trimstat)
 {
   GtUword alignedlen, maxalignedlen;
-  const uint64_t leftmostbit = ((uint64_t) 1) << (max_history-1);
 
   *(lowfront+1) = *(lowfront+2) = *lowfront;
   lowfront->row++;
   lowfront->backreference = FT_EOP_DELETION;
   GT_UPDATE_MATCH_HISTORY(lowfront);
-  front_prune_add_matches(midfront,lowfront,leftmostbit,max_history,useq,vseq);
-  maxalignedlen = GT_MULT2(lowfront->row) + FRONT_DIAGONAL(lowfront);
+  front_prune_add_matches(ft_longest_common,midfront,lowfront,
+                          max_history,useq,vseq,
+                          trimstat);
+  maxalignedlen = GT_MULT2(lowfront->row) + GT_FRONT_DIAGONAL(lowfront);
 
   (lowfront+1)->row++;
-  (lowfront+1)->backreference = FT_EOP_REPLACEMENT;
+  (lowfront+1)->backreference = FT_EOP_MISMATCH;
+  (lowfront+1)->max_mismatches++;
   GT_UPDATE_MATCH_HISTORY(lowfront+1);
-  front_prune_add_matches(midfront,lowfront + 1,leftmostbit,max_history,
-                          useq,vseq);
-  alignedlen = GT_MULT2((lowfront+1)->row) + FRONT_DIAGONAL(lowfront + 1);
+  front_prune_add_matches(ft_longest_common,midfront,lowfront + 1,
+                          max_history,useq,vseq,trimstat);
+  alignedlen = GT_MULT2((lowfront+1)->row) + GT_FRONT_DIAGONAL(lowfront + 1);
   if (maxalignedlen < alignedlen)
   {
     maxalignedlen = alignedlen;
@@ -455,9 +451,9 @@ static GtUword front_second_inplace(Frontvalue *midfront,
 
   (lowfront+2)->backreference = FT_EOP_INSERTION;
   GT_UPDATE_MATCH_HISTORY(lowfront+2);
-  front_prune_add_matches(midfront,lowfront + 2,leftmostbit,max_history,useq,
-                          vseq);
-  alignedlen = GT_MULT2((lowfront+2)->row) + FRONT_DIAGONAL(lowfront + 2);
+  front_prune_add_matches(ft_longest_common,midfront,lowfront + 2,
+                          max_history,useq,vseq,trimstat);
+  alignedlen = GT_MULT2((lowfront+2)->row) + GT_FRONT_DIAGONAL(lowfront + 2);
   if (maxalignedlen < alignedlen)
   {
     maxalignedlen = alignedlen;
@@ -465,43 +461,39 @@ static GtUword front_second_inplace(Frontvalue *midfront,
   return maxalignedlen;
 }
 
-static bool trimthisentry(GT_UNUSED GtUword distance,
-                          Rowvaluetype row,
-                          GtWord diagonal,
-                          const Frontvalue *fv,
-                          GT_UNUSED GtUword max_history,
-                          GtUword minmatchpercentage,
-                          GtUword minlenfrommaxdiff)
+#if defined (__GNUC__) && defined (__POPCNT__)
+static inline unsigned
+bitCountUInt64(uint64_t v)
+{
+  return __builtin_popcountl(v);
+}
+#else
+static inline unsigned
+bitCountUInt64(uint64_t v)
 {
-  if (fv->matchhistory_count < (fv->matchhistory_size * minmatchpercentage)/100)
-  {
-#undef TRIM_INFO_OUT
-#ifdef TRIM_INFO_OUT
-    GtUword alignedlen = GT_MULT2(row) + diagonal;
-    double identity = 100.0 * (1.0 - 2.0 * (double) distance/alignedlen);
-    printf("aligned=" GT_WU ",diagonal=" GT_WD ", distance=" GT_WU
-           ", row=%u, identity=%.2f, hist_size=%d, matches=%d "
-           "< " GT_WU "=minmatches\n",
-           alignedlen,
-           diagonal,distance,row,
-           identity,
-           (int) fv->matchhistory_size,
-           (int) fv->matchhistory_count,
-           fv->matchhistory_size * minmatchpercentage/100);
+  return bitCountUInt32((uint32_t) (v & (uint64_t) UINT32_MAX)) +
+         bitCountUInt32((uint32_t) (v >> 32));
+}
 #endif
+
+static bool trimthisentry(GtFtRowvaluetype row,
+                          GtWord diagonal,
+                          const GtFtFrontvalue *fv,
+                          GtUword minmatchpercentage128,
+                          GtUword minlenfrommaxdiff,
+                          uint64_t max_history_mask,
+                          GT_UNUSED GtUword distance,
+                          GT_UNUSED bool showfrontinfo)
+{
+  if (GT_MULT2(row) + diagonal < minlenfrommaxdiff)
+  {
     return true;
   }
-  if (GT_MULT2(row) + diagonal < minlenfrommaxdiff)
+  if (bitCountUInt64(fv->matchhistory_bits & max_history_mask)
+      < ((fv->matchhistory_size * minmatchpercentage128) >> 7))
   {
-#ifdef TRIM_INFO_OUT
-    printf(GT_WD "&" GT_WU "&%u&2: i'+j'=" GT_WU "<" GT_WU "=i+j-lag\n",
-              diagonal,distance,row,GT_MULT2(row) + diagonal,minlenfrommaxdiff);
-#endif
     return true;
   }
-#ifdef TRIM_INFO_OUT
-  printf(GT_WD "&" GT_WU "&%u\n", diagonal,distance,row);
-#endif
   return false;
 }
 
@@ -509,47 +501,59 @@ static GtUword trim_front(bool upward,
                           GtUword distance,
                           GtUword ulen,
                           GtUword vlen,
-                          GtUword max_history,
-                          GtUword minmatchpercentage,
+                          GtUword minmatchpercentage128,
                           GtUword minlenfrommaxdiff,
-                          const Frontvalue *midfront,
-                          const Frontvalue *from,
-                          const Frontvalue *stop)
+                          GtTrimmingStrategy trimstrategy,
+                          const GtFtPolished_point *best_polished_point,
+                          const GtFtFrontvalue *midfront,
+                          const GtFtFrontvalue *from,
+                          const GtFtFrontvalue *stop,
+                          uint64_t max_history_mask,
+                          bool showfrontinfo)
 {
-  const Frontvalue *frontptr;
-  GtUword trim = 0;
+  const GtFtFrontvalue *frontptr;
+  const int step = upward ? +1 : -1;
 
+  if (trimstrategy == GT_OUTSENSE_TRIM_NEVER ||
+      (trimstrategy == GT_OUTSENSE_TRIM_ON_NEW_PP &&
+       best_polished_point != NULL &&
+       best_polished_point->distance + 1 < distance &&
+       best_polished_point->distance + 30 >= distance))
+  {
+    return 0;
+  }
   gt_assert ((upward && from < stop) || (!upward && stop < from));
-  for (frontptr = from; frontptr != stop; frontptr = upward ? (frontptr + 1)
-                                                            : (frontptr - 1))
-  {
-    if (frontptr->row > ulen ||
-        frontptr->row + FRONT_DIAGONAL(frontptr) > vlen ||
-        trimthisentry(distance,
-                      frontptr->row,
-                      FRONT_DIAGONAL(frontptr),
-                      frontptr,
-                      max_history,
-                      minmatchpercentage,
-                      minlenfrommaxdiff))
-    {
-      trim++;
-    } else
+  for (frontptr = from; frontptr != stop; frontptr += step)
+  {
+    if (frontptr->row <= ulen &&
+        frontptr->row + GT_FRONT_DIAGONAL(frontptr) <= vlen &&
+        !trimthisentry(frontptr->row,
+                       GT_FRONT_DIAGONAL(frontptr),
+                       frontptr,
+                       minmatchpercentage128,
+                       minlenfrommaxdiff,
+                       max_history_mask,
+                       distance,
+                       showfrontinfo))
     {
       break;
     }
   }
-  return trim;
+  if (upward)
+  {
+    return (GtUword) (frontptr - from);
+  }
+  return (GtUword) (from - frontptr);
 }
 
-static void frontspace_check(GT_UNUSED const Frontvalue *from,
-                             GT_UNUSED const Frontvalue *to,
-                             GT_UNUSED const Frontvalue *ptr)
+static void frontspace_check(GT_UNUSED const GtFtFrontvalue *from,
+                             GT_UNUSED const GtFtFrontvalue *to,
+                             GT_UNUSED const GtFtFrontvalue *ptr)
 {
   gt_assert (ptr >= from && ptr <= to);
 }
 
-static Frontvalue *frontspace_allocate(GtUword minsizeforshift,
+static GtFtFrontvalue *frontspace_allocate(GtUword minsizeforshift,
                                        GtUword trimleft,
                                        GtUword valid,
                                        GtAllocatedMemory *fs)
@@ -559,79 +563,57 @@ static Frontvalue *frontspace_allocate(GtUword minsizeforshift,
     fs->allocated = 255UL + MAX(fs->allocated * 1.2,
                                            trimleft - fs->offset + valid);
     gt_assert(fs->allocated > trimleft - fs->offset + valid);
-    fs->space = gt_realloc(fs->space,sizeof (Frontvalue) * fs->allocated);
+    fs->space = gt_realloc(fs->space,sizeof (GtFtFrontvalue) * fs->allocated);
     gt_assert(fs->space != NULL);
   }
   gt_assert(trimleft >= fs->offset);
   if (trimleft - fs->offset > MAX(valid,minsizeforshift))
   {
-    memcpy(fs->space,((Frontvalue *) fs->space) + trimleft - fs->offset,
-           sizeof (Frontvalue) * valid);
+    memcpy(fs->space,((GtFtFrontvalue *) fs->space) + trimleft - fs->offset,
+           sizeof (GtFtFrontvalue) * valid);
     fs->offset = trimleft;
   }
-  return ((Frontvalue *) fs->space) - fs->offset;
+  return ((GtFtFrontvalue *) fs->space) - fs->offset;
 }
 
-static void update_trace_and_polished(Polished_point *best_polished_point,
-#ifndef OUTSIDE_OF_GT
-                                      GtUword *minrow,
-                                      GtUword *mincol,
-#endif
-                                      GtFronttrace *front_trace,
-                                      const Polishing_info *pol_info,
+static void ft_update_trace_and_polished(
+                                      GtFtPolished_point *best_polished_point,
+                                      GtFrontTrace *front_trace,
+                                      const GtFtPolishing_info *pol_info,
                                       GtUword distance,
                                       GtUword trimleft,
-                                      Frontvalue *midfront,
-                                      Frontvalue *lowfront,
-                                      Frontvalue *highfront)
+                                      GtFtFrontvalue *midfront,
+                                      GtFtFrontvalue *lowfront,
+                                      GtFtFrontvalue *highfront,
+                                      GT_UNUSED bool showfrontinfo)
 {
-  const Frontvalue *frontptr;
+  const GtFtFrontvalue *frontptr;
 
-#ifndef OUTSIDE_OF_GT
-  *minrow = GT_UWORD_MAX;
-  *mincol = GT_UWORD_MAX;
-#endif
   for (frontptr = lowfront; frontptr <= highfront; frontptr++)
   {
-    GtUword alignedlen = GT_MULT2(frontptr->row) + FRONT_DIAGONAL(frontptr);
-    uint64_t filled_matchhistory_bits;
+    GtUword alignedlen = GT_MULT2(frontptr->row) + GT_FRONT_DIAGONAL(frontptr);
 
-#ifndef OUTSIDE_OF_GT
-    GtUword currentcol;
-
-    if (*minrow > frontptr->row)
-    {
-      *minrow = frontptr->row;
-    }
-    gt_assert(FRONT_DIAGONAL(frontptr) >= 0 ||
-              frontptr->row >= -FRONT_DIAGONAL(frontptr));
-    currentcol = frontptr->row + FRONT_DIAGONAL(frontptr);
-    if (*mincol > currentcol)
-    {
-      *mincol = currentcol;
-    }
-#endif
-    if (frontptr->matchhistory_size >= GT_MULT2(pol_info->cut_depth))
+    gt_assert(GT_FRONT_DIAGONAL(frontptr) >= 0 ||
+              frontptr->row >= -GT_FRONT_DIAGONAL(frontptr));
+    if (alignedlen > best_polished_point->alignedlen)
     {
-      filled_matchhistory_bits = frontptr->matchhistory_bits;
-    } else
-    {
-      int shift = GT_MULT2(pol_info->cut_depth) - frontptr->matchhistory_size;
-      uint64_t fill_bits = ((uint64_t) 1 << shift) - 1;
-      filled_matchhistory_bits = frontptr->matchhistory_bits |
-                                 (fill_bits << frontptr->matchhistory_size);
-    }
-    if (alignedlen > best_polished_point->alignedlen &&
-        GT_HISTORY_IS_POLISHED(pol_info,filled_matchhistory_bits))
-    {
-      best_polished_point->alignedlen = alignedlen;
-      best_polished_point->row = frontptr->row;
-      best_polished_point->distance = distance;
-      best_polished_point->trimleft = trimleft;
-#ifdef TRIM_INFO_OUT
-      printf("new polished point (alignlen=" GT_WU ",row=%u,distance=" GT_WU
-                                ")\n",alignedlen,frontptr->row,distance);
-#endif
+      uint64_t filled_matchhistory_bits = frontptr->matchhistory_bits;
+
+      if (frontptr->matchhistory_size < pol_info->pol_size)
+      {
+        const int shift = pol_info->pol_size - frontptr->matchhistory_size;
+        const uint64_t fill_bits = ((uint64_t) 1 << shift) - 1;
+        filled_matchhistory_bits |= (fill_bits << frontptr->matchhistory_size);
+      }
+      if  (GT_HISTORY_IS_POLISHED(pol_info,filled_matchhistory_bits))
+      {
+        best_polished_point->alignedlen = alignedlen;
+        best_polished_point->row = frontptr->row;
+        best_polished_point->distance = distance;
+        best_polished_point->trimleft = trimleft;
+        best_polished_point->max_mismatches
+          = (GtUword) frontptr->max_mismatches;
+      }
     }
     if (front_trace != NULL)
     {
@@ -642,52 +624,48 @@ static void update_trace_and_polished(Polished_point *best_polished_point,
 }
 
 GtUword front_prune_edist_inplace(
-#ifndef OUTSIDE_OF_GT
                          bool rightextension,
                          GtAllocatedMemory *frontspace,
-#endif
-                         Trimstat *trimstat,
-                         Polished_point *best_polished_point,
-                         GtFronttrace *front_trace,
-                         const Polishing_info *pol_info,
+                         GtFtPolished_point *best_polished_point,
+                         GtFrontTrace *front_trace,
+                         const GtFtPolishing_info *pol_info,
+                         GtTrimmingStrategy trimstrategy,
                          GtUword max_history,
                          GtUword minmatchpercentage,
                          GtUword maxalignedlendifference,
+                         bool showfrontinfo,
                          GtUword seedlength,
-                         FTsequenceResources *ufsr,
+                         GtFTsequenceResources *ufsr,
                          GtUword ustart,
                          GtUword ulen,
                          GtUword vseqstartpos,
-                         FTsequenceResources *vfsr,
+                         GtFTsequenceResources *vfsr,
                          GtUword vstart,
-                         GtUword vlen)
+                         GtUword vlen,
+                         bool cam_generic,
+                         GtFtTrimstat *trimstat)
 {
   const GtUword sumseqlength = ulen + vlen,
                 minsizeforshift = sumseqlength/1000;
   /* so the space for allocating the fronts is
-     sizeof (Frontvalue) * ((m+n)/1000 + maxvalid), where maxvalid is a small
-     constant. */
+     sizeof (GtFtFrontvalue) * ((m+n)/1000 + maxvalid), where maxvalid is a
+     small constant. */
   GtUword distance, trimleft = 0, valid = 1UL, maxvalid = 0, sumvalid = 0;
-  const uint64_t leftmostbit = ((uint64_t) 1) << (max_history-1);
-  Frontvalue *validbasefront;
+  GtFtFrontvalue *validbasefront;
   bool diedout = false;
-  Sequenceobject useq, vseq;
+  GtFtSequenceObject useq, vseq;
+  /* This transformation allows to compute the /100  by >> 7 */
+  const GtUword minmatchpercentage128
+    = (minmatchpercentage * 128)/100 +
+      (((minmatchpercentage * 128) % 100 == 0) ? 0 : 1);
+  const uint64_t max_history_mask
+    = max_history == 64 ? (~((uint64_t) 0))
+                        : ((((uint64_t) 1) << max_history) - 1);
+  GtLongestCommonFunc ft_longest_common;
 
-#ifdef OUTSIDE_OF_GT
-  GtAllocatedMemory *frontspace = gt_malloc(sizeof *frontspace);
-  frontspace->space = NULL;
-  frontspace->allocated = 0;
-  frontspace->offset = 0;
-  ft_sequenceobject_init(&useq,useqptr,0,ustart,ulen);
-  ft_sequenceobject_init(&vseq,vseqptr,vseqstartpos,vstart,vlen);
-#else
-  /*
-  printf("%sextension:useq->readmode=%s,vseq->readmode=%s\n",
-          rightextension ? "right" : "left",
-          gt_readmode_show(ufsr->readmode),gt_readmode_show(ufsr->readmode));
-  */
   ft_sequenceobject_init(&useq,
                          ufsr->extend_char_access,
+                         ufsr->twobit_possible,
                          ufsr->encseq,
                          rightextension,
                          ufsr->readmode,
@@ -696,10 +674,12 @@ GtUword front_prune_edist_inplace(
                          ulen,
                          ufsr->encseq_r,
                          ufsr->sequence_cache,
-                         NULL,
-                         ufsr->totallength);
+                         ufsr->bytesequence,
+                         ufsr->totallength,
+                         ufsr->full_totallength);
   ft_sequenceobject_init(&vseq,
                          vfsr->extend_char_access,
+                         vfsr->twobit_possible,
                          vfsr->encseq,
                          rightextension,
                          vfsr->readmode,
@@ -709,22 +689,24 @@ GtUword front_prune_edist_inplace(
                          vfsr->encseq_r,
                          vfsr->sequence_cache,
                          vfsr->bytesequence,
-                         vfsr->totallength);
-#ifdef SKDEBUG
-  gt_greedy_show_context(rightextension,&useq,&vseq);
-#endif
+                         vfsr->totallength,
+                         vfsr->full_totallength);
+  if (cam_generic)
+  {
+    ft_longest_common = ft_longest_common_all;
+  } else
+  {
+    const bool haswildcards
+      = (ufsr->haswildcards && vfsr->haswildcards) ? true : false;
+    const int func_index
+      = gt_sequenceobject_longest_func_index(&useq,&vseq,haswildcards);
+    ft_longest_common = ft_longest_common_func_tab[func_index];
+  }
   frontspace->offset = 0;
-#endif
   for (distance = 0, valid = 1UL; /* Nothing */; distance++, valid += 2)
   {
     GtUword trim, maxalignedlen, minlenfrommaxdiff;
 
-#ifdef TRIM_INFO_OUT
-    printf("distance=" GT_WU ",full=" GT_WU ",trimleft=" GT_WU
-           ",valid=" GT_WU "\n",distance,
-                  GT_MULT2(distance) + 1,
-                  trimleft,valid);
-#endif
     gt_assert(valid <= GT_MULT2(distance) + 1);
     sumvalid += valid;
     if (maxvalid < valid)
@@ -743,63 +725,62 @@ GtUword front_prune_edist_inplace(
       {
         validbasefront->matchhistory_bits = (((uint64_t) 1) << seedlength) - 1;
       }
-      validbasefront->matchhistory_size
-        = validbasefront->matchhistory_count = MIN(max_history,seedlength);
+      validbasefront->matchhistory_size = MIN(max_history,seedlength);
       validbasefront->backreference = 0; /* No back reference */
-      front_prune_add_matches(validbasefront + distance,validbasefront,
-                              leftmostbit,max_history,&useq,&vseq);
+      validbasefront->max_mismatches = 0;
+      front_prune_add_matches(ft_longest_common,validbasefront + distance,
+                              validbasefront,max_history,&useq,&vseq,trimstat);
       maxalignedlen = GT_MULT2(validbasefront->row);
     } else
     {
       gt_assert(valid >= 3UL);
-      frontspace_check((const Frontvalue *) frontspace->space,
-                       ((const Frontvalue *) frontspace->space)
+      frontspace_check((const GtFtFrontvalue *) frontspace->space,
+                       ((const GtFtFrontvalue *) frontspace->space)
                         + frontspace->allocated - 1,
                        validbasefront + trimleft);
-      frontspace_check((const Frontvalue *) frontspace->space,
-                       ((const Frontvalue *) frontspace->space)
+      frontspace_check((const GtFtFrontvalue *) frontspace->space,
+                       ((const GtFtFrontvalue *) frontspace->space)
                          + frontspace->allocated - 1,
                        validbasefront + trimleft + valid - 1);
       if (valid == 3UL)
       {
-        maxalignedlen
-          = front_second_inplace(validbasefront + distance,
-                                 validbasefront + trimleft,
-                                 max_history,
-                                 &useq,
-                                 &vseq);
+        maxalignedlen = front_second_inplace(ft_longest_common,
+                                             validbasefront + distance,
+                                             validbasefront + trimleft,
+                                             max_history,
+                                             &useq,
+                                             &vseq,
+                                             trimstat);
       } else
       {
         maxalignedlen
-          = front_next_inplace(validbasefront + distance,
+          = front_next_inplace(ft_longest_common,
+                               validbasefront + distance,
                                validbasefront + trimleft,
                                validbasefront + trimleft + valid - 1,
                                max_history,
                                &useq,
-                               &vseq);
+                               &vseq,
+                               trimstat);
       }
     }
     gt_assert(valid > 0);
     minlenfrommaxdiff = maxalignedlen >= maxalignedlendifference
                           ? maxalignedlen - maxalignedlendifference
                           : 0;
-#ifdef TRIM_INFO_OUT
-    printf("maxalignedlen=" GT_WU ",maxlenfrommaxdiff=" GT_WU "\n",
-           maxalignedlen,minlenfrommaxdiff);
-#endif
     trim = trim_front(true,
                       distance,
                       ulen,
                       vlen,
-                      max_history,
-                      minmatchpercentage,
+                      minmatchpercentage128,
                       minlenfrommaxdiff,
+                      trimstrategy,
+                      best_polished_point,
                       validbasefront + distance,
                       validbasefront + trimleft,
-                      validbasefront + trimleft + valid);
-#ifdef TRIM_INFO_OUT
-    printf("trim on left=" GT_WU "\n",trim);
-#endif
+                      validbasefront + trimleft + valid,
+                      max_history_mask,
+                      showfrontinfo);
     if (trim > 0)
     {
       trimleft += trim;
@@ -812,15 +793,15 @@ GtUword front_prune_edist_inplace(
                         distance,
                         ulen,
                         vlen,
-                        max_history,
-                        minmatchpercentage,
+                        minmatchpercentage128,
                         minlenfrommaxdiff,
+                        trimstrategy,
+                        best_polished_point,
                         validbasefront + distance,
                         validbasefront + trimleft + valid - 1,
-                        validbasefront + trimleft - 1);
-#ifdef TRIM_INFO_OUT
-      printf("trim on right=" GT_WU "\n",trim);
-#endif
+                        validbasefront + trimleft - 1,
+                        max_history_mask,
+                        showfrontinfo);
       gt_assert(trim < valid);
       if (trim > 0)
       {
@@ -837,18 +818,15 @@ GtUword front_prune_edist_inplace(
     {
       front_trace_add_gen(front_trace,trimleft,valid);
     }
-    update_trace_and_polished(best_polished_point,
-#ifndef OUTSIDE_OF_GT
-                              &useq.min_access_pos,
-                              &vseq.min_access_pos,
-#endif
-                              front_trace,
-                              pol_info,
-                              distance,
-                              trimleft,
-                              validbasefront + distance,
-                              validbasefront + trimleft,
-                              validbasefront + trimleft + valid - 1);
+    ft_update_trace_and_polished(best_polished_point,
+                                 front_trace,
+                                 pol_info,
+                                 distance,
+                                 trimleft,
+                                 validbasefront + distance,
+                                 validbasefront + trimleft,
+                                 validbasefront + trimleft + valid - 1,
+                                 showfrontinfo);
     if ((vlen > ulen && vlen - ulen <= distance) ||
         (vlen <= ulen && ulen - vlen <= distance))
     {
@@ -864,20 +842,227 @@ GtUword front_prune_edist_inplace(
       break;
     }
   }
-  trimstat_add(trimstat,diedout,sumvalid,maxvalid,distance,
-               sizeof (Frontvalue) * frontspace->allocated,
-#ifndef OUTSIDE_OF_GT
-               useq.sequence_cache != NULL &&
-               vseq.sequence_cache != NULL ? MAX(useq.sequence_cache->allocated,
-                                                 vseq.sequence_cache->allocated)
-                                           : 0
-#else
-               0
-#endif
-              );
-#ifdef OUTSIDE_OF_GT
-  gt_free(frontspace->space);
-  gt_free(frontspace);
-#endif
+  if (trimstat != NULL)
+  {
+    gt_ft_trimstat_add(trimstat,diedout,sumvalid,maxvalid,distance,
+                       sizeof (GtFtFrontvalue) * frontspace->allocated);
+  }
   return diedout ? sumseqlength + 1 : distance;
 }
+static void inline gt_full_front_prune_add_matches(GtFtFrontvalue *midfront,
+                                                   GtFtFrontvalue *fv,
+                                                   const GtUchar *useq,
+                                                   GtUword ulen,
+                                                   const GtUchar *vseq,
+                                                   GtUword vlen)
+{
+  GtUword upos, vpos;
+
+  for (upos = fv->row, vpos = fv->row + GT_FRONT_DIAGONAL(fv);
+       upos < ulen && vpos < vlen &&
+       useq[upos] == vseq[vpos]
+       && ISNOTSPECIAL(useq[upos])
+       ;
+       upos++, vpos++)
+       /* Nothing */;
+  fv->localmatch_count = upos - fv->row;
+  fv->row = upos;
+}
+
+static void gt_full_front_next_inplace(GtFtFrontvalue *midfront,
+                                       GtFtFrontvalue *lowfront,
+                                       GtFtFrontvalue *highfront,
+                                       const GtUchar *useq,
+                                       GtUword ulen,
+                                       const GtUchar *vseq,
+                                       GtUword vlen)
+{
+  GtFtFrontvalue bestfront, insertion_value, replacement_value, *frontptr;
+
+  insertion_value = *lowfront; /* from previous diag -(d-1) => -d => DELETION */
+  bestfront = insertion_value;
+  bestfront.row++;
+  *lowfront = bestfront;
+  lowfront->backreference = FT_EOP_DELETION;
+  gt_full_front_prune_add_matches(midfront,lowfront,useq,ulen,vseq,vlen);
+
+  replacement_value = *(lowfront+1);
+  if (bestfront.row < replacement_value.row + 1)
+  {
+    bestfront = replacement_value;
+    bestfront.backreference = FT_EOP_DELETION;
+    bestfront.row++;
+  } else
+  {
+    bestfront.backreference = FT_EOP_MISMATCH;
+    if (bestfront.row == replacement_value.row + 1)
+    {
+      bestfront.backreference |= FT_EOP_DELETION;
+    }
+  }
+  *(lowfront+1) = bestfront;
+  gt_full_front_prune_add_matches(midfront,lowfront + 1,useq,ulen,vseq,vlen);
+  for (frontptr = lowfront+2; frontptr <= highfront; frontptr++)
+  {
+    bestfront = insertion_value;
+    bestfront.backreference = FT_EOP_INSERTION;
+    if (frontptr <= highfront - 1)
+    {
+      if (bestfront.row < replacement_value.row + 1)
+      {
+        bestfront = replacement_value;
+        bestfront.backreference = FT_EOP_MISMATCH;
+        bestfront.row++;
+      } else
+      {
+        if (bestfront.row == replacement_value.row + 1)
+        {
+          bestfront.backreference |= FT_EOP_MISMATCH;
+        }
+      }
+    }
+    if (frontptr <= highfront - 2)
+    {
+      if (bestfront.row < frontptr->row + 1)
+      {
+        bestfront = *frontptr;
+        bestfront.backreference = FT_EOP_DELETION;
+        bestfront.row++;
+      } else
+      {
+        if (bestfront.row == frontptr->row + 1)
+        {
+          bestfront.backreference |= FT_EOP_DELETION;
+        }
+      }
+    }
+    if (frontptr < highfront)
+    {
+      insertion_value = replacement_value;
+      replacement_value = *frontptr;
+    }
+    *frontptr = bestfront;
+    gt_full_front_prune_add_matches(midfront,frontptr,useq,ulen,vseq,vlen);
+  }
+}
+
+static void gt_full_front_second_inplace(GtFtFrontvalue *midfront,
+                                         GtFtFrontvalue *lowfront,
+                                         const GtUchar *useq,
+                                         GtUword ulen,
+                                         const GtUchar *vseq,
+                                         GtUword vlen)
+{
+  *(lowfront+1) = *(lowfront+2) = *lowfront;
+  lowfront->row++;
+  lowfront->backreference = FT_EOP_DELETION;
+  gt_full_front_prune_add_matches(midfront,lowfront,useq,ulen,vseq,vlen);
+
+  (lowfront+1)->row++;
+  (lowfront+1)->backreference = FT_EOP_MISMATCH;
+  gt_full_front_prune_add_matches(midfront,lowfront + 1,useq,ulen,vseq,vlen);
+
+  (lowfront+2)->backreference = FT_EOP_INSERTION;
+  gt_full_front_prune_add_matches(midfront,lowfront + 2,useq,ulen,vseq,vlen);
+}
+
+struct GtFullFrontEdistTrace
+{
+  GtFtFrontvalue *spaceGtFtFrontvalue;
+  GtUword allocatedGtFtFrontvalue;
+  GtFrontTrace *front_trace;
+};
+
+GtFullFrontEdistTrace *gt_full_front_edist_trace_new(void)
+{
+  GtFullFrontEdistTrace *fet = gt_malloc(sizeof *fet);
+
+  gt_assert(fet != NULL);
+  fet->spaceGtFtFrontvalue = NULL;
+  fet->allocatedGtFtFrontvalue = 0;
+  fet->front_trace = front_trace_new();
+  return fet;
+}
+
+void gt_full_front_edist_trace_delete(GtFullFrontEdistTrace *fet)
+{
+  if (fet != NULL)
+  {
+    gt_free(fet->spaceGtFtFrontvalue);
+    front_trace_delete(fet->front_trace);
+    gt_free(fet);
+  }
+}
+
+GtFrontTrace *gt_full_front_trace_get(GtFullFrontEdistTrace *fet)
+{
+  gt_assert(fet != NULL);
+  return fet->front_trace;
+}
+
+static void gt_full_front_trace_add_gen(GtFrontTrace *front_trace,
+                                        const GtFtFrontvalue *lowfront,
+                                        const GtFtFrontvalue *highfront)
+{
+  const GtFtFrontvalue *fv;
+
+  for (fv = lowfront; fv <= highfront; fv++)
+  {
+    front_trace_add_trace(front_trace,fv->backreference,fv->localmatch_count);
+  }
+}
+
+GtUword gt_full_front_edist_trace_distance(GtFullFrontEdistTrace *fet,
+                                           const GtUchar *useq,
+                                           GtUword ulen,
+                                           const GtUchar *vseq,
+                                           GtUword vlen)
+{
+  const GtUword sumseqlength = ulen + vlen;
+  GtUword distance;
+
+  front_trace_reset(fet->front_trace,ulen+vlen);
+  for (distance = 0; distance <= sumseqlength; distance++)
+  {
+    GtFtFrontvalue *basefront;
+    if (2 * distance >= fet->allocatedGtFtFrontvalue)
+    {
+      fet->allocatedGtFtFrontvalue = fet->allocatedGtFtFrontvalue * 1.2 + 32;
+      fet->spaceGtFtFrontvalue = gt_realloc(fet->spaceGtFtFrontvalue,
+                                            sizeof *fet->spaceGtFtFrontvalue *
+                                            fet->allocatedGtFtFrontvalue);
+      gt_assert(fet->spaceGtFtFrontvalue != NULL);
+    }
+    basefront = fet->spaceGtFtFrontvalue;
+    if (distance == 0)
+    {
+      basefront->row = 0;
+      basefront->backreference = 0; /* No back reference */
+      gt_full_front_prune_add_matches(basefront,basefront,useq,ulen,vseq,vlen);
+    } else
+    {
+      if (distance == 1)
+      {
+        gt_full_front_second_inplace(basefront + distance,basefront,
+                                     useq,ulen,vseq,vlen);
+      } else
+      {
+        gt_full_front_next_inplace(basefront + distance,basefront,
+                                   basefront + 2 * distance,
+                                   useq,ulen,vseq,vlen);
+      }
+    }
+    gt_full_front_trace_add_gen(fet->front_trace,basefront,
+                                basefront + 2 * distance);
+    if ((vlen > ulen && vlen - ulen <= distance) ||
+        (vlen <= ulen && ulen - vlen <= distance))
+    {
+      if (basefront[distance + vlen - ulen].row == ulen)
+      {
+        break;
+      }
+    }
+  }
+  gt_assert(distance <= sumseqlength);
+  return distance;
+}
diff --git a/src/match/ft-front-prune.h b/src/match/ft-front-prune.h
index b87a12d..6614ac5 100644
--- a/src/match/ft-front-prune.h
+++ b/src/match/ft-front-prune.h
@@ -1,9 +1,8 @@
 #ifndef FT_FRONT_PRUNE_H
 #define FT_FRONT_PRUNE_H
-#include "core/types_api.h"
-#include "ft-trimstat.h"
-#include "ft-polish.h"
-#include "ft-front-generation.h"
+#include "match/ft-trimstat.h"
+#include "match/ft-polish.h"
+#include "match/ft-front-generation.h"
 #include "core/encseq_api.h"
 
 typedef struct
@@ -12,7 +11,13 @@ typedef struct
   GtUword offset, allocated;
 } GtAllocatedMemory;
 
-#ifndef OUTSIDE_OF_GT
+typedef enum
+{
+  GT_OUTSENSE_TRIM_ALWAYS,
+  GT_OUTSENSE_TRIM_ON_NEW_PP,
+  GT_OUTSENSE_TRIM_NEVER
+} GtTrimmingStrategy;
+
 typedef enum
 {
   GT_EXTEND_CHAR_ACCESS_ENCSEQ,
@@ -24,34 +29,50 @@ typedef enum
 typedef struct
 {
   const GtEncseq *encseq;
-  GtReadmode readmode;
   GtAllocatedMemory *sequence_cache;
   GtEncseqReader *encseq_r;
   const GtUchar *bytesequence;
+  GtUword totallength,
+          full_totallength;
+  GtReadmode readmode;
   GtExtendCharAccess extend_char_access;
-  GtUword totallength;
-} FTsequenceResources;
-#endif
+  bool twobit_possible, haswildcards;
+} GtFTsequenceResources;
 
 GtUword front_prune_edist_inplace(
-#ifndef OUTSIDE_OF_GT
                        bool forward,
                        GtAllocatedMemory *frontspace_reservoir,
-#endif
-                       Trimstat *trimstat,
-                       Polished_point *best_polished_point,
-                       GtFronttrace *fronttrace,
-                       const Polishing_info *pol_info,
+                       GtFtPolished_point *best_polished_point,
+                       GtFrontTrace *fronttrace,
+                       const GtFtPolishing_info *pol_info,
+                       GtTrimmingStrategy trimstrategy,
                        GtUword history,
                        GtUword minmatchnum,
                        GtUword maxalignedlendifference,
+                       bool showfrontinfo,
                        GtUword seedlength,
-                       FTsequenceResources *ufsr,
+                       GtFTsequenceResources *ufsr,
                        GtUword ustart,
                        GtUword uulen,
                        GtUword vseqstartpos,
-                       FTsequenceResources *vfsr,
+                       GtFTsequenceResources *vfsr,
                        GtUword vstart,
-                       GtUword vlen);
+                       GtUword vlen,
+                       bool cam_generic,
+                       GtFtTrimstat *trimstat);
+
+typedef struct GtFullFrontEdistTrace GtFullFrontEdistTrace;
+
+GtFullFrontEdistTrace *gt_full_front_edist_trace_new(void);
+
+void gt_full_front_edist_trace_delete(GtFullFrontEdistTrace *fet);
+
+GtFrontTrace *gt_full_front_trace_get(GtFullFrontEdistTrace *fet);
+
+GtUword gt_full_front_edist_trace_distance(GtFullFrontEdistTrace *fet,
+                                           const GtUchar *useq,
+                                           GtUword ulen,
+                                           const GtUchar *vseq,
+                                           GtUword vlen);
 
 #endif
diff --git a/src/match/ft-longest-common.inc b/src/match/ft-longest-common.inc
new file mode 100644
index 0000000..764eb8a
--- /dev/null
+++ b/src/match/ft-longest-common.inc
@@ -0,0 +1,1839 @@
+static GtUword ft_longest_common_twobit_twobit(
+                                      GtFtSequenceObject *useq,
+                                      GtUword ustart,
+                                      GtFtSequenceObject *vseq,
+                                      const GtUword vstart)
+{
+  if (ustart < useq->substringlength && vstart < vseq->substringlength)
+  {
+    GtUword uptr, vptr; int ustep, vstep;
+    GtUword minsubstringlength = useq->substringlength - ustart,
+    matchlength = 0;
+    if (vseq->substringlength - vstart < minsubstringlength)
+    {
+      minsubstringlength = vseq->substringlength - vstart;
+    }
+    if (useq->read_seq_left2right)
+    {
+      uptr = useq->offset + ustart; ustep = 1;
+    } else
+    {
+      uptr = useq->offset - ustart; ustep = -1;
+    }
+    if (vseq->read_seq_left2right)
+    {
+      vptr = vseq->offset + vstart; vstep = 1;
+    } else
+    {
+      vptr = vseq->offset - vstart; vstep = -1;
+    }
+    if (vseq->dir_is_complement)
+    {
+      do
+      {
+        if (gt_twobitencoding_char_at_pos(
+                              useq->twobitencoding,
+                              uptr) !=
+            GT_COMPLEMENTBASE(gt_twobitencoding_char_at_pos(
+                              vseq->twobitencoding,
+                              vptr)))
+          break;
+        uptr += ustep;
+        vptr += vstep;matchlength++;
+      } while (matchlength < minsubstringlength);
+    } else
+    {
+      do
+      {
+        if (gt_twobitencoding_char_at_pos(
+                              useq->twobitencoding,
+                              uptr) !=
+            gt_twobitencoding_char_at_pos(
+                              vseq->twobitencoding,
+                              vptr))
+          break;
+        uptr += ustep;
+        vptr += vstep;matchlength++;
+      } while (matchlength < minsubstringlength);
+    }
+    return matchlength;
+  }
+  return 0;
+}
+
+static GtUword ft_longest_common_twobit_encseq_reader(
+                                      GtFtSequenceObject *useq,
+                                      GtUword ustart,
+                                      GtFtSequenceObject *vseq,
+                                      const GtUword vstart)
+{
+  if (ustart < useq->substringlength && vstart < vseq->substringlength)
+  {
+    GtUword uptr; int ustep; GtUword vptr = vstart;
+    GtUword minsubstringlength = vstart + useq->substringlength - ustart;
+    if (vseq->substringlength < minsubstringlength)
+    {
+      minsubstringlength = vseq->substringlength;
+    }
+    if (useq->read_seq_left2right)
+    {
+      uptr = useq->offset + ustart; ustep = 1;
+    } else
+    {
+      uptr = useq->offset - ustart; ustep = -1;
+    }
+    if (vseq->dir_is_complement)
+    {
+      do
+      {
+        if (gt_twobitencoding_char_at_pos(
+                              useq->twobitencoding,
+                              uptr) !=
+            GT_COMPLEMENTBASE(gt_sequenceobject_esr_get(vseq,vptr)))
+          break;
+        uptr += ustep;
+        vptr++;
+      } while (vptr < minsubstringlength);
+    } else
+    {
+      do
+      {
+        if (gt_twobitencoding_char_at_pos(
+                              useq->twobitencoding,
+                              uptr) !=
+            gt_sequenceobject_esr_get(vseq,vptr))
+          break;
+        uptr += ustep;
+        vptr++;
+      } while (vptr < minsubstringlength);
+    }
+    return vptr - vstart;
+  }
+  return 0;
+}
+
+static GtUword ft_longest_common_twobit_encseq(
+                                      GtFtSequenceObject *useq,
+                                      GtUword ustart,
+                                      GtFtSequenceObject *vseq,
+                                      const GtUword vstart)
+{
+  if (ustart < useq->substringlength && vstart < vseq->substringlength)
+  {
+    GtUword uptr, vptr; int ustep, vstep;
+    GtUword minsubstringlength = useq->substringlength - ustart,
+    matchlength = 0;
+    if (vseq->substringlength - vstart < minsubstringlength)
+    {
+      minsubstringlength = vseq->substringlength - vstart;
+    }
+    if (useq->read_seq_left2right)
+    {
+      uptr = useq->offset + ustart; ustep = 1;
+    } else
+    {
+      uptr = useq->offset - ustart; ustep = -1;
+    }
+    if (vseq->read_seq_left2right)
+    {
+      vptr = vseq->offset + vstart; vstep = 1;
+    } else
+    {
+      vptr = vseq->offset - vstart; vstep = -1;
+    }
+    if (vseq->dir_is_complement)
+    {
+      do
+      {
+        if (gt_twobitencoding_char_at_pos(
+                              useq->twobitencoding,
+                              uptr) !=
+            GT_COMPLEMENTBASE(gt_encseq_get_encoded_char(vseq->encseq,
+                    vptr,
+                    GT_READMODE_FORWARD)))
+          break;
+        uptr += ustep;
+        vptr += vstep;matchlength++;
+      } while (matchlength < minsubstringlength);
+    } else
+    {
+      do
+      {
+        if (gt_twobitencoding_char_at_pos(
+                              useq->twobitencoding,
+                              uptr) !=
+            gt_encseq_get_encoded_char(vseq->encseq,
+                    vptr,
+                    GT_READMODE_FORWARD))
+          break;
+        uptr += ustep;
+        vptr += vstep;matchlength++;
+      } while (matchlength < minsubstringlength);
+    }
+    return matchlength;
+  }
+  return 0;
+}
+
+static GtUword ft_longest_common_twobit_bytes(
+                                      GtFtSequenceObject *useq,
+                                      GtUword ustart,
+                                      GtFtSequenceObject *vseq,
+                                      const GtUword vstart)
+{
+  if (ustart < useq->substringlength && vstart < vseq->substringlength)
+  {
+    GtUword uptr; const GtUchar *vptr; int ustep, vstep;
+    GtUword minsubstringlength = useq->substringlength - ustart,
+    matchlength = 0;
+    if (vseq->substringlength - vstart < minsubstringlength)
+    {
+      minsubstringlength = vseq->substringlength - vstart;
+    }
+    if (useq->read_seq_left2right)
+    {
+      uptr = useq->offset + ustart; ustep = 1;
+    } else
+    {
+      uptr = useq->offset - ustart; ustep = -1;
+    }
+    if (vseq->read_seq_left2right)
+    {
+      vptr = vseq->bytesequenceptr + vseq->offset + vstart; vstep = 1;
+    } else
+    {
+      vptr = vseq->bytesequenceptr + vseq->offset - vstart; vstep = -1;
+    }
+    if (vseq->dir_is_complement)
+    {
+      do
+      {
+        if (gt_twobitencoding_char_at_pos(
+                              useq->twobitencoding,
+                              uptr) != GT_COMPLEMENTBASE(*vptr))
+          break;
+        uptr += ustep;
+        vptr += vstep;matchlength++;
+      } while (matchlength < minsubstringlength);
+    } else
+    {
+      do
+      {
+        if (gt_twobitencoding_char_at_pos(
+                              useq->twobitencoding,
+                              uptr) != *vptr)
+          break;
+        uptr += ustep;
+        vptr += vstep;matchlength++;
+      } while (matchlength < minsubstringlength);
+    }
+    return matchlength;
+  }
+  return 0;
+}
+
+static GtUword ft_longest_common_encseq_reader_twobit(
+                                      GtFtSequenceObject *useq,
+                                      GtUword ustart,
+                                      GtFtSequenceObject *vseq,
+                                      const GtUword vstart)
+{
+  if (ustart < useq->substringlength && vstart < vseq->substringlength)
+  {
+    GtUword uptr = ustart, vptr; int vstep;
+    GtUword minsubstringlength = ustart + vseq->substringlength - vstart;
+    if (useq->substringlength < minsubstringlength)
+    {
+      minsubstringlength = useq->substringlength;
+    }
+    if (vseq->read_seq_left2right)
+    {
+      vptr = vseq->offset + vstart; vstep = 1;
+    } else
+    {
+      vptr = vseq->offset - vstart; vstep = -1;
+    }
+    if (vseq->dir_is_complement)
+    {
+      do
+      {
+        if (gt_sequenceobject_esr_get(useq,uptr) !=
+            GT_COMPLEMENTBASE(gt_twobitencoding_char_at_pos(
+                              vseq->twobitencoding,
+                              vptr)))
+          break;
+        uptr++;
+        vptr += vstep;
+      } while (uptr < minsubstringlength);
+    } else
+    {
+      do
+      {
+        if (gt_sequenceobject_esr_get(useq,uptr) !=
+            gt_twobitencoding_char_at_pos(
+                              vseq->twobitencoding,
+                              vptr))
+          break;
+        uptr++;
+        vptr += vstep;
+      } while (uptr < minsubstringlength);
+    }
+    return uptr - ustart;
+  }
+  return 0;
+}
+
+static GtUword ft_longest_common_encseq_reader_encseq_reader(
+                                      GtFtSequenceObject *useq,
+                                      GtUword ustart,
+                                      GtFtSequenceObject *vseq,
+                                      const GtUword vstart)
+{
+  if (ustart < useq->substringlength && vstart < vseq->substringlength)
+  {
+    GtUword uptr = ustart, vptr = vstart;
+    GtUword minsubstringlength = ustart + vseq->substringlength - vstart;
+    if (useq->substringlength < minsubstringlength)
+    {
+      minsubstringlength = useq->substringlength;
+    }
+    if (vseq->dir_is_complement)
+    {
+      do
+      {
+        if (gt_sequenceobject_esr_get(useq,uptr) !=
+            GT_COMPLEMENTBASE(gt_sequenceobject_esr_get(vseq,vptr)))
+          break;
+        uptr++;
+        vptr++;
+      } while (uptr < minsubstringlength);
+    } else
+    {
+      do
+      {
+        if (gt_sequenceobject_esr_get(useq,uptr) !=
+            gt_sequenceobject_esr_get(vseq,vptr))
+          break;
+        uptr++;
+        vptr++;
+      } while (uptr < minsubstringlength);
+    }
+    return uptr - ustart;
+  }
+  return 0;
+}
+
+static GtUword ft_longest_common_encseq_reader_encseq(
+                                      GtFtSequenceObject *useq,
+                                      GtUword ustart,
+                                      GtFtSequenceObject *vseq,
+                                      const GtUword vstart)
+{
+  if (ustart < useq->substringlength && vstart < vseq->substringlength)
+  {
+    GtUword uptr = ustart, vptr; int vstep;
+    GtUword minsubstringlength = ustart + vseq->substringlength - vstart;
+    if (useq->substringlength < minsubstringlength)
+    {
+      minsubstringlength = useq->substringlength;
+    }
+    if (vseq->read_seq_left2right)
+    {
+      vptr = vseq->offset + vstart; vstep = 1;
+    } else
+    {
+      vptr = vseq->offset - vstart; vstep = -1;
+    }
+    if (vseq->dir_is_complement)
+    {
+      do
+      {
+        if (gt_sequenceobject_esr_get(useq,uptr) !=
+            GT_COMPLEMENTBASE(gt_encseq_get_encoded_char(vseq->encseq,
+                    vptr,
+                    GT_READMODE_FORWARD)))
+          break;
+        uptr++;
+        vptr += vstep;
+      } while (uptr < minsubstringlength);
+    } else
+    {
+      do
+      {
+        if (gt_sequenceobject_esr_get(useq,uptr) !=
+            gt_encseq_get_encoded_char(vseq->encseq,
+                    vptr,
+                    GT_READMODE_FORWARD))
+          break;
+        uptr++;
+        vptr += vstep;
+      } while (uptr < minsubstringlength);
+    }
+    return uptr - ustart;
+  }
+  return 0;
+}
+
+static GtUword ft_longest_common_encseq_reader_bytes(
+                                      GtFtSequenceObject *useq,
+                                      GtUword ustart,
+                                      GtFtSequenceObject *vseq,
+                                      const GtUword vstart)
+{
+  if (ustart < useq->substringlength && vstart < vseq->substringlength)
+  {
+    GtUword uptr = ustart; const GtUchar *vptr; int vstep;
+    GtUword minsubstringlength = ustart + vseq->substringlength - vstart;
+    if (useq->substringlength < minsubstringlength)
+    {
+      minsubstringlength = useq->substringlength;
+    }
+    if (vseq->read_seq_left2right)
+    {
+      vptr = vseq->bytesequenceptr + vseq->offset + vstart; vstep = 1;
+    } else
+    {
+      vptr = vseq->bytesequenceptr + vseq->offset - vstart; vstep = -1;
+    }
+    if (vseq->dir_is_complement)
+    {
+      do
+      {
+        if (gt_sequenceobject_esr_get(useq,uptr) != GT_COMPLEMENTBASE(*vptr))
+          break;
+        uptr++;
+        vptr += vstep;
+      } while (uptr < minsubstringlength);
+    } else
+    {
+      do
+      {
+        if (gt_sequenceobject_esr_get(useq,uptr) != *vptr)
+          break;
+        uptr++;
+        vptr += vstep;
+      } while (uptr < minsubstringlength);
+    }
+    return uptr - ustart;
+  }
+  return 0;
+}
+
+static GtUword ft_longest_common_encseq_twobit(
+                                      GtFtSequenceObject *useq,
+                                      GtUword ustart,
+                                      GtFtSequenceObject *vseq,
+                                      const GtUword vstart)
+{
+  if (ustart < useq->substringlength && vstart < vseq->substringlength)
+  {
+    GtUword uptr, vptr; int ustep, vstep;
+    GtUword minsubstringlength = useq->substringlength - ustart,
+    matchlength = 0;
+    if (vseq->substringlength - vstart < minsubstringlength)
+    {
+      minsubstringlength = vseq->substringlength - vstart;
+    }
+    if (useq->read_seq_left2right)
+    {
+      uptr = useq->offset + ustart; ustep = 1;
+    } else
+    {
+      uptr = useq->offset - ustart; ustep = -1;
+    }
+    if (vseq->read_seq_left2right)
+    {
+      vptr = vseq->offset + vstart; vstep = 1;
+    } else
+    {
+      vptr = vseq->offset - vstart; vstep = -1;
+    }
+    if (vseq->dir_is_complement)
+    {
+      do
+      {
+        if (gt_encseq_get_encoded_char(useq->encseq,
+                    uptr,
+                    GT_READMODE_FORWARD) !=
+            GT_COMPLEMENTBASE(gt_twobitencoding_char_at_pos(
+                              vseq->twobitencoding,
+                              vptr)))
+          break;
+        uptr += ustep;
+        vptr += vstep;matchlength++;
+      } while (matchlength < minsubstringlength);
+    } else
+    {
+      do
+      {
+        if (gt_encseq_get_encoded_char(useq->encseq,
+                    uptr,
+                    GT_READMODE_FORWARD) !=
+            gt_twobitencoding_char_at_pos(
+                              vseq->twobitencoding,
+                              vptr))
+          break;
+        uptr += ustep;
+        vptr += vstep;matchlength++;
+      } while (matchlength < minsubstringlength);
+    }
+    return matchlength;
+  }
+  return 0;
+}
+
+static GtUword ft_longest_common_encseq_encseq_reader(
+                                      GtFtSequenceObject *useq,
+                                      GtUword ustart,
+                                      GtFtSequenceObject *vseq,
+                                      const GtUword vstart)
+{
+  if (ustart < useq->substringlength && vstart < vseq->substringlength)
+  {
+    GtUword uptr; int ustep; GtUword vptr = vstart;
+    GtUword minsubstringlength = vstart + useq->substringlength - ustart;
+    if (vseq->substringlength < minsubstringlength)
+    {
+      minsubstringlength = vseq->substringlength;
+    }
+    if (useq->read_seq_left2right)
+    {
+      uptr = useq->offset + ustart; ustep = 1;
+    } else
+    {
+      uptr = useq->offset - ustart; ustep = -1;
+    }
+    if (vseq->dir_is_complement)
+    {
+      do
+      {
+        if (gt_encseq_get_encoded_char(useq->encseq,
+                    uptr,
+                    GT_READMODE_FORWARD) !=
+            GT_COMPLEMENTBASE(gt_sequenceobject_esr_get(vseq,vptr)))
+          break;
+        uptr += ustep;
+        vptr++;
+      } while (vptr < minsubstringlength);
+    } else
+    {
+      do
+      {
+        if (gt_encseq_get_encoded_char(useq->encseq,
+                    uptr,
+                    GT_READMODE_FORWARD) !=
+            gt_sequenceobject_esr_get(vseq,vptr))
+          break;
+        uptr += ustep;
+        vptr++;
+      } while (vptr < minsubstringlength);
+    }
+    return vptr - vstart;
+  }
+  return 0;
+}
+
+static GtUword ft_longest_common_encseq_encseq(
+                                      GtFtSequenceObject *useq,
+                                      GtUword ustart,
+                                      GtFtSequenceObject *vseq,
+                                      const GtUword vstart)
+{
+  if (ustart < useq->substringlength && vstart < vseq->substringlength)
+  {
+    GtUword uptr, vptr; int ustep, vstep;
+    GtUword minsubstringlength = useq->substringlength - ustart,
+    matchlength = 0;
+    if (vseq->substringlength - vstart < minsubstringlength)
+    {
+      minsubstringlength = vseq->substringlength - vstart;
+    }
+    if (useq->read_seq_left2right)
+    {
+      uptr = useq->offset + ustart; ustep = 1;
+    } else
+    {
+      uptr = useq->offset - ustart; ustep = -1;
+    }
+    if (vseq->read_seq_left2right)
+    {
+      vptr = vseq->offset + vstart; vstep = 1;
+    } else
+    {
+      vptr = vseq->offset - vstart; vstep = -1;
+    }
+    if (vseq->dir_is_complement)
+    {
+      do
+      {
+        if (gt_encseq_get_encoded_char(useq->encseq,
+                    uptr,
+                    GT_READMODE_FORWARD) !=
+            GT_COMPLEMENTBASE(gt_encseq_get_encoded_char(vseq->encseq,
+                    vptr,
+                    GT_READMODE_FORWARD)))
+          break;
+        uptr += ustep;
+        vptr += vstep;matchlength++;
+      } while (matchlength < minsubstringlength);
+    } else
+    {
+      do
+      {
+        if (gt_encseq_get_encoded_char(useq->encseq,
+                    uptr,
+                    GT_READMODE_FORWARD) !=
+            gt_encseq_get_encoded_char(vseq->encseq,
+                    vptr,
+                    GT_READMODE_FORWARD))
+          break;
+        uptr += ustep;
+        vptr += vstep;matchlength++;
+      } while (matchlength < minsubstringlength);
+    }
+    return matchlength;
+  }
+  return 0;
+}
+
+static GtUword ft_longest_common_encseq_bytes(
+                                      GtFtSequenceObject *useq,
+                                      GtUword ustart,
+                                      GtFtSequenceObject *vseq,
+                                      const GtUword vstart)
+{
+  if (ustart < useq->substringlength && vstart < vseq->substringlength)
+  {
+    GtUword uptr; const GtUchar *vptr; int ustep, vstep;
+    GtUword minsubstringlength = useq->substringlength - ustart,
+    matchlength = 0;
+    if (vseq->substringlength - vstart < minsubstringlength)
+    {
+      minsubstringlength = vseq->substringlength - vstart;
+    }
+    if (useq->read_seq_left2right)
+    {
+      uptr = useq->offset + ustart; ustep = 1;
+    } else
+    {
+      uptr = useq->offset - ustart; ustep = -1;
+    }
+    if (vseq->read_seq_left2right)
+    {
+      vptr = vseq->bytesequenceptr + vseq->offset + vstart; vstep = 1;
+    } else
+    {
+      vptr = vseq->bytesequenceptr + vseq->offset - vstart; vstep = -1;
+    }
+    if (vseq->dir_is_complement)
+    {
+      do
+      {
+        if (gt_encseq_get_encoded_char(useq->encseq,
+                    uptr,
+                    GT_READMODE_FORWARD) != GT_COMPLEMENTBASE(*vptr))
+          break;
+        uptr += ustep;
+        vptr += vstep;matchlength++;
+      } while (matchlength < minsubstringlength);
+    } else
+    {
+      do
+      {
+        if (gt_encseq_get_encoded_char(useq->encseq,
+                    uptr,
+                    GT_READMODE_FORWARD) != *vptr)
+          break;
+        uptr += ustep;
+        vptr += vstep;matchlength++;
+      } while (matchlength < minsubstringlength);
+    }
+    return matchlength;
+  }
+  return 0;
+}
+
+static GtUword ft_longest_common_bytes_twobit(
+                                      GtFtSequenceObject *useq,
+                                      GtUword ustart,
+                                      GtFtSequenceObject *vseq,
+                                      const GtUword vstart)
+{
+  if (ustart < useq->substringlength && vstart < vseq->substringlength)
+  {
+    const GtUchar *uptr; GtUword vptr; int ustep, vstep;
+    GtUword minsubstringlength = useq->substringlength - ustart,
+    matchlength = 0;
+    if (vseq->substringlength - vstart < minsubstringlength)
+    {
+      minsubstringlength = vseq->substringlength - vstart;
+    }
+    if (useq->read_seq_left2right)
+    {
+      uptr = useq->bytesequenceptr + useq->offset + ustart; ustep = 1;
+    } else
+    {
+      uptr = useq->bytesequenceptr + useq->offset - ustart; ustep = -1;
+    }
+    if (vseq->read_seq_left2right)
+    {
+      vptr = vseq->offset + vstart; vstep = 1;
+    } else
+    {
+      vptr = vseq->offset - vstart; vstep = -1;
+    }
+    if (vseq->dir_is_complement)
+    {
+      do
+      {
+        if (*uptr !=
+            GT_COMPLEMENTBASE(gt_twobitencoding_char_at_pos(
+                              vseq->twobitencoding,
+                              vptr)))
+          break;
+        uptr += ustep;
+        vptr += vstep;matchlength++;
+      } while (matchlength < minsubstringlength);
+    } else
+    {
+      do
+      {
+        if (*uptr !=
+            gt_twobitencoding_char_at_pos(
+                              vseq->twobitencoding,
+                              vptr))
+          break;
+        uptr += ustep;
+        vptr += vstep;matchlength++;
+      } while (matchlength < minsubstringlength);
+    }
+    return matchlength;
+  }
+  return 0;
+}
+
+static GtUword ft_longest_common_bytes_encseq_reader(
+                                      GtFtSequenceObject *useq,
+                                      GtUword ustart,
+                                      GtFtSequenceObject *vseq,
+                                      const GtUword vstart)
+{
+  if (ustart < useq->substringlength && vstart < vseq->substringlength)
+  {
+    const GtUchar *uptr; int ustep; GtUword vptr = vstart;
+    GtUword minsubstringlength = vstart + useq->substringlength - ustart;
+    if (vseq->substringlength < minsubstringlength)
+    {
+      minsubstringlength = vseq->substringlength;
+    }
+    if (useq->read_seq_left2right)
+    {
+      uptr = useq->bytesequenceptr + useq->offset + ustart; ustep = 1;
+    } else
+    {
+      uptr = useq->bytesequenceptr + useq->offset - ustart; ustep = -1;
+    }
+    if (vseq->dir_is_complement)
+    {
+      do
+      {
+        if (*uptr !=
+            GT_COMPLEMENTBASE(gt_sequenceobject_esr_get(vseq,vptr)))
+          break;
+        uptr += ustep;
+        vptr++;
+      } while (vptr < minsubstringlength);
+    } else
+    {
+      do
+      {
+        if (*uptr !=
+            gt_sequenceobject_esr_get(vseq,vptr))
+          break;
+        uptr += ustep;
+        vptr++;
+      } while (vptr < minsubstringlength);
+    }
+    return vptr - vstart;
+  }
+  return 0;
+}
+
+static GtUword ft_longest_common_bytes_encseq(
+                                      GtFtSequenceObject *useq,
+                                      GtUword ustart,
+                                      GtFtSequenceObject *vseq,
+                                      const GtUword vstart)
+{
+  if (ustart < useq->substringlength && vstart < vseq->substringlength)
+  {
+    const GtUchar *uptr; GtUword vptr; int ustep, vstep;
+    GtUword minsubstringlength = useq->substringlength - ustart,
+    matchlength = 0;
+    if (vseq->substringlength - vstart < minsubstringlength)
+    {
+      minsubstringlength = vseq->substringlength - vstart;
+    }
+    if (useq->read_seq_left2right)
+    {
+      uptr = useq->bytesequenceptr + useq->offset + ustart; ustep = 1;
+    } else
+    {
+      uptr = useq->bytesequenceptr + useq->offset - ustart; ustep = -1;
+    }
+    if (vseq->read_seq_left2right)
+    {
+      vptr = vseq->offset + vstart; vstep = 1;
+    } else
+    {
+      vptr = vseq->offset - vstart; vstep = -1;
+    }
+    if (vseq->dir_is_complement)
+    {
+      do
+      {
+        if (*uptr !=
+            GT_COMPLEMENTBASE(gt_encseq_get_encoded_char(vseq->encseq,
+                    vptr,
+                    GT_READMODE_FORWARD)))
+          break;
+        uptr += ustep;
+        vptr += vstep;matchlength++;
+      } while (matchlength < minsubstringlength);
+    } else
+    {
+      do
+      {
+        if (*uptr !=
+            gt_encseq_get_encoded_char(vseq->encseq,
+                    vptr,
+                    GT_READMODE_FORWARD))
+          break;
+        uptr += ustep;
+        vptr += vstep;matchlength++;
+      } while (matchlength < minsubstringlength);
+    }
+    return matchlength;
+  }
+  return 0;
+}
+
+static GtUword ft_longest_common_bytes_bytes(
+                                      GtFtSequenceObject *useq,
+                                      GtUword ustart,
+                                      GtFtSequenceObject *vseq,
+                                      const GtUword vstart)
+{
+  if (ustart < useq->substringlength && vstart < vseq->substringlength)
+  {
+    const GtUchar *uptr, *vptr; int ustep, vstep;
+    GtUword minsubstringlength = useq->substringlength - ustart,
+    matchlength = 0;
+    if (vseq->substringlength - vstart < minsubstringlength)
+    {
+      minsubstringlength = vseq->substringlength - vstart;
+    }
+    if (useq->read_seq_left2right)
+    {
+      uptr = useq->bytesequenceptr + useq->offset + ustart; ustep = 1;
+    } else
+    {
+      uptr = useq->bytesequenceptr + useq->offset - ustart; ustep = -1;
+    }
+    if (vseq->read_seq_left2right)
+    {
+      vptr = vseq->bytesequenceptr + vseq->offset + vstart; vstep = 1;
+    } else
+    {
+      vptr = vseq->bytesequenceptr + vseq->offset - vstart; vstep = -1;
+    }
+    if (vseq->dir_is_complement)
+    {
+      do
+      {
+        if (*uptr != GT_COMPLEMENTBASE(*vptr))
+          break;
+        uptr += ustep;
+        vptr += vstep;matchlength++;
+      } while (matchlength < minsubstringlength);
+    } else
+    {
+      do
+      {
+        if (*uptr != *vptr)
+          break;
+        uptr += ustep;
+        vptr += vstep;matchlength++;
+      } while (matchlength < minsubstringlength);
+    }
+    return matchlength;
+  }
+  return 0;
+}
+
+static GtUword ft_longest_common_twobit_twobit_wildcard(
+                                      GtFtSequenceObject *useq,
+                                      GtUword ustart,
+                                      GtFtSequenceObject *vseq,
+                                      const GtUword vstart)
+{
+  if (ustart < useq->substringlength && vstart < vseq->substringlength)
+  {
+    GtUword uptr, vptr; int ustep, vstep;
+    GtUword minsubstringlength = useq->substringlength - ustart,
+    matchlength = 0;
+    if (vseq->substringlength - vstart < minsubstringlength)
+    {
+      minsubstringlength = vseq->substringlength - vstart;
+    }
+    if (useq->read_seq_left2right)
+    {
+      uptr = useq->offset + ustart; ustep = 1;
+    } else
+    {
+      uptr = useq->offset - ustart; ustep = -1;
+    }
+    if (vseq->read_seq_left2right)
+    {
+      vptr = vseq->offset + vstart; vstep = 1;
+    } else
+    {
+      vptr = vseq->offset - vstart; vstep = -1;
+    }
+    if (vseq->dir_is_complement)
+    {
+      do
+      {
+        const GtUchar cu = gt_twobitencoding_char_at_pos(
+                              useq->twobitencoding,
+                              uptr);
+        if (cu == WILDCARD ||
+            cu !=
+            GT_COMPLEMENTBASE(gt_twobitencoding_char_at_pos(
+                              vseq->twobitencoding,
+                              vptr)))
+          break;
+        uptr += ustep;
+        vptr += vstep;matchlength++;
+      } while (matchlength < minsubstringlength);
+    } else
+    {
+      do
+      {
+        const GtUchar cu = gt_twobitencoding_char_at_pos(
+                              useq->twobitencoding,
+                              uptr);
+        if (cu == WILDCARD ||
+            cu !=
+            gt_twobitencoding_char_at_pos(
+                              vseq->twobitencoding,
+                              vptr))
+          break;
+        uptr += ustep;
+        vptr += vstep;matchlength++;
+      } while (matchlength < minsubstringlength);
+    }
+    return matchlength;
+  }
+  return 0;
+}
+
+static GtUword ft_longest_common_twobit_encseq_reader_wildcard(
+                                      GtFtSequenceObject *useq,
+                                      GtUword ustart,
+                                      GtFtSequenceObject *vseq,
+                                      const GtUword vstart)
+{
+  if (ustart < useq->substringlength && vstart < vseq->substringlength)
+  {
+    GtUword uptr; int ustep; GtUword vptr = vstart;
+    GtUword minsubstringlength = vstart + useq->substringlength - ustart;
+    if (vseq->substringlength < minsubstringlength)
+    {
+      minsubstringlength = vseq->substringlength;
+    }
+    if (useq->read_seq_left2right)
+    {
+      uptr = useq->offset + ustart; ustep = 1;
+    } else
+    {
+      uptr = useq->offset - ustart; ustep = -1;
+    }
+    if (vseq->dir_is_complement)
+    {
+      do
+      {
+        const GtUchar cu = gt_twobitencoding_char_at_pos(
+                              useq->twobitencoding,
+                              uptr);
+        if (cu == WILDCARD ||
+            cu !=
+            GT_COMPLEMENTBASE(gt_sequenceobject_esr_get(vseq,vptr)))
+          break;
+        uptr += ustep;
+        vptr++;
+      } while (vptr < minsubstringlength);
+    } else
+    {
+      do
+      {
+        const GtUchar cu = gt_twobitencoding_char_at_pos(
+                              useq->twobitencoding,
+                              uptr);
+        if (cu == WILDCARD ||
+            cu !=
+            gt_sequenceobject_esr_get(vseq,vptr))
+          break;
+        uptr += ustep;
+        vptr++;
+      } while (vptr < minsubstringlength);
+    }
+    return vptr - vstart;
+  }
+  return 0;
+}
+
+static GtUword ft_longest_common_twobit_encseq_wildcard(
+                                      GtFtSequenceObject *useq,
+                                      GtUword ustart,
+                                      GtFtSequenceObject *vseq,
+                                      const GtUword vstart)
+{
+  if (ustart < useq->substringlength && vstart < vseq->substringlength)
+  {
+    GtUword uptr, vptr; int ustep, vstep;
+    GtUword minsubstringlength = useq->substringlength - ustart,
+    matchlength = 0;
+    if (vseq->substringlength - vstart < minsubstringlength)
+    {
+      minsubstringlength = vseq->substringlength - vstart;
+    }
+    if (useq->read_seq_left2right)
+    {
+      uptr = useq->offset + ustart; ustep = 1;
+    } else
+    {
+      uptr = useq->offset - ustart; ustep = -1;
+    }
+    if (vseq->read_seq_left2right)
+    {
+      vptr = vseq->offset + vstart; vstep = 1;
+    } else
+    {
+      vptr = vseq->offset - vstart; vstep = -1;
+    }
+    if (vseq->dir_is_complement)
+    {
+      do
+      {
+        const GtUchar cu = gt_twobitencoding_char_at_pos(
+                              useq->twobitencoding,
+                              uptr);
+        if (cu == WILDCARD ||
+            cu !=
+            GT_COMPLEMENTBASE(gt_encseq_get_encoded_char(vseq->encseq,
+                    vptr,
+                    GT_READMODE_FORWARD)))
+          break;
+        uptr += ustep;
+        vptr += vstep;matchlength++;
+      } while (matchlength < minsubstringlength);
+    } else
+    {
+      do
+      {
+        const GtUchar cu = gt_twobitencoding_char_at_pos(
+                              useq->twobitencoding,
+                              uptr);
+        if (cu == WILDCARD ||
+            cu !=
+            gt_encseq_get_encoded_char(vseq->encseq,
+                    vptr,
+                    GT_READMODE_FORWARD))
+          break;
+        uptr += ustep;
+        vptr += vstep;matchlength++;
+      } while (matchlength < minsubstringlength);
+    }
+    return matchlength;
+  }
+  return 0;
+}
+
+static GtUword ft_longest_common_twobit_bytes_wildcard(
+                                      GtFtSequenceObject *useq,
+                                      GtUword ustart,
+                                      GtFtSequenceObject *vseq,
+                                      const GtUword vstart)
+{
+  if (ustart < useq->substringlength && vstart < vseq->substringlength)
+  {
+    GtUword uptr; const GtUchar *vptr; int ustep, vstep;
+    GtUword minsubstringlength = useq->substringlength - ustart,
+    matchlength = 0;
+    if (vseq->substringlength - vstart < minsubstringlength)
+    {
+      minsubstringlength = vseq->substringlength - vstart;
+    }
+    if (useq->read_seq_left2right)
+    {
+      uptr = useq->offset + ustart; ustep = 1;
+    } else
+    {
+      uptr = useq->offset - ustart; ustep = -1;
+    }
+    if (vseq->read_seq_left2right)
+    {
+      vptr = vseq->bytesequenceptr + vseq->offset + vstart; vstep = 1;
+    } else
+    {
+      vptr = vseq->bytesequenceptr + vseq->offset - vstart; vstep = -1;
+    }
+    if (vseq->dir_is_complement)
+    {
+      do
+      {
+        const GtUchar cu = gt_twobitencoding_char_at_pos(
+                              useq->twobitencoding,
+                              uptr);
+        if (cu == WILDCARD || cu != GT_COMPLEMENTBASE(*vptr))
+          break;
+        uptr += ustep;
+        vptr += vstep;matchlength++;
+      } while (matchlength < minsubstringlength);
+    } else
+    {
+      do
+      {
+        const GtUchar cu = gt_twobitencoding_char_at_pos(
+                              useq->twobitencoding,
+                              uptr);
+        if (cu == WILDCARD || cu != *vptr)
+          break;
+        uptr += ustep;
+        vptr += vstep;matchlength++;
+      } while (matchlength < minsubstringlength);
+    }
+    return matchlength;
+  }
+  return 0;
+}
+
+static GtUword ft_longest_common_encseq_reader_twobit_wildcard(
+                                      GtFtSequenceObject *useq,
+                                      GtUword ustart,
+                                      GtFtSequenceObject *vseq,
+                                      const GtUword vstart)
+{
+  if (ustart < useq->substringlength && vstart < vseq->substringlength)
+  {
+    GtUword uptr = ustart, vptr; int vstep;
+    GtUword minsubstringlength = ustart + vseq->substringlength - vstart;
+    if (useq->substringlength < minsubstringlength)
+    {
+      minsubstringlength = useq->substringlength;
+    }
+    if (vseq->read_seq_left2right)
+    {
+      vptr = vseq->offset + vstart; vstep = 1;
+    } else
+    {
+      vptr = vseq->offset - vstart; vstep = -1;
+    }
+    if (vseq->dir_is_complement)
+    {
+      do
+      {
+        const GtUchar cu = gt_sequenceobject_esr_get(useq,uptr);
+        if (cu == WILDCARD ||
+            cu !=
+            GT_COMPLEMENTBASE(gt_twobitencoding_char_at_pos(
+                              vseq->twobitencoding,
+                              vptr)))
+          break;
+        uptr++;
+        vptr += vstep;
+      } while (uptr < minsubstringlength);
+    } else
+    {
+      do
+      {
+        const GtUchar cu = gt_sequenceobject_esr_get(useq,uptr);
+        if (cu == WILDCARD ||
+            cu !=
+            gt_twobitencoding_char_at_pos(
+                              vseq->twobitencoding,
+                              vptr))
+          break;
+        uptr++;
+        vptr += vstep;
+      } while (uptr < minsubstringlength);
+    }
+    return uptr - ustart;
+  }
+  return 0;
+}
+
+static GtUword ft_longest_common_encseq_reader_encseq_reader_wildcard(
+                                      GtFtSequenceObject *useq,
+                                      GtUword ustart,
+                                      GtFtSequenceObject *vseq,
+                                      const GtUword vstart)
+{
+  if (ustart < useq->substringlength && vstart < vseq->substringlength)
+  {
+    GtUword uptr = ustart, vptr = vstart;
+    GtUword minsubstringlength = ustart + vseq->substringlength - vstart;
+    if (useq->substringlength < minsubstringlength)
+    {
+      minsubstringlength = useq->substringlength;
+    }
+    if (vseq->dir_is_complement)
+    {
+      do
+      {
+        const GtUchar cu = gt_sequenceobject_esr_get(useq,uptr);
+        if (cu == WILDCARD ||
+            cu !=
+            GT_COMPLEMENTBASE(gt_sequenceobject_esr_get(vseq,vptr)))
+          break;
+        uptr++;
+        vptr++;
+      } while (uptr < minsubstringlength);
+    } else
+    {
+      do
+      {
+        const GtUchar cu = gt_sequenceobject_esr_get(useq,uptr);
+        if (cu == WILDCARD ||
+            cu !=
+            gt_sequenceobject_esr_get(vseq,vptr))
+          break;
+        uptr++;
+        vptr++;
+      } while (uptr < minsubstringlength);
+    }
+    return uptr - ustart;
+  }
+  return 0;
+}
+
+static GtUword ft_longest_common_encseq_reader_encseq_wildcard(
+                                      GtFtSequenceObject *useq,
+                                      GtUword ustart,
+                                      GtFtSequenceObject *vseq,
+                                      const GtUword vstart)
+{
+  if (ustart < useq->substringlength && vstart < vseq->substringlength)
+  {
+    GtUword uptr = ustart, vptr; int vstep;
+    GtUword minsubstringlength = ustart + vseq->substringlength - vstart;
+    if (useq->substringlength < minsubstringlength)
+    {
+      minsubstringlength = useq->substringlength;
+    }
+    if (vseq->read_seq_left2right)
+    {
+      vptr = vseq->offset + vstart; vstep = 1;
+    } else
+    {
+      vptr = vseq->offset - vstart; vstep = -1;
+    }
+    if (vseq->dir_is_complement)
+    {
+      do
+      {
+        const GtUchar cu = gt_sequenceobject_esr_get(useq,uptr);
+        if (cu == WILDCARD ||
+            cu !=
+            GT_COMPLEMENTBASE(gt_encseq_get_encoded_char(vseq->encseq,
+                    vptr,
+                    GT_READMODE_FORWARD)))
+          break;
+        uptr++;
+        vptr += vstep;
+      } while (uptr < minsubstringlength);
+    } else
+    {
+      do
+      {
+        const GtUchar cu = gt_sequenceobject_esr_get(useq,uptr);
+        if (cu == WILDCARD ||
+            cu !=
+            gt_encseq_get_encoded_char(vseq->encseq,
+                    vptr,
+                    GT_READMODE_FORWARD))
+          break;
+        uptr++;
+        vptr += vstep;
+      } while (uptr < minsubstringlength);
+    }
+    return uptr - ustart;
+  }
+  return 0;
+}
+
+static GtUword ft_longest_common_encseq_reader_bytes_wildcard(
+                                      GtFtSequenceObject *useq,
+                                      GtUword ustart,
+                                      GtFtSequenceObject *vseq,
+                                      const GtUword vstart)
+{
+  if (ustart < useq->substringlength && vstart < vseq->substringlength)
+  {
+    GtUword uptr = ustart; const GtUchar *vptr; int vstep;
+    GtUword minsubstringlength = ustart + vseq->substringlength - vstart;
+    if (useq->substringlength < minsubstringlength)
+    {
+      minsubstringlength = useq->substringlength;
+    }
+    if (vseq->read_seq_left2right)
+    {
+      vptr = vseq->bytesequenceptr + vseq->offset + vstart; vstep = 1;
+    } else
+    {
+      vptr = vseq->bytesequenceptr + vseq->offset - vstart; vstep = -1;
+    }
+    if (vseq->dir_is_complement)
+    {
+      do
+      {
+        const GtUchar cu = gt_sequenceobject_esr_get(useq,uptr);
+        if (cu == WILDCARD || cu != GT_COMPLEMENTBASE(*vptr))
+          break;
+        uptr++;
+        vptr += vstep;
+      } while (uptr < minsubstringlength);
+    } else
+    {
+      do
+      {
+        const GtUchar cu = gt_sequenceobject_esr_get(useq,uptr);
+        if (cu == WILDCARD || cu != *vptr)
+          break;
+        uptr++;
+        vptr += vstep;
+      } while (uptr < minsubstringlength);
+    }
+    return uptr - ustart;
+  }
+  return 0;
+}
+
+static GtUword ft_longest_common_encseq_twobit_wildcard(
+                                      GtFtSequenceObject *useq,
+                                      GtUword ustart,
+                                      GtFtSequenceObject *vseq,
+                                      const GtUword vstart)
+{
+  if (ustart < useq->substringlength && vstart < vseq->substringlength)
+  {
+    GtUword uptr, vptr; int ustep, vstep;
+    GtUword minsubstringlength = useq->substringlength - ustart,
+    matchlength = 0;
+    if (vseq->substringlength - vstart < minsubstringlength)
+    {
+      minsubstringlength = vseq->substringlength - vstart;
+    }
+    if (useq->read_seq_left2right)
+    {
+      uptr = useq->offset + ustart; ustep = 1;
+    } else
+    {
+      uptr = useq->offset - ustart; ustep = -1;
+    }
+    if (vseq->read_seq_left2right)
+    {
+      vptr = vseq->offset + vstart; vstep = 1;
+    } else
+    {
+      vptr = vseq->offset - vstart; vstep = -1;
+    }
+    if (vseq->dir_is_complement)
+    {
+      do
+      {
+        const GtUchar cu = gt_encseq_get_encoded_char(useq->encseq,
+                    uptr,
+                    GT_READMODE_FORWARD);
+        if (cu == WILDCARD ||
+            cu !=
+            GT_COMPLEMENTBASE(gt_twobitencoding_char_at_pos(
+                              vseq->twobitencoding,
+                              vptr)))
+          break;
+        uptr += ustep;
+        vptr += vstep;matchlength++;
+      } while (matchlength < minsubstringlength);
+    } else
+    {
+      do
+      {
+        const GtUchar cu = gt_encseq_get_encoded_char(useq->encseq,
+                    uptr,
+                    GT_READMODE_FORWARD);
+        if (cu == WILDCARD ||
+            cu !=
+            gt_twobitencoding_char_at_pos(
+                              vseq->twobitencoding,
+                              vptr))
+          break;
+        uptr += ustep;
+        vptr += vstep;matchlength++;
+      } while (matchlength < minsubstringlength);
+    }
+    return matchlength;
+  }
+  return 0;
+}
+
+static GtUword ft_longest_common_encseq_encseq_reader_wildcard(
+                                      GtFtSequenceObject *useq,
+                                      GtUword ustart,
+                                      GtFtSequenceObject *vseq,
+                                      const GtUword vstart)
+{
+  if (ustart < useq->substringlength && vstart < vseq->substringlength)
+  {
+    GtUword uptr; int ustep; GtUword vptr = vstart;
+    GtUword minsubstringlength = vstart + useq->substringlength - ustart;
+    if (vseq->substringlength < minsubstringlength)
+    {
+      minsubstringlength = vseq->substringlength;
+    }
+    if (useq->read_seq_left2right)
+    {
+      uptr = useq->offset + ustart; ustep = 1;
+    } else
+    {
+      uptr = useq->offset - ustart; ustep = -1;
+    }
+    if (vseq->dir_is_complement)
+    {
+      do
+      {
+        const GtUchar cu = gt_encseq_get_encoded_char(useq->encseq,
+                    uptr,
+                    GT_READMODE_FORWARD);
+        if (cu == WILDCARD ||
+            cu !=
+            GT_COMPLEMENTBASE(gt_sequenceobject_esr_get(vseq,vptr)))
+          break;
+        uptr += ustep;
+        vptr++;
+      } while (vptr < minsubstringlength);
+    } else
+    {
+      do
+      {
+        const GtUchar cu = gt_encseq_get_encoded_char(useq->encseq,
+                    uptr,
+                    GT_READMODE_FORWARD);
+        if (cu == WILDCARD ||
+            cu !=
+            gt_sequenceobject_esr_get(vseq,vptr))
+          break;
+        uptr += ustep;
+        vptr++;
+      } while (vptr < minsubstringlength);
+    }
+    return vptr - vstart;
+  }
+  return 0;
+}
+
+static GtUword ft_longest_common_encseq_encseq_wildcard(
+                                      GtFtSequenceObject *useq,
+                                      GtUword ustart,
+                                      GtFtSequenceObject *vseq,
+                                      const GtUword vstart)
+{
+  if (ustart < useq->substringlength && vstart < vseq->substringlength)
+  {
+    GtUword uptr, vptr; int ustep, vstep;
+    GtUword minsubstringlength = useq->substringlength - ustart,
+    matchlength = 0;
+    if (vseq->substringlength - vstart < minsubstringlength)
+    {
+      minsubstringlength = vseq->substringlength - vstart;
+    }
+    if (useq->read_seq_left2right)
+    {
+      uptr = useq->offset + ustart; ustep = 1;
+    } else
+    {
+      uptr = useq->offset - ustart; ustep = -1;
+    }
+    if (vseq->read_seq_left2right)
+    {
+      vptr = vseq->offset + vstart; vstep = 1;
+    } else
+    {
+      vptr = vseq->offset - vstart; vstep = -1;
+    }
+    if (vseq->dir_is_complement)
+    {
+      do
+      {
+        const GtUchar cu = gt_encseq_get_encoded_char(useq->encseq,
+                    uptr,
+                    GT_READMODE_FORWARD);
+        if (cu == WILDCARD ||
+            cu !=
+            GT_COMPLEMENTBASE(gt_encseq_get_encoded_char(vseq->encseq,
+                    vptr,
+                    GT_READMODE_FORWARD)))
+          break;
+        uptr += ustep;
+        vptr += vstep;matchlength++;
+      } while (matchlength < minsubstringlength);
+    } else
+    {
+      do
+      {
+        const GtUchar cu = gt_encseq_get_encoded_char(useq->encseq,
+                    uptr,
+                    GT_READMODE_FORWARD);
+        if (cu == WILDCARD ||
+            cu !=
+            gt_encseq_get_encoded_char(vseq->encseq,
+                    vptr,
+                    GT_READMODE_FORWARD))
+          break;
+        uptr += ustep;
+        vptr += vstep;matchlength++;
+      } while (matchlength < minsubstringlength);
+    }
+    return matchlength;
+  }
+  return 0;
+}
+
+static GtUword ft_longest_common_encseq_bytes_wildcard(
+                                      GtFtSequenceObject *useq,
+                                      GtUword ustart,
+                                      GtFtSequenceObject *vseq,
+                                      const GtUword vstart)
+{
+  if (ustart < useq->substringlength && vstart < vseq->substringlength)
+  {
+    GtUword uptr; const GtUchar *vptr; int ustep, vstep;
+    GtUword minsubstringlength = useq->substringlength - ustart,
+    matchlength = 0;
+    if (vseq->substringlength - vstart < minsubstringlength)
+    {
+      minsubstringlength = vseq->substringlength - vstart;
+    }
+    if (useq->read_seq_left2right)
+    {
+      uptr = useq->offset + ustart; ustep = 1;
+    } else
+    {
+      uptr = useq->offset - ustart; ustep = -1;
+    }
+    if (vseq->read_seq_left2right)
+    {
+      vptr = vseq->bytesequenceptr + vseq->offset + vstart; vstep = 1;
+    } else
+    {
+      vptr = vseq->bytesequenceptr + vseq->offset - vstart; vstep = -1;
+    }
+    if (vseq->dir_is_complement)
+    {
+      do
+      {
+        const GtUchar cu = gt_encseq_get_encoded_char(useq->encseq,
+                    uptr,
+                    GT_READMODE_FORWARD);
+        if (cu == WILDCARD || cu != GT_COMPLEMENTBASE(*vptr))
+          break;
+        uptr += ustep;
+        vptr += vstep;matchlength++;
+      } while (matchlength < minsubstringlength);
+    } else
+    {
+      do
+      {
+        const GtUchar cu = gt_encseq_get_encoded_char(useq->encseq,
+                    uptr,
+                    GT_READMODE_FORWARD);
+        if (cu == WILDCARD || cu != *vptr)
+          break;
+        uptr += ustep;
+        vptr += vstep;matchlength++;
+      } while (matchlength < minsubstringlength);
+    }
+    return matchlength;
+  }
+  return 0;
+}
+
+static GtUword ft_longest_common_bytes_twobit_wildcard(
+                                      GtFtSequenceObject *useq,
+                                      GtUword ustart,
+                                      GtFtSequenceObject *vseq,
+                                      const GtUword vstart)
+{
+  if (ustart < useq->substringlength && vstart < vseq->substringlength)
+  {
+    const GtUchar *uptr; GtUword vptr; int ustep, vstep;
+    GtUword minsubstringlength = useq->substringlength - ustart,
+    matchlength = 0;
+    if (vseq->substringlength - vstart < minsubstringlength)
+    {
+      minsubstringlength = vseq->substringlength - vstart;
+    }
+    if (useq->read_seq_left2right)
+    {
+      uptr = useq->bytesequenceptr + useq->offset + ustart; ustep = 1;
+    } else
+    {
+      uptr = useq->bytesequenceptr + useq->offset - ustart; ustep = -1;
+    }
+    if (vseq->read_seq_left2right)
+    {
+      vptr = vseq->offset + vstart; vstep = 1;
+    } else
+    {
+      vptr = vseq->offset - vstart; vstep = -1;
+    }
+    if (vseq->dir_is_complement)
+    {
+      do
+      {
+        const GtUchar cu = *uptr;
+        if (cu == WILDCARD ||
+            cu !=
+            GT_COMPLEMENTBASE(gt_twobitencoding_char_at_pos(
+                              vseq->twobitencoding,
+                              vptr)))
+          break;
+        uptr += ustep;
+        vptr += vstep;matchlength++;
+      } while (matchlength < minsubstringlength);
+    } else
+    {
+      do
+      {
+        const GtUchar cu = *uptr;
+        if (cu == WILDCARD ||
+            cu !=
+            gt_twobitencoding_char_at_pos(
+                              vseq->twobitencoding,
+                              vptr))
+          break;
+        uptr += ustep;
+        vptr += vstep;matchlength++;
+      } while (matchlength < minsubstringlength);
+    }
+    return matchlength;
+  }
+  return 0;
+}
+
+static GtUword ft_longest_common_bytes_encseq_reader_wildcard(
+                                      GtFtSequenceObject *useq,
+                                      GtUword ustart,
+                                      GtFtSequenceObject *vseq,
+                                      const GtUword vstart)
+{
+  if (ustart < useq->substringlength && vstart < vseq->substringlength)
+  {
+    const GtUchar *uptr; int ustep; GtUword vptr = vstart;
+    GtUword minsubstringlength = vstart + useq->substringlength - ustart;
+    if (vseq->substringlength < minsubstringlength)
+    {
+      minsubstringlength = vseq->substringlength;
+    }
+    if (useq->read_seq_left2right)
+    {
+      uptr = useq->bytesequenceptr + useq->offset + ustart; ustep = 1;
+    } else
+    {
+      uptr = useq->bytesequenceptr + useq->offset - ustart; ustep = -1;
+    }
+    if (vseq->dir_is_complement)
+    {
+      do
+      {
+        const GtUchar cu = *uptr;
+        if (cu == WILDCARD ||
+            cu !=
+            GT_COMPLEMENTBASE(gt_sequenceobject_esr_get(vseq,vptr)))
+          break;
+        uptr += ustep;
+        vptr++;
+      } while (vptr < minsubstringlength);
+    } else
+    {
+      do
+      {
+        const GtUchar cu = *uptr;
+        if (cu == WILDCARD ||
+            cu !=
+            gt_sequenceobject_esr_get(vseq,vptr))
+          break;
+        uptr += ustep;
+        vptr++;
+      } while (vptr < minsubstringlength);
+    }
+    return vptr - vstart;
+  }
+  return 0;
+}
+
+static GtUword ft_longest_common_bytes_encseq_wildcard(
+                                      GtFtSequenceObject *useq,
+                                      GtUword ustart,
+                                      GtFtSequenceObject *vseq,
+                                      const GtUword vstart)
+{
+  if (ustart < useq->substringlength && vstart < vseq->substringlength)
+  {
+    const GtUchar *uptr; GtUword vptr; int ustep, vstep;
+    GtUword minsubstringlength = useq->substringlength - ustart,
+    matchlength = 0;
+    if (vseq->substringlength - vstart < minsubstringlength)
+    {
+      minsubstringlength = vseq->substringlength - vstart;
+    }
+    if (useq->read_seq_left2right)
+    {
+      uptr = useq->bytesequenceptr + useq->offset + ustart; ustep = 1;
+    } else
+    {
+      uptr = useq->bytesequenceptr + useq->offset - ustart; ustep = -1;
+    }
+    if (vseq->read_seq_left2right)
+    {
+      vptr = vseq->offset + vstart; vstep = 1;
+    } else
+    {
+      vptr = vseq->offset - vstart; vstep = -1;
+    }
+    if (vseq->dir_is_complement)
+    {
+      do
+      {
+        const GtUchar cu = *uptr;
+        if (cu == WILDCARD ||
+            cu !=
+            GT_COMPLEMENTBASE(gt_encseq_get_encoded_char(vseq->encseq,
+                    vptr,
+                    GT_READMODE_FORWARD)))
+          break;
+        uptr += ustep;
+        vptr += vstep;matchlength++;
+      } while (matchlength < minsubstringlength);
+    } else
+    {
+      do
+      {
+        const GtUchar cu = *uptr;
+        if (cu == WILDCARD ||
+            cu !=
+            gt_encseq_get_encoded_char(vseq->encseq,
+                    vptr,
+                    GT_READMODE_FORWARD))
+          break;
+        uptr += ustep;
+        vptr += vstep;matchlength++;
+      } while (matchlength < minsubstringlength);
+    }
+    return matchlength;
+  }
+  return 0;
+}
+
+static GtUword ft_longest_common_bytes_bytes_wildcard(
+                                      GtFtSequenceObject *useq,
+                                      GtUword ustart,
+                                      GtFtSequenceObject *vseq,
+                                      const GtUword vstart)
+{
+  if (ustart < useq->substringlength && vstart < vseq->substringlength)
+  {
+    const GtUchar *uptr, *vptr; int ustep, vstep;
+    GtUword minsubstringlength = useq->substringlength - ustart,
+    matchlength = 0;
+    if (vseq->substringlength - vstart < minsubstringlength)
+    {
+      minsubstringlength = vseq->substringlength - vstart;
+    }
+    if (useq->read_seq_left2right)
+    {
+      uptr = useq->bytesequenceptr + useq->offset + ustart; ustep = 1;
+    } else
+    {
+      uptr = useq->bytesequenceptr + useq->offset - ustart; ustep = -1;
+    }
+    if (vseq->read_seq_left2right)
+    {
+      vptr = vseq->bytesequenceptr + vseq->offset + vstart; vstep = 1;
+    } else
+    {
+      vptr = vseq->bytesequenceptr + vseq->offset - vstart; vstep = -1;
+    }
+    if (vseq->dir_is_complement)
+    {
+      do
+      {
+        const GtUchar cu = *uptr;
+        if (cu == WILDCARD || cu != GT_COMPLEMENTBASE(*vptr))
+          break;
+        uptr += ustep;
+        vptr += vstep;matchlength++;
+      } while (matchlength < minsubstringlength);
+    } else
+    {
+      do
+      {
+        const GtUchar cu = *uptr;
+        if (cu == WILDCARD || cu != *vptr)
+          break;
+        uptr += ustep;
+        vptr += vstep;matchlength++;
+      } while (matchlength < minsubstringlength);
+    }
+    return matchlength;
+  }
+  return 0;
+}
+
+GtLongestCommonFunc ft_longest_common_func_tab[] =
+{
+  /* 0 */ ft_longest_common_twobit_twobit,
+  /* 1 */ ft_longest_common_twobit_encseq_reader,
+  /* 2 */ ft_longest_common_twobit_encseq,
+  /* 3 */ ft_longest_common_twobit_bytes,
+  /* 4 */ ft_longest_common_encseq_reader_twobit,
+  /* 5 */ ft_longest_common_encseq_reader_encseq_reader,
+  /* 6 */ ft_longest_common_encseq_reader_encseq,
+  /* 7 */ ft_longest_common_encseq_reader_bytes,
+  /* 8 */ ft_longest_common_encseq_twobit,
+  /* 9 */ ft_longest_common_encseq_encseq_reader,
+  /* 10 */ ft_longest_common_encseq_encseq,
+  /* 11 */ ft_longest_common_encseq_bytes,
+  /* 12 */ ft_longest_common_bytes_twobit,
+  /* 13 */ ft_longest_common_bytes_encseq_reader,
+  /* 14 */ ft_longest_common_bytes_encseq,
+  /* 15 */ ft_longest_common_bytes_bytes,
+  /* 16 */ ft_longest_common_twobit_twobit_wildcard,
+  /* 17 */ ft_longest_common_twobit_encseq_reader_wildcard,
+  /* 18 */ ft_longest_common_twobit_encseq_wildcard,
+  /* 19 */ ft_longest_common_twobit_bytes_wildcard,
+  /* 20 */ ft_longest_common_encseq_reader_twobit_wildcard,
+  /* 21 */ ft_longest_common_encseq_reader_encseq_reader_wildcard,
+  /* 22 */ ft_longest_common_encseq_reader_encseq_wildcard,
+  /* 23 */ ft_longest_common_encseq_reader_bytes_wildcard,
+  /* 24 */ ft_longest_common_encseq_twobit_wildcard,
+  /* 25 */ ft_longest_common_encseq_encseq_reader_wildcard,
+  /* 26 */ ft_longest_common_encseq_encseq_wildcard,
+  /* 27 */ ft_longest_common_encseq_bytes_wildcard,
+  /* 28 */ ft_longest_common_bytes_twobit_wildcard,
+  /* 29 */ ft_longest_common_bytes_encseq_reader_wildcard,
+  /* 30 */ ft_longest_common_bytes_encseq_wildcard,
+  /* 31 */ ft_longest_common_bytes_bytes_wildcard
+};
+const int ft_longest_common_num_modes = 4;
+const int ft_longest_common_func_first_wildcard = 16;
diff --git a/src/match/ft-polish.c b/src/match/ft-polish.c
index 79c2224..a239c98 100644
--- a/src/match/ft-polish.c
+++ b/src/match/ft-polish.c
@@ -4,12 +4,12 @@
 #include <stdbool.h>
 #include <limits.h>
 #include "core/assert_api.h"
-#include "core/ma_api.h"
-#include "core/types_api.h"
 #include "core/minmax.h"
-#include "ft-polish.h"
+#include "core/types_api.h"
+#include "core/ma_api.h"
+#include "match/ft-polish.h"
 
-static void fill_polishing_info(Polishing_info *pol_info,
+static void fill_polishing_info(GtFtPolishing_info *pol_info,
                                 GtUword currentdepth,
                                 GtUword prefix, GtWord score, GtWord maxscore)
 {
@@ -34,11 +34,11 @@ static void fill_polishing_info(Polishing_info *pol_info,
   }
 }
 
-Polishing_info *polishing_info_new_with_bias(double errorpercentage,
-                                             double matchscore_bias,
-                                             GtUword history_size)
+GtFtPolishing_info *polishing_info_new_with_bias(double errorpercentage,
+                                                 double matchscore_bias,
+                                                 GtUword history_size)
 {
-  Polishing_info *pol_info = gt_malloc(sizeof *pol_info);
+  GtFtPolishing_info *pol_info = gt_malloc(sizeof *pol_info);
 
   gt_assert(pol_info != NULL);
   if (history_size == 0)
@@ -48,6 +48,7 @@ Polishing_info *polishing_info_new_with_bias(double errorpercentage,
   {
     pol_info->cut_depth = MIN(history_size/2,(GtUword) 15);
   }
+  pol_info->pol_size = 2 * pol_info->cut_depth;
   pol_info->entries = 1UL << pol_info->cut_depth;
   pol_info->mask = pol_info->entries - 1;
   pol_info->values = gt_malloc(sizeof *pol_info->values * pol_info->entries);
@@ -59,13 +60,13 @@ Polishing_info *polishing_info_new_with_bias(double errorpercentage,
   return pol_info;
 }
 
-Polishing_info *polishing_info_new(double errorpercentage,
+GtFtPolishing_info *polishing_info_new(double errorpercentage,
                                    GtUword history_size)
 {
   return polishing_info_new_with_bias(errorpercentage,1.0,history_size);
 }
 
-uint64_t polishing_info_maxvalue(const Polishing_info *pol_info)
+uint64_t polishing_info_maxvalue(const GtFtPolishing_info *pol_info)
 {
   return (((uint64_t) 1) << (2 * pol_info->cut_depth)) - 1;
 }
@@ -86,7 +87,7 @@ static char *polish_intbits2string(GtUword bits,GtUword bs)
   return cs;
 }
 
-void polishing_info_show(const Polishing_info *pol_info)
+void polishing_info_show(const GtFtPolishing_info *pol_info)
 {
   GtUword idx;
 
@@ -104,7 +105,7 @@ void polishing_info_show(const Polishing_info *pol_info)
   }
 }
 
-void polishing_info_delete(Polishing_info *pol_info)
+void polishing_info_delete(GtFtPolishing_info *pol_info)
 {
   if (pol_info != NULL)
   {
@@ -113,7 +114,7 @@ void polishing_info_delete(Polishing_info *pol_info)
   }
 }
 
-bool history_is_polished_brute_force(const Polishing_info *pol_info,
+bool history_is_polished_brute_force(const GtFtPolishing_info *pol_info,
                                      uint64_t matchhistory,
                                      bool withoutput)
 {
diff --git a/src/match/ft-polish.h b/src/match/ft-polish.h
index f5e318a..aec42c3 100644
--- a/src/match/ft-polish.h
+++ b/src/match/ft-polish.h
@@ -1,7 +1,6 @@
 #ifndef FT_POLISH_H
 #define FT_POLISH_H
 #include <stdint.h>
-#include "core/types_api.h"
 /* The following values are used when no pruning is performed */
 #define GT_MIN_PERC_MAT_HISTORY 1
 #define GT_MAX_ALI_LEN_DIFF     UINT32_MAX
@@ -9,29 +8,29 @@
 typedef struct
 {
   int16_t score_sum, diff_from_max;
-} Polishing_value;
+} GtFtPolishing_value;
 
 typedef struct
 {
-  GtUword entries, cut_depth, mask;
+  GtUword entries, cut_depth, pol_size, mask;
   GtWord difference_score, match_score;
-  Polishing_value *values;
-} Polishing_info;
+  GtFtPolishing_value *values;
+} GtFtPolishing_info;
 
-Polishing_info *polishing_info_new(double errorpercentage,
-                                   GtUword history_size);
+GtFtPolishing_info *polishing_info_new(double errorpercentage,
+                                       GtUword history_size);
 
-Polishing_info *polishing_info_new_with_bias(double errorpercentage,
-                                             double matchscore_bias,
-                                             GtUword history_size);
+GtFtPolishing_info *polishing_info_new_with_bias(double errorpercentage,
+                                                 double matchscore_bias,
+                                                 GtUword history_size);
 
-void polishing_info_delete(Polishing_info *pol_info);
+void polishing_info_delete(GtFtPolishing_info *pol_info);
 
-bool history_is_polished_brute_force(const Polishing_info *pol_info,
+bool history_is_polished_brute_force(const GtFtPolishing_info *pol_info,
                                      uint64_t matchhistory,
                                      bool withoutput);
 
-uint64_t polishing_info_maxvalue(const Polishing_info *pol_info);
+uint64_t polishing_info_maxvalue(const GtFtPolishing_info *pol_info);
 
 #define GT_HISTORY_IS_POLISHED(POL_INFO,MATCHHISTORY)\
         ((POL_INFO)->values[(MATCHHISTORY) & (POL_INFO)->mask].diff_from_max \
diff --git a/src/match/ft-trimstat.c b/src/match/ft-trimstat.c
index f3a6fd6..d94cc34 100644
--- a/src/match/ft-trimstat.c
+++ b/src/match/ft-trimstat.c
@@ -1,72 +1,65 @@
-#include "core/ma_api.h"
-#include "core/types_api.h"
+#include "core/unused_api.h"
 #include "core/assert_api.h"
-#include "ft-trimstat.h"
+#include "core/arraydef.h"
+#include "core/minmax.h"
+#include "match/ft-trimstat.h"
 
-struct Trimstat
+struct GtFtTrimstat
 {
-  GtUword diedout, dist_nextfree, dist_allocated, allocated_maxvalid,
-          *dist_maxvalid, *trimdist, *distarray;
+  GtUword diedout, *trim_dist, *matchlength_dist;
+  GtArrayGtUword distance_dist, maxvalid_dist;
   size_t spaceforfront_total;
   double sum_meanvalid;
-  /* the following are to create the output at successive statements. */
-  double errorpercentage;
-  GtUword minmatchpercentage;
-  GtUword maxalignedlendifference;
-  GtUword max_cache_size;
 };
 
-Trimstat *trimstat_new(double errorpercentage,
-                       GtUword minmatchpercentage,
-                       GtUword maxalignedlendifference)
+GtFtTrimstat *gt_ft_trimstat_new(void)
 {
-  Trimstat *trimstat = gt_malloc(sizeof *trimstat);
+  GtFtTrimstat *trimstat = gt_malloc(sizeof *trimstat);
 
   gt_assert(trimstat != 0);
-  trimstat->trimdist = gt_calloc(101,sizeof *trimstat->trimdist);
-  gt_assert(trimstat->trimdist != NULL);
+  trimstat->trim_dist = gt_calloc(101,sizeof *trimstat->trim_dist);
+  gt_assert(trimstat->trim_dist != NULL);
+  trimstat->matchlength_dist = gt_calloc(101,
+                                         sizeof *trimstat->matchlength_dist);
+  gt_assert(trimstat->matchlength_dist != NULL);
   trimstat->diedout = 0;
-  trimstat->distarray = NULL;
-  trimstat->dist_nextfree = 0;
-  trimstat->dist_allocated = 0;
-  trimstat->allocated_maxvalid = 0;
-  trimstat->dist_maxvalid = NULL;
+  GT_INITARRAY(&trimstat->distance_dist,GtUword);
+  GT_INITARRAY(&trimstat->maxvalid_dist,GtUword);
   trimstat->spaceforfront_total = 0;
   trimstat->sum_meanvalid = 0.0;
-  trimstat->max_cache_size = 0;
-  trimstat->errorpercentage = errorpercentage;
-  trimstat->minmatchpercentage = minmatchpercentage;
-  trimstat->maxalignedlendifference = maxalignedlendifference;
   return trimstat;
 }
 
-void trimstat_add(Trimstat *trimstat,bool diedout,
-                  GtUword sumvalid,
-                  GtUword maxvalid,
-                  GtUword d,
-                  size_t spaceforfront,
-                  GtUword cache_size)
+#ifndef NDEBUG
+void gt_ft_trimstat_add(GtFtTrimstat *trimstat,
+                        bool diedout,
+                        GtUword sumvalid,
+                        GtUword maxvalid,
+                        GtUword d,
+                        size_t spaceforfront)
 {
   if (trimstat == NULL)
   {
     return;
   }
-  while (maxvalid >= trimstat->allocated_maxvalid)
+  while (maxvalid >= trimstat->maxvalid_dist.allocatedGtUword)
   {
     GtUword idx;
-    const GtUword allocated = trimstat->allocated_maxvalid;
+    const GtUword allocated = trimstat->maxvalid_dist.allocatedGtUword;
 
-    trimstat->allocated_maxvalid = trimstat->allocated_maxvalid * 1.2 + 128UL;
-    trimstat->dist_maxvalid = gt_realloc(trimstat->dist_maxvalid,
-                                         sizeof *trimstat->dist_maxvalid *
-                                         trimstat->allocated_maxvalid);
-    for (idx = allocated; idx < trimstat->allocated_maxvalid; idx++)
+    trimstat->maxvalid_dist.allocatedGtUword
+      = trimstat->maxvalid_dist.allocatedGtUword * 1.2 + 128UL;
+    trimstat->maxvalid_dist.spaceGtUword
+      = gt_realloc(trimstat->maxvalid_dist.spaceGtUword,
+                   sizeof *trimstat->maxvalid_dist.spaceGtUword *
+                   trimstat->maxvalid_dist.allocatedGtUword);
+    for (idx = allocated; idx < trimstat->maxvalid_dist.allocatedGtUword; idx++)
     {
-      trimstat->dist_maxvalid[idx] = 0;
+      trimstat->maxvalid_dist.spaceGtUword[idx] = 0;
     }
   }
-  gt_assert(maxvalid < trimstat->allocated_maxvalid);
-  trimstat->dist_maxvalid[maxvalid]++;
+  gt_assert(maxvalid < trimstat->maxvalid_dist.allocatedGtUword);
+  trimstat->maxvalid_dist.spaceGtUword[maxvalid]++;
   if (diedout)
   {
     trimstat->diedout++;
@@ -79,26 +72,39 @@ void trimstat_add(Trimstat *trimstat,bool diedout,
       = (GtUword) (100.0 * (double) (fullfronts - sumvalid)/fullfronts);
     gt_assert(percentage <= 100UL);
     trimstat->sum_meanvalid += (double) sumvalid/(d+1);
-    trimstat->trimdist[percentage]++;
-    if (trimstat->dist_nextfree >= trimstat->dist_allocated)
-    {
-      trimstat->dist_allocated = trimstat->dist_allocated +
-                                 trimstat->dist_allocated/5 + 1024;
-      trimstat->distarray
-        = gt_realloc(trimstat->distarray,
-                     sizeof *trimstat->distarray * trimstat->dist_allocated);
-      gt_assert(trimstat->distarray != NULL);
-    }
-    trimstat->distarray[trimstat->dist_nextfree++] = d;
+    trimstat->trim_dist[percentage]++;
+    GT_CHECKARRAYSPACE(&trimstat->distance_dist,GtUword,32);
+    trimstat->distance_dist.spaceGtUword[trimstat->
+                                         distance_dist.nextfreeGtUword++] = d;
     trimstat->spaceforfront_total += spaceforfront;
   }
-  if (trimstat->max_cache_size < cache_size)
-  {
-    trimstat->max_cache_size = cache_size;
-  }
 }
 
-static int compare_ulong(const void *va, const void *vb)
+void gt_ft_trimstat_add_matchlength(GtFtTrimstat *trimstat,
+                                    uint32_t matchlength)
+{
+  gt_assert(trimstat != NULL && trimstat->matchlength_dist != NULL);
+  trimstat->matchlength_dist[MIN(100,matchlength)]++;
+}
+#else
+void gt_ft_trimstat_add(GT_UNUSED GtFtTrimstat *trimstat,
+                        GT_UNUSED bool diedout,
+                        GT_UNUSED GtUword sumvalid,
+                        GT_UNUSED GtUword maxvalid,
+                        GT_UNUSED GtUword d,
+                        GT_UNUSED size_t spaceforfront)
+{
+  return;
+}
+
+void gt_ft_trimstat_add_matchlength(GT_UNUSED GtFtTrimstat *trimstat,
+                                    GT_UNUSED uint32_t matchlength)
+{
+  return;
+}
+#endif
+
+static int gt_ft_trimstat_compare_GtUword(const void *va, const void *vb)
 {
   GtUword a = *((const GtUword *) va);
   GtUword b = *((const GtUword *) vb);
@@ -116,72 +122,95 @@ static int compare_ulong(const void *va, const void *vb)
 
 #define MEGABYTES(X) ((double) (X)/(1UL << 20))
 
-void trimstat_delete(Trimstat *trimstat,double total_time,bool verbose)
+void gt_ft_trimstat_delete(GtFtTrimstat *trimstat)
+{
+  if (trimstat != NULL)
+  {
+    gt_free(trimstat->trim_dist);
+    GT_FREEARRAY(&trimstat->distance_dist,GtUword);
+    GT_FREEARRAY(&trimstat->maxvalid_dist,GtUword);
+    gt_free(trimstat->matchlength_dist);
+    gt_free(trimstat);
+  }
+}
+
+void gt_ft_trimstat_out(const GtFtTrimstat *trimstat,bool verbose)
 {
   if (trimstat != NULL)
   {
-    printf("erp=%.1f\t",trimstat->errorpercentage);
-    printf("mmp=" GT_WU "\t",trimstat->minmatchpercentage);
-    printf("mad=" GT_WU "\t",trimstat->maxalignedlendifference);
     printf("died_out=" GT_WU "\t",trimstat->diedout);
-    if (trimstat->dist_nextfree > 0)
+    if (trimstat->distance_dist.nextfreeGtUword > 0)
     {
       printf("mean_valid=%.2f\t",
-             trimstat->sum_meanvalid/trimstat->dist_nextfree);
-      printf("frontspace=%.2f\t",
+             trimstat->sum_meanvalid/trimstat->distance_dist.nextfreeGtUword);
+      printf("frontspace=%.2f\n",
              MEGABYTES((double) trimstat->spaceforfront_total/
-                       trimstat->dist_nextfree));
+                       trimstat->distance_dist.nextfreeGtUword));
     } else
     {
       printf("mean_valid=undef\t");
-      printf("frontspace=undef\t");
+      printf("frontspace=undef\n");
     }
-    printf("time=%.2f\n",total_time);
     if (verbose)
     {
-      GtUword idx, count = 1UL;
+      GtUword idx, count = 1UL, matchlength_sum = 0, matchlength_cum = 0;
 
-      printf("max_cache_size = " GT_WU " bytes\n",trimstat->max_cache_size);
       for (idx = 0; idx <= 100UL; idx++)
       {
-        if (trimstat->trimdist[idx] > 0)
+        matchlength_sum += trimstat->matchlength_dist[idx];
+      }
+      for (idx = 0; idx <= 100UL; idx++)
+      {
+        if (trimstat->matchlength_dist[idx] > 0)
+        {
+          matchlength_cum += trimstat->matchlength_dist[idx];
+          printf("# matchlength%s" GT_WU ": " GT_WU " times, "
+                 "total=" GT_WU " (%.2f), "
+                 "cum=%.2f%%\n",
+                 idx < 100UL ? "=" : ">=",
+                 idx,trimstat->matchlength_dist[idx],
+                 idx * trimstat->matchlength_dist[idx],
+                 (double) trimstat->matchlength_dist[idx]/matchlength_sum,
+                 100.0 * (double) matchlength_cum/matchlength_sum);
+        }
+      }
+      for (idx = 0; idx <= 100UL; idx++)
+      {
+        if (trimstat->trim_dist[idx] > 0)
         {
           printf("# trim by " GT_WU "%%: " GT_WU " times\n",
-                 idx,trimstat->trimdist[idx]);
+                 idx,trimstat->trim_dist[idx]);
         }
       }
-      qsort(trimstat->distarray,trimstat->dist_nextfree,
-            sizeof *trimstat->distarray,
-            compare_ulong);
-      if (trimstat->dist_nextfree > 0)
+      qsort(trimstat->distance_dist.spaceGtUword,
+            trimstat->distance_dist.nextfreeGtUword,
+            sizeof *trimstat->distance_dist.spaceGtUword,
+            gt_ft_trimstat_compare_GtUword);
+      if (trimstat->distance_dist.nextfreeGtUword > 0)
       {
-        GtUword previous = trimstat->distarray[0];
-        for (idx = 1UL; idx < trimstat->dist_nextfree; idx++)
+        GtUword previous = trimstat->distance_dist.spaceGtUword[0];
+        for (idx = 1UL; idx < trimstat->distance_dist.nextfreeGtUword; idx++)
         {
-          if (previous == trimstat->distarray[idx])
+          if (previous == trimstat->distance_dist.spaceGtUword[idx])
           {
             count++;
           } else
           {
             printf("distance " GT_WU ": " GT_WU " times\n",previous,count);
             count = 1UL;
-            previous = trimstat->distarray[idx];
+            previous = trimstat->distance_dist.spaceGtUword[idx];
           }
         }
         printf("distance " GT_WU ": " GT_WU " times\n",previous,count);
       }
-      for (idx = 0; idx < trimstat->allocated_maxvalid; idx++)
+      for (idx = 0; idx < trimstat->maxvalid_dist.allocatedGtUword; idx++)
       {
-        if (trimstat->dist_maxvalid[idx] > 0)
+        if (trimstat->maxvalid_dist.spaceGtUword[idx] > 0)
         {
           printf("maxvalid=" GT_WU ": " GT_WU " times\n",idx,
-                 trimstat->dist_maxvalid[idx]);
+                 trimstat->maxvalid_dist.spaceGtUword[idx]);
         }
       }
     }
-    gt_free(trimstat->trimdist);
-    gt_free(trimstat->distarray);
-    gt_free(trimstat->dist_maxvalid);
-    gt_free(trimstat);
   }
 }
diff --git a/src/match/ft-trimstat.h b/src/match/ft-trimstat.h
index fd951a8..947d87f 100644
--- a/src/match/ft-trimstat.h
+++ b/src/match/ft-trimstat.h
@@ -3,21 +3,33 @@
 #include <stdlib.h>
 #include <stdio.h>
 #include <stdbool.h>
-#include "core/types_api.h"
 
-typedef struct Trimstat Trimstat;
+typedef struct GtFtTrimstat GtFtTrimstat;
 
-Trimstat *trimstat_new(double errorpercentage,
-                       GtUword minmatchpercentage,
-                       GtUword maxalignedlendifference);
+GtFtTrimstat *gt_ft_trimstat_new(void);
 
-void trimstat_add(Trimstat *trimstat,bool diedout,
-                  GtUword sumvalid,
-                  GtUword maxvalid,
-                  GtUword d,
-                  size_t spaceforfront,
-                  GtUword cache_size);
+#ifndef NDEBUG
+void gt_ft_trimstat_add(GtFtTrimstat *trimstat,
+                        bool diedout,
+                        GtUword sumvalid,
+                        GtUword maxvalid,
+                        GtUword d,
+                        size_t spaceforfront);
+void gt_ft_trimstat_add_matchlength(GtFtTrimstat *trimstat,
+                                    uint32_t matchlength);
+#else
+void gt_ft_trimstat_add(GT_UNUSED GtFtTrimstat *trimstat,
+                        GT_UNUSED bool diedout,
+                        GT_UNUSED GtUword sumvalid,
+                        GT_UNUSED GtUword maxvalid,
+                        GT_UNUSED GtUword d,
+                        GT_UNUSED size_t spaceforfront);
+void gt_ft_trimstat_add_matchlength(GT_UNUSED GtFtTrimstat *trimstat,
+                                    GT_UNUSED uint32_t matchlength);
+#endif
+
+void gt_ft_trimstat_delete(GtFtTrimstat *trimstat);
 
-void trimstat_delete(Trimstat *trimstat,double total_time,bool verbose);
+void gt_ft_trimstat_out(const GtFtTrimstat *trimstat,bool verbose);
 
 #endif
diff --git a/src/match/gfa_writer.c b/src/match/gfa_writer.c
new file mode 100644
index 0000000..3986132
--- /dev/null
+++ b/src/match/gfa_writer.c
@@ -0,0 +1,227 @@
+/*
+  Copyright (c) 2012 Giorgio Gonnella <gonnella at zbh.uni-hamburg.de>
+  Copyright (c) 2012 Center for Bioinformatics, University of Hamburg
+
+  Permission to use, copy, modify, and distribute this software for any
+  purpose with or without fee is hereby granted, provided that the above
+  copyright notice and this permission notice appear in all copies.
+
+  THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+  WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+  MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+  ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+  WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+  ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+  OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+*/
+
+#include "core/unused_api.h"
+#include "core/log_api.h"
+#include "match/gfa_writer.h"
+
+struct GtGfaWriter
+{
+  GtFile *file;
+  GtEncseq *encseq;
+  GtGfaVersion version;
+};
+
+GtGfaWriter* gt_gfa_writer_new(GtFile *file,
+                               const GtEncseq *encseq,
+                               GtGfaVersion version)
+{
+  GtGfaWriter *gw;
+  gw = gt_malloc(sizeof (*gw));
+  gw->file = gt_file_ref(file);
+  gw->encseq = gt_encseq_ref((GtEncseq*)encseq);
+  gw->version = version;
+  return gw;
+}
+
+static inline const char *gt_gfa_writer_versionstr(GtGfaVersion version)
+{
+  switch (version) {
+    case GT_GFA_VERSION_1_0:
+      return "1.0";
+    case GT_GFA_VERSION_2_0:
+      return "2.0";
+    default:
+      gt_assert(false);
+  }
+  return "UNKNOWN";
+}
+
+int gt_gfa_writer_show_header(GtGfaWriter *gw,
+    GtUword minlen, const char *inputfilename, bool has_containments,
+    bool has_transitives, GT_UNUSED GtError *err)
+{
+  gt_assert(gw != NULL);
+  gt_file_xprintf(gw->file,
+      "H\tVN:Z:%s\n"
+      "H\tpn:Z:readjoiner\n"
+      "H\tol:i:"GT_WU"\n"
+      "H\tin:Z:%s\n"
+      "H\tcn:i:%c\n"
+      "H\tte:i:%c\n",
+      gt_gfa_writer_versionstr(gw->version),
+      minlen,
+      inputfilename,
+      has_containments ? '1' : '0',
+      has_transitives ? '1' : '0');
+  return 0;
+}
+
+static inline void gt_gfa_writer_show_gfa1_segment(GtFile *file,
+    GtUword seqnum, const char *sequence)
+{
+  gt_file_xprintf(file, "S\t"GT_WU"\t%s\n", seqnum, sequence);
+}
+
+static inline void gt_gfa_writer_show_gfa2_segment(GtFile *file,
+    GtUword seqnum, const char *sequence)
+{
+  gt_file_xprintf(file, "S\t"GT_WU"\t"GT_WU"\t%s\n", seqnum,
+      (GtUword)strlen(sequence), sequence);
+}
+
+static inline void gt_gfa_writer_show_segment(GtGfaVersion version,
+    GtFile *file, GtUword seqnum, const char *sequence)
+{
+    switch (version) {
+      case GT_GFA_VERSION_1_0:
+        gt_gfa_writer_show_gfa1_segment(file, seqnum, sequence);
+        break;
+      case GT_GFA_VERSION_2_0:
+        gt_gfa_writer_show_gfa2_segment(file, seqnum, sequence);
+        break;
+      default:
+        gt_assert(false);
+    }
+}
+
+int gt_gfa_writer_show_segments(GtGfaWriter *gw, GT_UNUSED GtError *err)
+{
+  const GtTwobitencoding *nextencoded;
+  GtTwobitencoding code = 0;
+  GtUword seqnum = 0, nofseqs = gt_encseq_num_of_sequences(gw->encseq),
+                pos = 0, next_stop, i,
+                tlen = gt_encseq_total_length(gw->encseq), charsincode = 0;
+  char *seqbuffer;
+  bool last_seq = false;
+  const char code2char[] = "ACGT";
+  gt_assert(gw != NULL);
+  seqbuffer = gt_malloc(sizeof (*seqbuffer) *
+      (gt_encseq_max_seq_length(gw->encseq) + 1UL));
+  nextencoded = gt_encseq_twobitencoding_export(gw->encseq);
+  i = 0;
+  while (!last_seq)
+  {
+    if (seqnum + 1UL == nofseqs)
+    {
+      last_seq = true;
+      next_stop = tlen;
+    }
+    else
+      next_stop = gt_encseq_seqstartpos(gw->encseq, seqnum + 1UL) - 1UL;
+    for (/**/; i < next_stop; i++)
+    {
+      if (charsincode == 0)
+      {
+        code = *(nextencoded++);
+        charsincode = (GtUword)GT_UNITSIN2BITENC;
+      }
+      seqbuffer[pos++] = code2char[code >> ((--charsincode) << 1) & 3];
+    }
+    seqbuffer[pos] = '\0';
+    gt_gfa_writer_show_segment(gw->version, gw->file, seqnum, seqbuffer);
+    pos = 0;
+    /* consume separator */
+    i++;
+    if (charsincode == 0)
+    {
+      code = *(nextencoded++);
+      charsincode = (GtUword)GT_UNITSIN2BITENC;
+    }
+    charsincode--;
+    seqnum++;
+  }
+  gt_free(seqbuffer);
+  return 0;
+}
+
+static inline void gt_gfa_writer_show_edge_gfa1(GtFile *file,
+    GtUword seqnum1, bool seq1_direct,
+    GtUword seqnum2, bool seq2_direct,
+    GtUword spmlen)
+{
+  gt_file_xprintf(file, "L\t"GT_WU"\t%c\t"GT_WU"\t%c\t"
+                        GT_WU"M\n",
+                        seqnum1, seq1_direct ? '+' : '-',
+                        seqnum2, seq2_direct ? '+' : '-',
+                        spmlen);
+}
+
+static inline void gt_gfa_writer_show_edge_gfa2(GtFile *file,
+    GtUword seqnum1, bool seq1_direct,
+    GtUword seqnum2, bool seq2_direct,
+    GtUword start1, GtUword end1, bool end1_last,
+    GtUword start2, GtUword end2, bool end2_last,
+    GtUword spmlen)
+{
+  gt_file_xprintf(file, "E\t*\t"GT_WU"%c\t"GT_WU"%c\t"
+                        GT_WU"\t"GT_WU"%s\t"GT_WU"\t"GT_WU"%s\t"
+                        GT_WU"M\n",
+                        seqnum1, seq1_direct ? '+' : '-',
+                        seqnum2, seq2_direct ? '+' : '-',
+                        start1, end1, end1_last ? "$" : "",
+                        start2, end2, end2_last ? "$" : "",
+                        spmlen);
+}
+
+static inline void gt_gfa_writer_show_edge(GtGfaVersion version, GtFile *file,
+    GtUword seqnum1, bool seq1_direct, GtUword seqnum2, bool seq2_direct,
+    GtUword start1, GtUword end1, bool end1_last,
+    GtUword start2, GtUword end2, bool end2_last,
+    GtUword spmlen)
+{
+
+  switch (version) {
+    case GT_GFA_VERSION_1_0:
+      gt_gfa_writer_show_edge_gfa1(file, seqnum1, seq1_direct, seqnum2,
+          seq2_direct, spmlen);
+      break;
+    case GT_GFA_VERSION_2_0:
+      gt_gfa_writer_show_edge_gfa2(file, seqnum1, seq1_direct, seqnum2,
+          seq2_direct, start1, end1, end1_last, start2, end2, end2_last,
+          spmlen);
+      break;
+    default:
+      gt_assert(false);
+  }
+}
+
+void gt_spmproc_show_gfa(GtUword suffix_readnum,
+    GtUword prefix_readnum, GtUword length,
+    bool suffixseq_direct, bool prefixseq_direct, void *gfa_writer)
+{
+  GtGfaWriter *gw = gfa_writer;
+  const GtUword sl1 = gt_encseq_seqlength(gw->encseq, suffix_readnum),
+                sl2 = gt_encseq_seqlength(gw->encseq, prefix_readnum);
+  gt_gfa_writer_show_edge(gw->version, gw->file,
+      suffix_readnum, suffixseq_direct,
+      prefix_readnum, prefixseq_direct,
+      suffixseq_direct ? sl1 - length : 0,
+      suffixseq_direct ? sl1 : length,
+      suffixseq_direct,
+      prefixseq_direct ? 0 : sl2 - length,
+      prefixseq_direct ? length : sl2,
+      !prefixseq_direct,
+      length);
+}
+
+void gt_gfa_writer_delete(GtGfaWriter *gw)
+{
+  gt_file_delete(gw->file);
+  gt_encseq_delete(gw->encseq);
+  gt_free(gw);
+}
diff --git a/src/match/gfa_writer.h b/src/match/gfa_writer.h
new file mode 100644
index 0000000..732e095
--- /dev/null
+++ b/src/match/gfa_writer.h
@@ -0,0 +1,70 @@
+/*
+  Copyright (c) 2012 Giorgio Gonnella <gonnella at zbh.uni-hamburg.de>
+  Copyright (c) 2012 Center for Bioinformatics, University of Hamburg
+
+  Permission to use, copy, modify, and distribute this software for any
+  purpose with or without fee is hereby granted, provided that the above
+  copyright notice and this permission notice appear in all copies.
+
+  THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+  WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+  MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+  ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+  WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+  ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+  OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+*/
+
+#ifndef GFA_WRITER_H
+#define GFA_WRITER_H
+
+#include "core/file.h"
+#include "core/encseq.h"
+#include "core/error.h"
+
+/* The <GtGfaWriter> class allows one to write string graph information in
+   the GFA format of SGA (Simpsons and Durbin, 2012). */
+typedef struct GtGfaWriter GtGfaWriter;
+
+/* Supported versions of the gfa format. */
+typedef enum
+{
+  GT_GFA_VERSION_1_0,
+  GT_GFA_VERSION_2_0
+} GtGfaVersion;
+
+/* Creates a new <GtGfaWriter> object, using <file> for output
+   and <encseq> as source of information.
+   <version> is the GFA version. */
+GtGfaWriter* gt_gfa_writer_new(GtFile *file,
+                               const GtEncseq *encseq,
+                               GtGfaVersion version);
+
+/* Writes the header using the provided information: <minlen> is the
+   minimal match length, <inputfilename> is a string to use as input filename,
+   <has_containments> shall be true, if containments
+   are present, <has_transitives> shall be true, if transitive edges are
+   present. Returns 0 on success, -1 on error and sets <err>. */
+int           gt_gfa_writer_show_header(GtGfaWriter *aw,
+                                        GtUword minlen,
+                                        const char *inputfilename,
+                                        bool has_containments,
+                                        bool has_transitives,
+                                        GtError *err);
+
+/* Writes the vertices. Returns 0 on success, -1 on error and sets <err>. */
+int           gt_gfa_writer_show_segments(GtGfaWriter *aw,
+                                          GtError *err);
+
+/* Writes an edge using Readjoiner SPM information. */
+void          gt_spmproc_show_gfa(GtUword suffix_readnum,
+                                  GtUword prefix_readnum,
+                                  GtUword length,
+                                  bool suffixseq_direct,
+                                  bool prefixseq_direct,
+                                  void *gfa_writer);
+
+/* Deletes a <GtGfa> object. */
+void          gt_gfa_writer_delete(GtGfaWriter *aw);
+
+#endif
diff --git a/src/match/karlin_altschul_stat.c b/src/match/karlin_altschul_stat.c
new file mode 100644
index 0000000..b012d18
--- /dev/null
+++ b/src/match/karlin_altschul_stat.c
@@ -0,0 +1,945 @@
+/*
+  Copyright (c) 2016 Annika Seidel <annika.seidel at studium.uni-hamburg.de>
+  Copyright (c) 2016 Center for Bioinformatics, University of Hamburg
+
+  Permission to use, copy, modify, and distribute this software for any
+  purpose with or without fee is hereby granted, provided that the above
+  copyright notice and this permission notice appear in all copies.
+
+  THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+  WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+  MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+  ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+  WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+  ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+  OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+*/
+
+#include <float.h>
+#include <math.h>
+#include "core/unused_api.h"
+#include "core/ensure.h"
+#include "core/error.h"
+#include "core/ma.h"
+#include "core/minmax.h"
+#include "core/types_api.h"
+#include "core/encseq.h"
+#include "core/radix_sort.h"
+#include "extended/scorehandler.h"
+#include "karlin_altschul_stat.h"
+
+/*
+  the first part of this file implements calculation of karlin-altschul
+  parameter for E-value of Alignments in analogy to NCBI tool BLAST:
+
+  Altschul S.F., Gish W., Miller W., Myers E.W. and Lipman D.J. (1990)
+  Basic local alignment search tool. J. Mol. Biol. 215: 403-410.
+ */
+
+/* stores karlin altschul parameters */
+struct GtKarlinAltschulStat
+{
+  double lambda,
+         K,
+         logK,
+         H,
+         alpha_div_lambda,
+         beta,
+         log2;
+  GtWord matchscore, mismatchscore, gapscore;
+  GtUword actual_length_db, num_of_db_seqs, num_of_query_seqs,
+          different_lengths;
+  GtUwordPair *searchspace_store;
+};
+
+typedef struct{
+  double *sprob,
+         score_avg;
+  GtWord low_align_score,
+         high_align_score;
+} ScoringFrequency;
+
+/*
+  precomputed values
+  analog to BLAST
+
+  1. Gap score,
+  2. Lambda,
+  3. K,
+  4. H,
+  5. Alpha,
+  6. Beta,
+ */
+
+typedef enum
+{
+  gapextdidx,
+  lambdaidx,
+  Kidx,
+  Hidx,
+  alphaidx,
+  betaidx
+} GT_ValuesindeX;
+
+/* the Blast Implementation uses matrices with more than one row, namely
+   a row for each gap extension. If required, this should be adjusted
+   accordingly. */
+
+/* matchscore = 1 && mismatchscore = -1 */
+static const double ga_vector_1_1[] = {
+   -2, 0.80, 0.064, 0.17, 4.8, -16
+};
+
+/* matchscore = 1 && mismatchscore = -4 */
+static const double ga_vector_1_4[] = {
+    -2,  1.26,  0.43, 0.90,  1.4, -1
+};
+
+/* matchscore = 2 && mismatchscore = -7 */
+static const double ga_vector_2_7[] = {
+    -4,  0.63, 0.43, 0.90,   0.7, -1
+};
+
+/* matchscore = 1 && mismatchscore = -3 */
+static const double ga_vector_1_3[] = {
+    -2,  1.25,  0.42, 0.83,  1.5, -2
+};
+
+/* matchscore = 2 && mismatchscore = -5 */
+static const double ga_vector_2_5[] = {
+    -4,  0.62, 0.39, 0.78,  0.8, -2
+};
+
+/* matchscore = 1 && mismatchscore = -2 */
+static const double ga_vector_1_2[] = {
+    -2, 1.19, 0.34, 0.66, 1.8, -3
+};
+
+/* matchscore = 2 && mismatchscore = -3 */
+static const double ga_vector_2_3[] = {
+    -4,  0.55, 0.21, 0.46,  1.2, -5
+};
+
+void gt_karlin_altschul_stat_delete(GtKarlinAltschulStat *ka)
+{
+  if (ka != NULL)
+  {
+    gt_free(ka->searchspace_store);
+    gt_free(ka);
+  }
+}
+
+static double gt_karlin_altschul_stat_get_lambda(const GtKarlinAltschulStat *ka)
+{
+  gt_assert(ka != NULL);
+  return ka->lambda;
+}
+
+static double gt_karlin_altschul_stat_get_logK(const GtKarlinAltschulStat *ka)
+{
+  gt_assert(ka != NULL);
+  return ka->logK;
+}
+
+static double gt_karlin_altschul_stat_get_K(const GtKarlinAltschulStat *ka)
+{
+  gt_assert(ka != NULL);
+  return ka->K;
+}
+
+static double gt_karlin_altschul_stat_get_alphadlambda(
+                         const GtKarlinAltschulStat *ka)
+{
+  gt_assert(ka != NULL);
+  return ka->alpha_div_lambda;
+}
+
+static double gt_karlin_altschul_stat_get_beta(const GtKarlinAltschulStat *ka)
+{
+  gt_assert(ka != NULL);
+  return ka->beta;
+}
+
+/* calculate probabilities of scores */
+static ScoringFrequency *gt_karlin_altschul_stat_scoring_frequency(
+                                             unsigned int numofchars,
+                                             const GtScoreHandler *scorehandler)
+{
+  unsigned int idx, jdx;
+  GtWord score, obs_min = 0, obs_max = 0, range;
+  double score_avg, score_sum;
+  ScoringFrequency *sf;
+  static double nt_prob[] = {
+    0.25,
+    0.25,
+    0.25,
+    0.25
+  };
+
+  gt_assert(scorehandler != NULL);
+  for (idx = 0; idx < numofchars; idx++)
+  {
+    for (jdx = 0; jdx < numofchars; jdx++)
+    {
+      score = gt_scorehandler_get_replacement(scorehandler, idx, jdx);
+      obs_min = MIN(obs_min, score);
+      obs_max = MAX(obs_max, score);
+    }
+  }
+
+  /* for theoretically valid scoring systems */
+  gt_assert(obs_min <= 0 && obs_max >= 0);
+  sf = gt_malloc(sizeof (*sf));
+  gt_assert(sf);
+  sf->low_align_score = obs_min;
+  sf->high_align_score = obs_max;
+
+  range = obs_max - obs_min + 1;
+  sf->sprob = gt_calloc(range, sizeof (*sf->sprob));
+
+  for (idx = 0; idx < numofchars; idx++)
+  {
+    for (jdx = 0; jdx < numofchars; jdx++)
+    {
+      score = gt_scorehandler_get_replacement(scorehandler, idx, jdx);
+      gt_assert(score >= obs_min);
+      if (score >= obs_min)
+      {
+        sf->sprob[score - obs_min] += nt_prob[idx] * nt_prob[jdx];
+      }
+    }
+  }
+
+  score_sum = 0.0;
+  for (score = obs_min; score <= obs_max; score++)
+  {
+    if (sf->sprob[score - obs_min] > 0)
+    {
+      score_sum += sf->sprob[score - obs_min];
+    }
+  }
+
+  score_avg = 0.0;
+  for (score = obs_min; score <= obs_max; score++)
+  {
+    sf->sprob[score - obs_min] /= score_sum;
+    score_avg += score * sf->sprob[score - obs_min];
+  }
+  sf->score_avg = score_avg;
+  return sf;
+}
+
+static double gt_karlin_altschul_stat_calculate_ungapped_lambda(
+                                                     const ScoringFrequency *sf)
+{
+  double x0, x, lambda, tolerance, q, dq;
+  GtWord low, high;
+  GtUword k_max_iterations = 20, idx, jdx;
+
+  /* solve phi(lambda) = -1 + sum_{i=l}^{u} sprob(i)*exp(i*lambda) = 0 */
+
+  x0 = 0.5; /* x0 in (0,1) */
+  tolerance = 1.e-5;
+
+  low = sf->low_align_score;
+  high = sf->high_align_score;
+
+  /* write phi as phi(lambda) = exp(u*lambda) * q(exp(-lambda)) and solve the
+    polynomial q by apply newton's method
+    q(x) = -x^u + sum_{k=0}^{u-l} sprob(u-k)* x^k */
+  for (idx = 0; idx < k_max_iterations; idx++)
+  {
+    q = -pow(x0,high);
+    for (jdx = 0; jdx <= high-low; jdx++)
+      q += sf->sprob[high-low-jdx] * pow(x0,jdx);
+
+    dq = -high*pow(x0,high-1);
+    for (jdx = 1; jdx <= high-low; jdx++)
+      dq += sf->sprob[high-low-jdx] * jdx * pow(x0,jdx-1);
+
+    x = x0 - (q/dq);
+
+    if (fabs(x-x0) < tolerance)
+      break;
+
+    x0 = x;
+  }
+
+  lambda = -log(x);
+
+  /* better solution would be to apply Horner's rule for evaluating a
+     polynomial and its derivative (s. BLAST), but for the moment it works */
+
+  return lambda;
+}
+
+static double gt_karlin_altschul_stat_calculate_H(const ScoringFrequency *sf,
+                                                  double lambda)
+{
+  double H, sum, etonlambda;
+  GtWord idx, low, high, scale;
+  gt_assert(sf->sprob);
+
+  low = sf->low_align_score;
+  high = sf->high_align_score;
+
+  etonlambda = exp(-lambda);
+  sum = low * sf->sprob[0];
+  for (idx = low + 1; idx <= high; idx++)
+  {
+    sum = idx * sf->sprob[idx-low] + etonlambda * sum;
+  }
+
+  scale = pow(etonlambda,high);
+  if (scale > 0.0)
+    H = lambda * sum/scale;
+  else /* case underflow */
+    H = lambda * exp(lambda * high + log(sum));
+
+  return H;
+}
+
+static GtWord gt_karlin_altschul_stat_gcd(const ScoringFrequency *sf)
+{
+  GtWord idx, range, divisor;
+
+  range = sf->high_align_score - sf->low_align_score+1;
+  divisor = -sf->low_align_score;
+  for (idx = 1; idx < range && divisor > 1; idx++)
+  {
+    if (sf->sprob[idx] != 0.0)
+    {
+      GtWord val = labs(idx+sf->low_align_score);
+      if (val > divisor)
+      {
+        GtWord tmp = divisor;
+        divisor = val;
+        val = tmp;
+      }
+      while (val != 0)
+      {
+        GtWord tmp = divisor % val;
+        divisor = val;
+        val = tmp;
+      }
+    }
+  }
+  return divisor;
+}
+
+static double gt_karlin_altschul_stat_calculate_ungapped_K(
+                                                     const ScoringFrequency *sf,
+                                                     double lambda,
+                                                     double H)
+{
+  GtWord  low,
+          high,
+          divisor;
+  double  expnlambda,
+          K;
+
+  gt_assert(lambda > 0 && H > 0);
+  divisor = gt_karlin_altschul_stat_gcd(sf); /* greatest common divisor */
+  low = sf->low_align_score/divisor;
+  high = sf->high_align_score/divisor;
+  lambda *= divisor;
+  expnlambda = exp(-lambda);
+  if (low == -1 && high == 1)
+  {
+    K = (sf->sprob[0] - sf->sprob[sf->high_align_score - sf->low_align_score]) *
+        (sf->sprob[0] - sf->sprob[sf->high_align_score - sf->low_align_score])/
+        sf->sprob[0];
+  }
+  else if (low == -1 || high == 1)
+  {
+    const double score_avg = sf->score_avg,
+                 one_minus_expnlambda = 1-expnlambda;
+
+    gt_assert(score_avg < 0.0);
+    if (high != 1)
+    {
+      const double score_avg_div = score_avg / divisor;
+      K = lambda * one_minus_expnlambda / H *(score_avg_div * score_avg_div);
+    }
+    else
+    {
+      K = H/lambda * one_minus_expnlambda;
+    }
+  }
+  else
+  {
+    const GtUword range = (GtUword) (high - low);
+    const GtUword iterlimit = 100;
+    const double sumlimit = 0.0001;
+    const GtUword size = iterlimit * range + 1;
+    GtWord count;
+    GtUword sigma = 0;
+    GtWord low_align_score = 0, high_align_score = 0;
+    double inner_sum = 1.0,
+           *alignnment_score_probs
+             = gt_calloc(size, sizeof (*alignnment_score_probs));
+
+    gt_assert(low <= high);
+    /* K = lambda*exp(-2*sigma)/(H*(1-exp(-lambda)) */
+
+    alignnment_score_probs[0] = 1.0;
+    for (count = 0; count < iterlimit && inner_sum > sumlimit; count++)
+    {
+      GtWord idx, jdx, first, last;
+      if (count > 0)
+      {
+        inner_sum /= count;
+        sigma += inner_sum;
+      }
+
+      first = last = range;
+      low_align_score += low;
+      high_align_score += high;
+      for (idx = high_align_score-low_align_score; idx >= 0; idx--)
+      {
+        GtWord firstidx = idx-first;
+        GtWord lastidx = idx-last;
+        GtWord secondidx = sf->sprob[low] + first;
+        for (inner_sum = 0.; firstidx >= lastidx; )
+        {
+          inner_sum += alignnment_score_probs[firstidx] *
+                      alignnment_score_probs[secondidx];
+          firstidx--;
+          secondidx++;
+        }
+
+        if (first > 0)
+          --first;
+        if (idx <= range)
+          --last;
+
+        alignnment_score_probs[idx] = inner_sum;
+        if (idx == 0)
+          break;
+      }
+
+      inner_sum = alignnment_score_probs[++idx];
+      for (jdx = low_align_score + 1; jdx < 0; jdx++)
+      {
+        inner_sum = alignnment_score_probs[++idx] + inner_sum * expnlambda;
+      }
+      inner_sum *= expnlambda;
+      for (/*Nothing*/; jdx <= high_align_score; ++jdx)
+        inner_sum += alignnment_score_probs[++jdx];
+    }
+    gt_free(alignnment_score_probs);
+    /* no terms of geometric progression, check to add these terms for
+       correction in future */
+
+    K = -exp(-2.0*sigma)/(H/lambda*expnlambda);
+  }
+
+  return K;
+}
+
+static void get_values_from_vector(GtKarlinAltschulStat *ka,
+                                   const double *vector)
+{
+  ka->lambda = vector[lambdaidx];
+  gt_assert(ka->lambda != 0.0);
+  ka->K = vector[Kidx];
+  ka->logK = log(ka->K);
+  ka->H = vector[Hidx];
+  ka->alpha_div_lambda = vector[alphaidx]/ka->lambda;
+  ka->beta = vector[betaidx];
+}
+
+static const double *gt_karlin_altschul_score_vector(GtWord matchscore,
+                                                     GtWord mismatchscore)
+{
+  if (matchscore == 1 && mismatchscore == -1)
+  {
+    return ga_vector_1_1;
+  }
+  if (matchscore == 1 && mismatchscore == -4)
+  {
+    return ga_vector_1_4;
+  }
+  if (matchscore == 2 && mismatchscore == -7)
+  {
+    return ga_vector_2_7;
+  }
+  if (matchscore == 1 && mismatchscore == -3)
+  {
+    return ga_vector_1_3;
+  }
+  if (matchscore == 2 && mismatchscore == -5)
+  {
+    return ga_vector_2_5;
+  }
+  if (matchscore == 1 && mismatchscore == -2)
+  {
+    return ga_vector_1_2;
+  }
+  if (matchscore == 2 && mismatchscore == -3)
+  {
+    return ga_vector_2_3;
+  }
+  return NULL;
+}
+
+static void gt_karlin_altschul_stat_get_gapped_params(GtKarlinAltschulStat *ka)
+{
+  const double *ga_vector = NULL;
+
+  gt_assert(ka != NULL);
+  ga_vector = gt_karlin_altschul_score_vector(ka->matchscore,ka->mismatchscore);
+  if (ga_vector == NULL)
+  {
+    fprintf(stderr,"no precomputed values for combination matchscore "
+                   GT_WD " and mismatchscore " GT_WD " in evalue calculation "
+                   "of gapped alignments",ka->matchscore, ka->mismatchscore);
+    exit(GT_EXIT_PROGRAMMING_ERROR);
+  }
+  gt_assert(ga_vector[gapextdidx] == ka->gapscore);
+  get_values_from_vector(ka, ga_vector);
+}
+
+GtKarlinAltschulStat *gt_karlin_altschul_stat_new(unsigned int numofchars,
+                                                  const GtScoreHandler
+                                                        *scorehandler)
+{
+  GtKarlinAltschulStat *ka = gt_malloc(sizeof *ka);
+
+  gt_assert(ka != NULL);
+  ka->searchspace_store = NULL;
+  ka->num_of_query_seqs = 0;
+  ka->different_lengths = 0;
+  ka->lambda = 0;
+  ka->K = 0;
+  ka->logK = 0;
+  ka->H = 0;
+  ka->log2 = log(2);
+  ka->actual_length_db = GT_UWORD_MAX;
+  ka->num_of_db_seqs = GT_UWORD_MAX;
+  gt_assert(gt_scorehandler_get_gap_opening(scorehandler) == 0);
+  ka->matchscore = gt_scorehandler_get_matchscore(scorehandler);
+  ka->mismatchscore = gt_scorehandler_get_mismatchscore(scorehandler);
+  ka->gapscore = gt_scorehandler_get_gapscore(scorehandler);
+  /* only implemented for linear scores */
+  if (numofchars == 0)
+  { /* gapped alignment */
+    gt_karlin_altschul_stat_get_gapped_params(ka);
+  } else
+  {
+    /* New ScoringFrequency */
+    ScoringFrequency *sf
+      = gt_karlin_altschul_stat_scoring_frequency(numofchars,scorehandler);
+    gt_assert(sf != NULL);
+
+    /* karlin altschul parameters for ungapped alignments */
+    ka->lambda = gt_karlin_altschul_stat_calculate_ungapped_lambda(sf);
+    ka->H = gt_karlin_altschul_stat_calculate_H(sf, ka->lambda);
+    ka->K = gt_karlin_altschul_stat_calculate_ungapped_K(sf, ka->lambda, ka->H);
+    ka->logK = log(ka->K);
+    gt_assert(ka->H != 0.0);
+    ka->alpha_div_lambda = 1/ka->H;
+    ka->beta = 0;
+    gt_free(sf->sprob);
+    gt_free(sf);
+  }
+  return ka;
+}
+
+GtKarlinAltschulStat *gt_karlin_altschul_stat_new_gapped(
+                             GtUword total_length_db,
+                             GtUword num_of_db_seqs,
+                             GT_UNUSED const GtEncseq *query_encseq)
+{
+  const unsigned int gapped_alignment_flag = 0;
+  GtScoreHandler *scorehandler = gt_scorehandler_new(1,-2,0,-2);
+  GtKarlinAltschulStat *ka
+    = gt_karlin_altschul_stat_new(gapped_alignment_flag,scorehandler);
+
+  gt_scorehandler_delete(scorehandler);
+  gt_assert(num_of_db_seqs > 0 &&
+            ka->actual_length_db == GT_UWORD_MAX);
+  ka->actual_length_db = total_length_db - (num_of_db_seqs - 1);
+  ka->num_of_db_seqs = num_of_db_seqs;
+  if (query_encseq != NULL)
+  {
+    GtUword *seq_length_tab = gt_all_sequence_lengths_get(query_encseq);
+    GtUwordPair *store_under_construction;
+
+    ka->num_of_query_seqs = gt_encseq_num_of_sequences(query_encseq);
+    if (seq_length_tab == NULL) /* all are of the same length */
+    {
+      store_under_construction = gt_malloc(sizeof *ka->searchspace_store * 1);
+      store_under_construction[0].a = gt_encseq_seqlength(query_encseq,0);
+      store_under_construction[0].b
+        = gt_evalue_searchspace(ka,store_under_construction[0].a);
+      ka->different_lengths = 1;
+    } else
+    {
+      GtUword ridx, widx;
+
+      gt_radixsort_inplace_ulong(seq_length_tab,ka->num_of_query_seqs);
+      gt_assert(ka->num_of_query_seqs > 0);
+      for (ridx = 1, widx = 0; ridx < ka->num_of_query_seqs; ridx++)
+      {
+        if (seq_length_tab[ridx] != seq_length_tab[widx])
+        {
+          seq_length_tab[++widx] = seq_length_tab[ridx];
+        }
+      }
+      ka->different_lengths = widx + 1;
+      store_under_construction = gt_malloc(sizeof *ka->searchspace_store *
+                                           ka->different_lengths);
+      for (widx = 0; widx < ka->different_lengths; widx++)
+      {
+        store_under_construction[widx].a = seq_length_tab[widx];
+        store_under_construction[widx].b
+          = gt_evalue_searchspace(ka,store_under_construction[widx].a);
+      }
+      gt_free(seq_length_tab);
+    }
+    ka->searchspace_store = store_under_construction;
+  }
+  return ka;
+}
+
+static GtWord gt_karlin_altschul_stat_mismatchscore(
+                                       const GtKarlinAltschulStat *ka)
+{
+  gt_assert(ka != NULL);
+  return ka->mismatchscore;
+}
+
+static GtWord gt_karlin_altschul_stat_matchscore(const GtKarlinAltschulStat *ka)
+{
+  gt_assert(ka != NULL);
+  return ka->matchscore;
+}
+
+static GtWord gt_karlin_altschul_stat_gapscore(const GtKarlinAltschulStat *ka)
+{
+  gt_assert(ka != NULL);
+  return ka->gapscore;
+}
+
+static GtWord gt_karlin_altschul_get_actual_length_db(
+                       const GtKarlinAltschulStat *ka)
+{
+  gt_assert(ka != NULL && ka->actual_length_db != GT_UWORD_MAX);
+  return ka->actual_length_db;
+}
+
+static GtWord gt_karlin_altschul_get_num_of_db_seqs(
+               const GtKarlinAltschulStat *ka)
+{
+  gt_assert(ka != NULL && ka->num_of_db_seqs != GT_UWORD_MAX);
+  return ka->num_of_db_seqs;
+}
+
+int gt_karlin_altschul_stat_unit_test(GtError *err)
+{
+  GtKarlinAltschulStat *ka;
+  GtScoreHandler *scorehandler;
+  double q;
+  unsigned int numofchars = 0;
+
+  int had_err = 0;
+  gt_error_check(err);
+
+  scorehandler = gt_scorehandler_new(1,-2,0,-2);
+
+  /* check function for gapped alignments */
+  ka = gt_karlin_altschul_stat_new(0, scorehandler); /* unit test */
+  gt_ensure(ka->lambda == 1.19);
+  gt_ensure(ka->H == 0.66);
+  gt_ensure(ka->K == 0.34);
+  gt_karlin_altschul_stat_delete(ka);
+
+  /* check function for ungapped alignments */
+  numofchars = 4;
+  ka = gt_karlin_altschul_stat_new(numofchars, scorehandler); /* unit test */
+  q = ka->lambda/1.33; /* lambda = 1.33 */
+  gt_ensure(0.99 < q && q < 1.01);
+  q = ka->H/1.12; /* H = 1.12 */
+  gt_ensure(0.99 < q && q < 1.01);
+  q = ka->K/0.621; /* K = 0.621 */
+  gt_ensure(0.99 < q && q < 1.01);
+  gt_karlin_altschul_stat_delete(ka);
+
+  gt_scorehandler_delete(scorehandler);
+  return had_err;
+}
+
+/*
+  the rest of this file implements function for calculation of E-value of
+  Alignments.
+ */
+
+/*
+  information for invoking procedure:
+  -gt_karlin_altschul_stat_new
+  -gt_evalue_searchspace
+  -gt_evalue_from_eop_count -> evalue
+  -gt_karlin_altschul_stat_delete
+ */
+
+static GtUword gt_evalue_length_adjustment(GtUword query_length,
+                                           GtUword actual_db_length,
+                                           GtUword num_of_db_seqs,
+                                           double alpha_div_lambda,
+                                           double beta,
+                                           double K,
+                                           double logK)
+{
+  unsigned int idx;
+  const unsigned int kMaxIterations = 20;
+  double len_min = 0, len_max, len_next, len, len_bar, space, nNm;
+  GtUword length_adjustment;
+  bool converged = false;
+
+  /* l_max is the largest nonnegative solution of
+     K * (m - l) * (n - N * l) > MAX(m,n) */
+
+  space = actual_db_length * query_length
+          - MAX(query_length, actual_db_length)/K;
+  if (space < 0)
+    return 0; /* length_adjustnment = 0 */
+
+  nNm = query_length * num_of_db_seqs + actual_db_length;
+  /* quadratic formula */
+  len_max = 2 * space / (nNm + sqrt(nNm * nNm - 4 * num_of_db_seqs * space));
+
+  len_next = 0;
+
+  for (idx = 0; idx < kMaxIterations; idx++)
+  {
+    len = len_next;
+    len_bar = beta + alpha_div_lambda *
+              (logK + log((double) (query_length - len) *
+                          (double) (actual_db_length - num_of_db_seqs*len)));
+    if (len_bar >= len)
+    {
+      len_min = len;
+      if (len_bar -len_min <= 1.0)
+      {
+        converged = true;
+        break;
+      }
+      if (len_min == len_max)
+        break;
+    }
+    else
+    {
+      len_max = len;
+    }
+    if (len_min <= len_bar && len_bar <= len_max)
+      len_next = len_bar;
+    else if (idx == 0)
+      len_next = len_max;
+    else
+      len_next = (len_min+len_max)/2;
+  }
+
+  length_adjustment = (GtUword) len_min; /* floor(fixed point) */
+  if (converged)
+  {
+    len = ceil(len_min);
+    if (len <= len_max)
+    {
+      if (alpha_div_lambda * (logK +
+                              log((query_length-len) *
+                                  (actual_db_length-num_of_db_seqs*len))) + beta
+          >= len)
+      {
+        length_adjustment = (GtUword) len;
+      }
+    }
+  }
+
+  return length_adjustment;
+}
+
+static GtUword gt_searchspace_store_find(const GtUwordPair *arr,
+                                         GtUword len,
+                                         GtUword key)
+{
+  const GtUwordPair *left = arr, *right = arr + len - 1;
+
+  while (left <= right)
+  {
+    const GtUwordPair *mid = left + GT_DIV2(right - left);
+
+    if (key < mid->a)
+    {
+      right = mid - 1;
+    } else
+    {
+      if (key > mid->a)
+      {
+        left = mid + 1;
+      } else
+      {
+        return mid->b;
+      }
+    }
+  }
+  fprintf(stderr,"%s: cannot find entry for " GT_WU "\n",__func__,key);
+  gt_assert(false);
+  return GT_UWORD_MAX;
+}
+
+GtUword gt_evalue_searchspace(const GtKarlinAltschulStat *ka,
+                              GtUword query_idx_length)
+{
+  if (ka->searchspace_store != NULL)
+  {
+    return gt_searchspace_store_find(ka->searchspace_store,
+                                     ka->different_lengths,
+                                     query_idx_length);
+  } else
+  {
+    GtUword actual_db_length,
+            num_of_db_seqs,
+            effective_db_length,
+            effective_query_length,
+            length_adjustment;
+    double alpha_div_lambda, beta, K, logK;
+
+    gt_assert(ka != NULL);
+    alpha_div_lambda = gt_karlin_altschul_stat_get_alphadlambda(ka);
+
+    beta = gt_karlin_altschul_stat_get_beta(ka);
+    K = gt_karlin_altschul_stat_get_K(ka);
+    logK = gt_karlin_altschul_stat_get_logK(ka);
+
+    num_of_db_seqs = gt_karlin_altschul_get_num_of_db_seqs(ka);
+    actual_db_length = gt_karlin_altschul_get_actual_length_db(ka);
+    length_adjustment = gt_evalue_length_adjustment(query_idx_length,
+                                                    actual_db_length,
+                                                    num_of_db_seqs,
+                                                    alpha_div_lambda,
+                                                    beta,
+                                                    K,
+                                                    logK);
+
+    effective_query_length = query_idx_length - length_adjustment;
+    effective_db_length
+      = actual_db_length - (num_of_db_seqs * length_adjustment);
+
+    return effective_query_length * effective_db_length;
+  }
+}
+
+GtWord gt_evalue_raw_score(const GtKarlinAltschulStat *ka,
+                           GtUword matches,
+                           GtUword mismatches,
+                           GtUword indels)
+{
+  GtWord matchscore, mismatchscore, gapscore;
+
+  gt_assert(ka != NULL);
+  matchscore = gt_karlin_altschul_stat_matchscore(ka);
+  mismatchscore = gt_karlin_altschul_stat_mismatchscore(ka);
+  gapscore = gt_karlin_altschul_stat_gapscore(ka);
+  gt_assert(matchscore > 0 && mismatchscore < 0 && gapscore < 0);
+  return (GtWord) matches * matchscore +
+         (GtWord) mismatches * mismatchscore +
+         (GtWord) indels * gapscore;
+}
+
+double gt_evalue_raw_score2bit_score(const GtKarlinAltschulStat *ka,
+                                     GtWord raw_score)
+{
+  double lambda, logK;
+
+  gt_assert(ka != NULL);
+  lambda = gt_karlin_altschul_stat_get_lambda(ka);
+  logK = gt_karlin_altschul_stat_get_logK(ka);
+  return (lambda * (double) raw_score - logK)/ka->log2;
+}
+
+GtWord gt_evalue_bit_score2raw_score(const GtKarlinAltschulStat *ka,
+                                     double bit_score)
+{
+  double raw_score, lambda, logK;
+
+  gt_assert(ka != NULL);
+  lambda = gt_karlin_altschul_stat_get_lambda(ka);
+  logK = gt_karlin_altschul_stat_get_logK(ka);
+
+  raw_score = (bit_score * ka->log2 + logK)/lambda;
+  return (GtWord) round(raw_score);
+}
+
+double gt_evalue_from_raw_score(const GtKarlinAltschulStat *ka,
+                                GtWord raw_score,
+                                GtUword searchspace)
+{
+  double logK = gt_karlin_altschul_stat_get_logK(ka);
+  double lambda = gt_karlin_altschul_stat_get_lambda(ka);
+  return searchspace * exp(-lambda * raw_score + logK);
+}
+
+double gt_evalue_from_bitscore(const GtKarlinAltschulStat *ka,
+                               double bit_score,
+                               GtUword searchspace)
+{
+  GtWord raw_score;
+
+  gt_assert(ka != NULL);
+  raw_score = gt_evalue_bit_score2raw_score(ka, bit_score);
+  return gt_evalue_from_raw_score(ka,raw_score,searchspace);
+}
+
+double gt_evalue_from_eop_count(const GtKarlinAltschulStat *ka,
+                                GtUword matches,
+                                GtUword mismatches,
+                                GtUword indels,
+                                GtUword searchspace)
+{
+  GtWord raw_score;
+
+  gt_assert(ka != NULL);
+  raw_score = gt_evalue_raw_score(ka, matches, mismatches, indels);
+  return gt_evalue_from_raw_score(ka,raw_score,searchspace);
+}
+
+int gt_evalue_unit_test(GT_UNUSED GtError *err)
+{
+  GtKarlinAltschulStat *ka;
+  GtScoreHandler *scorehandler;
+  GtUword searchspace;
+  double evalue_variance;
+  const unsigned int numchars = 0; /* means gapped case */
+  int had_err = 0;
+
+  scorehandler = gt_scorehandler_new(1,-2,0,-2);
+  ka = gt_karlin_altschul_stat_new(numchars,scorehandler); /* unit test */
+  ka->actual_length_db = 772376 - (1952 - 1);
+  ka->num_of_db_seqs = 1952;
+
+  /* checks searchspace calculation */
+  gt_ensure(gt_evalue_searchspace(ka, 450)== 308243802);
+  gt_ensure(gt_evalue_searchspace(ka, 300)== 199707252);
+  gt_ensure(gt_evalue_searchspace(ka, 475)== 324731250);
+
+  searchspace = gt_evalue_searchspace(ka, 300);
+
+  /* checks evalue calculation */
+  evalue_variance
+    = gt_evalue_from_eop_count(ka, 300, 0, 0, searchspace)
+      /(6.148125 * pow(10,-148));
+  gt_ensure(evalue_variance > 0.99 && evalue_variance < 1.01);
+  evalue_variance
+    = gt_evalue_from_eop_count(ka, 213, 25, 1, searchspace)
+      /(4.220782 * pow(10,-76));
+  gt_ensure(evalue_variance > 0.99 && evalue_variance < 1.01);
+  evalue_variance
+    = gt_evalue_from_eop_count(ka, 206, 23, 1, searchspace)
+      /(1.499078 * pow(10,-74));
+  gt_ensure(evalue_variance > 0.99 && evalue_variance < 1.01);
+
+  gt_scorehandler_delete(scorehandler);
+  gt_karlin_altschul_stat_delete(ka);
+  return had_err;
+}
diff --git a/src/match/karlin_altschul_stat.h b/src/match/karlin_altschul_stat.h
new file mode 100644
index 0000000..689fe0e
--- /dev/null
+++ b/src/match/karlin_altschul_stat.h
@@ -0,0 +1,90 @@
+/*
+  Copyright (c) 2016 Annika Seidel <annika.seidel at studium.uni-hamburg.de>
+  Copyright (c) 2016 Center for Bioinformatics, University of Hamburg
+
+  Permission to use, copy, modify, and distribute this software for any
+  purpose with or without fee is hereby granted, provided that the above
+  copyright notice and this permission notice appear in all copies.
+
+  THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+  WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+  MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+  ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+  WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+  ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+  OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+*/
+
+#ifndef KARLIN_ALTSCHUL_STAT_H
+#define KARLIN_ALTSCHUL_STAT_H
+
+#include <stdbool.h>
+#include "extended/scorehandler.h"
+#include "core/error_api.h"
+#include "core/encseq_api.h"
+
+typedef struct GtKarlinAltschulStat GtKarlinAltschulStat;
+
+/*
+  determine karlin altschul parameters lambda, H, K, alpha and beta for
+  scorefunction given as <scorehandler>
+
+  If <numofchars> is 0, then the precomputation is done for
+  gapped alignments. Otherwise, the precomputation is
+  based on an alphabet of size <numchars> and calculated by using scoring
+  frequency statistics for ungapped alignments,
+
+  returns a GtKarlinAltschulStat object if no error occured, otherwise returns
+  NULL and <err> is set
+ */
+GtKarlinAltschulStat *gt_karlin_altschul_stat_new(unsigned int numchars,
+                                           const GtScoreHandler *scorehandler);
+
+GtKarlinAltschulStat *gt_karlin_altschul_stat_new_gapped(
+                             GtUword total_length_db,
+                             GtUword num_of_db_seqs,
+                             const GtEncseq *query_encseq);
+
+void gt_karlin_altschul_stat_delete(GtKarlinAltschulStat *ka);
+
+int gt_karlin_altschul_stat_unit_test(GtError *err);
+
+/*
+  the remaining function
+  calculate effective searchspace for query sequence of length
+  <query_idx_length> and a set of database sequences.
+  <total_length_of_db> is the total number of characters in all db sequences
+  including separators and wildcards
+ */
+
+GtUword gt_evalue_searchspace(const GtKarlinAltschulStat *ka,
+                              GtUword query_idx_length);
+
+GtWord gt_evalue_raw_score(const GtKarlinAltschulStat *ka,
+                           GtUword matches,
+                           GtUword mismatches,
+                           GtUword indels);
+
+double gt_evalue_raw_score2bit_score(const GtKarlinAltschulStat *ka,
+                                     GtWord raw_score);
+
+GtWord gt_evalue_bit_score2raw_score(const GtKarlinAltschulStat *ka,
+                                     double bit_score);
+
+double gt_evalue_from_raw_score(const GtKarlinAltschulStat *ka,
+                                GtWord raw_score,
+                                GtUword searchspace);
+
+double gt_evalue_from_bitscore(const GtKarlinAltschulStat *ka,
+                               double bit_score,
+                               GtUword searchspace);
+
+double gt_evalue_from_eop_count(const GtKarlinAltschulStat *ka,
+                                GtUword matches,
+                                GtUword mismatches,
+                                GtUword indels,
+                                GtUword searchspace);
+
+int gt_evalue_unit_test(GT_UNUSED GtError *err);
+
+#endif
diff --git a/src/match/lua_tools.h b/src/match/lua_tools.h
index 99158d4..f83ee18 100644
--- a/src/match/lua_tools.h
+++ b/src/match/lua_tools.h
@@ -22,6 +22,9 @@
 #include "lua.h"
 #include "lualib.h"
 
+/* GtLuaTools module */
+
+/* Prints the content of <L> to stderr in a human readable format. */
 void gt_lua_stack_dump(lua_State *L);
 
 #endif
diff --git a/src/match/querymatch-align.c b/src/match/querymatch-align.c
index bc925ad..4de5b2b 100644
--- a/src/match/querymatch-align.c
+++ b/src/match/querymatch-align.c
@@ -1,6 +1,6 @@
 /*
-  Copyright (c) 2007-2015 Stefan Kurtz <kurtz at zbh.uni-hamburg.de>
-  Copyright (c) 2007-2015 Center for Bioinformatics, University of Hamburg
+  Copyright (c) 2007-2016 Stefan Kurtz <kurtz at zbh.uni-hamburg.de>
+  Copyright (c) 2007-2016 Center for Bioinformatics, University of Hamburg
 
   Permission to use, copy, modify, and distribute this software for any
   purpose with or without fee is hereby granted, provided that the above
@@ -15,202 +15,150 @@
   OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 */
 
+#include <float.h>
 #include "core/ma_api.h"
-#include "core/unused_api.h"
 #include "core/types_api.h"
 #include "core/minmax.h"
-#include "extended/alignment.h"
-#include "extended/linearalign.h"
-#include "extended/linspace_management.h"
+#include "core/encseq_metadata.h"
 #include "revcompl.h"
 #include "seed-extend.h"
 #include "ft-polish.h"
 #include "querymatch-align.h"
 
-static void eoplist_reverse_order(uint8_t *start,uint8_t *end)
-{
-  if (start < end)
-  {
-    uint8_t *fwd, *bwd;
-
-    for (fwd = start, bwd = end; fwd < bwd; fwd++, bwd--)
-    {
-      uint8_t tmp = *fwd;
-      *fwd = *bwd;
-      *bwd = tmp;
-    }
-  }
-}
-
-static void converteoplist2alignment(GtAlignment *alignment,
-                                     const GtArrayuint8_t *eoplist)
-{
-  uint8_t *ptr;
-
-  for (ptr = eoplist->spaceuint8_t;
-       ptr < eoplist->spaceuint8_t + eoplist->nextfreeuint8_t; ptr++)
-  {
-    if (*ptr == FT_EOPCODE_DELETION)
-    {
-      gt_alignment_add_deletion(alignment);
-    } else
-    {
-      if (*ptr == FT_EOPCODE_INSERTION)
-      {
-        gt_alignment_add_insertion(alignment);
-      } else
-      {
-        gt_alignment_add_replacement_multi(alignment,(GtUword) ((*ptr) + 1));
-      }
-    }
-  }
-}
-
-void gt_querymatch_showeoplist(const GtArrayuint8_t *eoplist)
-{
-  uint8_t *ptr;
-
-  gt_assert(eoplist != NULL);
-  if (eoplist->nextfreeuint8_t == 0)
-  {
-    printf("[]\n");
-    return;
-  }
-  for (ptr = eoplist->spaceuint8_t;
-       ptr < eoplist->spaceuint8_t + eoplist->nextfreeuint8_t;
-       ptr++)
-  {
-    if (*ptr == FT_EOP_DELETION)
-    {
-      printf("D");
-    } else
-    {
-      if (*ptr == FT_EOP_INSERTION)
-      {
-        printf("I");
-      } else
-      {
-        printf("R %d",(int) ((*ptr) + 1));
-      }
-    }
-    if (ptr < eoplist->spaceuint8_t + eoplist->nextfreeuint8_t - 1)
-    {
-      printf(",");
-    } else
-    {
-      printf("\n");
-    }
-  }
-}
-
 struct GtQuerymatchoutoptions
 {
-  GtUword totallength,
-          alignmentwidth,
-          useqbuffer_size,
-          vseqbuffer_size;
-  GtArrayuint8_t eoplist;
-  GtFronttrace *front_trace;
+  GtUword useqbuffer_size,
+          vseqbuffer_size,
+          trace_delta;
+  GtUchar *useqbuffer, *vseqbuffer;
+  GtEoplist *eoplist;
+  GtEoplistReader *eoplist_reader, *eoplist_reader_verify;
+  GtFrontTrace *front_trace;
   GtGreedyextendmatchinfo *ggemi;
-  GtUchar *useqbuffer, *vseqbuffer, *alignment_show_buffer;
   const GtUchar *characters;
-  GtAlignment *alignment;
-  GtEncseqReader *esr_for_align_show;
+  GtEncseqReader *db_esr_for_align_show,
+                 *query_esr_for_align_show;
+  GtEncseqMetadata *emd;
   GtUchar wildcardshow;
   GtSeqpaircoordinates correction_info;
-  GtLinspaceManagement *linspace_spacemanager;
-  GtScoreHandler *linspace_scorehandler;
-  bool always_polished_ends,
-       generatealignment,
-       showeoplist;
-  Polishing_info *pol_info;
+  bool always_polished_ends;
+  GtFtPolishing_info *pol_info;
 };
 
-GtQuerymatchoutoptions *gt_querymatchoutoptions_new(bool generatealignment,
-                                                    bool showeoplist,
-                                                    GtUword alignmentwidth)
+GtQuerymatchoutoptions *gt_querymatchoutoptions_new(const
+                                                     GtSeedExtendDisplayFlag
+                                                      *out_display_flag,
+                                                    const char *indexname,
+                                                    GtError *err)
 {
-  GtQuerymatchoutoptions *querymatchoutoptions
-    = gt_malloc(sizeof *querymatchoutoptions);
+  GtQuerymatchoutoptions *querymatchoutoptions;
 
-  querymatchoutoptions->generatealignment
-    = generatealignment || alignmentwidth > 0 || showeoplist;
-  querymatchoutoptions->showeoplist = showeoplist;
-  querymatchoutoptions->alignmentwidth = alignmentwidth;
+  if (indexname != NULL)
+  {
+    GtAlphabet *alphabet;
+    GtEncseqMetadata *emd = gt_encseq_metadata_new(indexname,err);
+
+    if (emd == NULL)
+    {
+      return NULL;
+    }
+    alphabet = gt_encseq_metadata_alphabet(emd);
+    querymatchoutoptions = gt_malloc(sizeof *querymatchoutoptions);
+    querymatchoutoptions->emd = emd;
+    querymatchoutoptions->characters = gt_alphabet_characters(alphabet);
+    querymatchoutoptions->wildcardshow = gt_alphabet_wildcard_show(alphabet);
+  } else
+  {
+    querymatchoutoptions = gt_malloc(sizeof *querymatchoutoptions);
+    querymatchoutoptions->emd = NULL;
+    querymatchoutoptions->characters = NULL;
+    querymatchoutoptions->wildcardshow = 0;
+  }
   querymatchoutoptions->front_trace = NULL;
   querymatchoutoptions->ggemi = NULL;
   querymatchoutoptions->useqbuffer = NULL;
   querymatchoutoptions->useqbuffer_size = 0;
   querymatchoutoptions->vseqbuffer = NULL;
   querymatchoutoptions->vseqbuffer_size = 0;
-  GT_INITARRAY(&querymatchoutoptions->eoplist,uint8_t);
-  querymatchoutoptions->totallength = GT_UWORD_MAX; /* not yet known */
-  querymatchoutoptions->esr_for_align_show = NULL;
-  querymatchoutoptions->characters = NULL;
-  querymatchoutoptions->alignment = NULL;
-  querymatchoutoptions->linspace_spacemanager = NULL;
-  querymatchoutoptions->linspace_scorehandler = NULL;
-  querymatchoutoptions->always_polished_ends = true;
-  querymatchoutoptions->alignment_show_buffer = NULL;
-  if (generatealignment)
+  querymatchoutoptions->eoplist_reader_verify = NULL;
+  querymatchoutoptions->pol_info = NULL;
+  querymatchoutoptions->trace_delta
+    = gt_querymatch_trace_delta_display(out_display_flag);
+  querymatchoutoptions->eoplist_reader = gt_eoplist_reader_new();
+  querymatchoutoptions->eoplist = gt_eoplist_new();
+  if (gt_querymatch_alignment_display(out_display_flag))
   {
-    querymatchoutoptions->alignment = gt_alignment_new();
+    gt_eoplist_reader_reset_width(querymatchoutoptions->eoplist_reader,
+                                  gt_querymatch_display_alignmentwidth(
+                                       out_display_flag));
   }
-  if (alignmentwidth > 0)
+  querymatchoutoptions->db_esr_for_align_show = NULL;
+  querymatchoutoptions->query_esr_for_align_show = NULL;
+  querymatchoutoptions->always_polished_ends = true;
+  return querymatchoutoptions;
+}
+
+void gt_querymatchoutoptions_reset(GtQuerymatchoutoptions *querymatchoutoptions)
+{
+  if (querymatchoutoptions != NULL)
   {
-    querymatchoutoptions->alignment_show_buffer
-      = gt_alignment_buffer_new(alignmentwidth);
-    querymatchoutoptions->linspace_spacemanager = gt_linspace_management_new();
-    querymatchoutoptions->linspace_scorehandler = gt_scorehandler_new(0,1,0,1);
+    if (querymatchoutoptions->vseqbuffer_size == 0)
+    {
+      querymatchoutoptions->vseqbuffer = NULL;
+    }
+    if (querymatchoutoptions->useqbuffer_size == 0)
+    {
+      querymatchoutoptions->useqbuffer = NULL;
+    }
   }
-  return querymatchoutoptions;
 }
 
 void gt_querymatchoutoptions_extend(
                   GtQuerymatchoutoptions *querymatchoutoptions,
                   GtUword errorpercentage,
+                  double evalue_threshold,
                   GtUword maxalignedlendifference,
                   GtUword history_size,
                   GtUword perc_mat_history,
-                  GtExtendCharAccess extend_char_access,
+                  GtExtendCharAccess a_extend_char_access,
+                  GtExtendCharAccess b_extend_char_access,
+                  bool cam_generic,
                   bool weakends,
                   GtUword sensitivity,
                   double matchscore_bias,
                   bool always_polished_ends,
-                  unsigned int display_flag)
+                  const GtSeedExtendDisplayFlag *out_display_flag)
 {
   if (errorpercentage > 0)
   {
     gt_assert(querymatchoutoptions != NULL);
-    if (querymatchoutoptions->generatealignment)
-    {
-      querymatchoutoptions->front_trace = front_trace_new();
-    }
+    querymatchoutoptions->front_trace = front_trace_new();
     querymatchoutoptions->pol_info
       = polishing_info_new_with_bias(weakends ? MAX(errorpercentage,20)
                                               : errorpercentage,
                                      matchscore_bias,
                                      history_size);
     querymatchoutoptions->ggemi
-      = gt_greedy_extend_matchinfo_new(errorpercentage,
-                                       maxalignedlendifference,
+      = gt_greedy_extend_matchinfo_new(maxalignedlendifference,
                                        history_size, /* default value */
                                        perc_mat_history,
                                        0,/* userdefinedleastlength not used */
-                                       extend_char_access,
+                                       errorpercentage,
+                                       evalue_threshold,
+                                       a_extend_char_access,
+                                       b_extend_char_access,
+                                       cam_generic,
                                        sensitivity,
                                        querymatchoutoptions->pol_info);
-    if (querymatchoutoptions->alignment != NULL)
+    if (always_polished_ends)
+    {
+      gt_eoplist_polished_ends(querymatchoutoptions->eoplist,
+                               querymatchoutoptions->pol_info,true,
+                               gt_querymatch_polinfo_display(out_display_flag));
+    }
+    if (gt_querymatch_seed_in_algn_display(out_display_flag))
     {
-      if (always_polished_ends)
-      {
-        gt_alignment_polished_ends(querymatchoutoptions->alignment,
-                                   querymatchoutoptions->pol_info,true);
-      }
-      if (gt_querymatch_seed_display(display_flag))
-      {
-        gt_alignment_seed_display_set(querymatchoutoptions->alignment);
-      }
+      gt_eoplist_display_seed_in_alignment_set(querymatchoutoptions->eoplist);
     }
     querymatchoutoptions->always_polished_ends = always_polished_ends;
   }
@@ -222,19 +170,29 @@ void gt_querymatchoutoptions_for_align_only(
                   double matchscore_bias,
                   GtUword history_size,
                   bool always_polished_ends,
-                  unsigned int display_flag)
+                  GtExtendCharAccess a_extend_char_access,
+                  GtExtendCharAccess b_extend_char_access,
+                  const GtSeedExtendDisplayFlag *out_display_flag)
 {
+  const bool weakends = false;
+  const bool cam_generic = false;
+  const GtUword sensitivity = 100;
+  const double evalue_threshold = DBL_MAX;
+
   gt_querymatchoutoptions_extend(querymatchoutoptions,
                                  errorpercentage,
+                                 evalue_threshold,
                                  GT_MAX_ALI_LEN_DIFF,
                                  history_size,
                                  GT_MIN_PERC_MAT_HISTORY,
-                                 GT_EXTEND_CHAR_ACCESS_ANY,
-                                 false,
-                                 100,
+                                 a_extend_char_access,
+                                 b_extend_char_access,
+                                 cam_generic,
+                                 weakends,
+                                 sensitivity,
                                  matchscore_bias,
                                  always_polished_ends,
-                                 display_flag);
+                                 out_display_flag);
 }
 
 void gt_querymatchoutoptions_delete(
@@ -244,237 +202,347 @@ void gt_querymatchoutoptions_delete(
   {
     front_trace_delete(querymatchoutoptions->front_trace);
     gt_greedy_extend_matchinfo_delete(querymatchoutoptions->ggemi);
-    gt_free(querymatchoutoptions->useqbuffer);
+    if (querymatchoutoptions->useqbuffer_size > 0)
+    {
+      gt_free(querymatchoutoptions->useqbuffer);
+    }
     if (querymatchoutoptions->vseqbuffer_size > 0)
     {
       gt_free(querymatchoutoptions->vseqbuffer);
     }
-    gt_alignment_delete(querymatchoutoptions->alignment);
-    GT_FREEARRAY(&querymatchoutoptions->eoplist,uint8_t);
-    gt_alignment_buffer_delete(querymatchoutoptions->alignment_show_buffer);
-    gt_encseq_reader_delete(querymatchoutoptions->esr_for_align_show);
-    gt_linspace_management_delete(querymatchoutoptions->linspace_spacemanager);
-    gt_scorehandler_delete(querymatchoutoptions->linspace_scorehandler);
+    gt_eoplist_delete(querymatchoutoptions->eoplist);
+    gt_eoplist_reader_delete(querymatchoutoptions->eoplist_reader);
+    gt_eoplist_reader_delete(querymatchoutoptions->eoplist_reader_verify);
+    gt_encseq_reader_delete(querymatchoutoptions->db_esr_for_align_show);
+    gt_encseq_reader_delete(querymatchoutoptions->query_esr_for_align_show);
     polishing_info_delete(querymatchoutoptions->pol_info);
+    gt_encseq_metadata_delete(querymatchoutoptions->emd);
     gt_free(querymatchoutoptions);
   }
 }
 
-static bool seededmatch2eoplist(GtQuerymatchoutoptions *querymatchoutoptions,
-                                const GtEncseq *encseq,
-                                const GtSeqorEncseq *query,
-                                GtReadmode query_readmode,
-                                GtUword query_seqstartpos,
-                                GtUword query_totallength,
-                                GtUword dbstart,
+static void gt_querymtch_alignment_verification(
+            GtQuerymatchoutoptions *querymatchoutoptions,
+            GtUword dbstart,
+            GtUword dblen,
+            GtUword abs_querystart,
+            GtUword querylen,
+            GtUword sumdist)
+{
+  if (querymatchoutoptions->eoplist_reader_verify == NULL)
+  {
+    querymatchoutoptions->eoplist_reader_verify = gt_eoplist_reader_new();
+  }
+  gt_eoplist_set_sequences(querymatchoutoptions->eoplist,NULL,
+                           dbstart,
+                           dblen,
+                           NULL,
+                           abs_querystart,
+                           querylen);
+  gt_eoplist_verify(querymatchoutoptions->eoplist,
+                    querymatchoutoptions->eoplist_reader_verify,
+                    sumdist);
+}
+
+void gt_querymatchoutoptions_seededmatch2eoplist(
+                                GtQuerymatchoutoptions *querymatchoutoptions,
+                                const GtSeqorEncseq *dbes,
+                                GtUword dbstart_relative,
+                                GtUword db_seqstart,
                                 GtUword dblen,
-                                GtUword abs_querystart,
+                                GtReadmode query_readmode,
+                                const GtSeqorEncseq *queryes,
+                                GtUword query_seqstart,
+                                GtUword query_seqlen,
+                                GtUword querystart_rel,
                                 GtUword querylen,
-                                GtUword seedpos1,
-                                GtUword seedpos2,
+                                GtUword db_seedpos_rel,
+                                GtUword query_seedpos_rel,
                                 GtUword seedlen,
+                                bool verify_alignment,
                                 bool greedyextension)
 {
   GtUword ulen, vlen, ustart, vstart;
-  bool alignment_succeeded = true;
-  Polished_point right_best_polished_point = {0,0,0};
-  Polished_point left_best_polished_point = {0,0,0};
+  GtFtPolished_point right_best_polished_point = {0,0,0,0,0},
+                     left_best_polished_point = {0,0,0,0,0};
   GtUword pol_size;
   GtSeqpaircoordinates *coords;
+  GtUword leftcolumn, rightcolumn;
 
   gt_assert(querymatchoutoptions != NULL &&
             querymatchoutoptions->pol_info != NULL);
   pol_size = GT_MULT2(querymatchoutoptions->pol_info->cut_depth);
-  querymatchoutoptions->eoplist.nextfreeuint8_t = 0;
-  if (querymatchoutoptions->totallength == GT_UWORD_MAX)
-  {
-    querymatchoutoptions->totallength = gt_encseq_total_length(encseq);
-  }
-  ustart = seedpos1 + seedlen;
-  vstart = seedpos2 + seedlen;
-  gt_assert(dbstart + dblen >= ustart);
-  ulen = dbstart + dblen - ustart;
-  gt_assert(abs_querystart + querylen >= vstart);
-  vlen = abs_querystart + querylen - vstart;
+  gt_eoplist_reset(querymatchoutoptions->eoplist);
+  ustart = db_seedpos_rel + seedlen;
+  vstart = query_seedpos_rel + seedlen;
+  gt_assert(dbstart_relative + dblen >= ustart);
+  ulen = dbstart_relative + dblen - ustart;
+  gt_assert(querystart_rel + querylen >= vstart);
+  vlen = querystart_rel + querylen - vstart;
   if (ulen > 0 && vlen > 0)
   {
-    if (gt_align_front_prune_edist(true,
-                                   &right_best_polished_point,
-                                   querymatchoutoptions->front_trace,
-                                   encseq,
-                                   query,
-                                   query_readmode,
-                                   query_seqstartpos,
-                                   query_totallength,
-                                   querymatchoutoptions->ggemi,
-                                   greedyextension,
-                                   seedlen,
-                                   ustart,
-                                   ulen,
-                                   vstart,
-                                   vlen) == ulen + vlen + 1)
-    {
-      alignment_succeeded = false;
-    } else
-    {
-      if (querymatchoutoptions->front_trace != NULL)
-      {
-        front_trace2eoplist(querymatchoutoptions->always_polished_ends,
-                            &querymatchoutoptions->eoplist,
-                            querymatchoutoptions->front_trace,
-                            &right_best_polished_point,
-                            pol_size,
-                            querymatchoutoptions->pol_info->match_score,
-                            querymatchoutoptions->pol_info->difference_score,
-                            NULL,
-                            ulen,
-                            NULL,
-                            vlen);
-      }
-    }
+    gt_align_front_prune_edist(true,
+                               &right_best_polished_point,
+                               querymatchoutoptions->front_trace,
+                               dbes,
+                               queryes,
+                               query_readmode,
+                               query_seqstart,
+                               query_seqlen,
+                               querymatchoutoptions->ggemi,
+                               greedyextension,
+                               seedlen,
+                               db_seqstart + ustart,
+                               ulen,
+                               query_seqstart + vstart,
+                               vlen);
     if (querymatchoutoptions->front_trace != NULL)
     {
-      gt_assert(querymatchoutoptions->generatealignment);
+      front_trace2eoplist(querymatchoutoptions->always_polished_ends,
+                          querymatchoutoptions->eoplist,
+                          querymatchoutoptions->front_trace,
+                          &right_best_polished_point,
+                          pol_size,
+                          querymatchoutoptions->pol_info->match_score,
+                          querymatchoutoptions->pol_info->difference_score,
+                          NULL,
+                          ulen,
+                          NULL,
+                          vlen);
       front_trace_reset(querymatchoutoptions->front_trace,ulen+vlen);
     }
   }
-  if (alignment_succeeded)
+  gt_eoplist_match_add(querymatchoutoptions->eoplist,seedlen);
+  if (db_seedpos_rel > dbstart_relative && query_seedpos_rel > querystart_rel)
   {
-    if (querymatchoutoptions->generatealignment)
-    {
-      front_trace_multireplacement(&querymatchoutoptions->eoplist,seedlen);
-    }
-    if (seedpos1 > dbstart && seedpos2 > abs_querystart)
+    ulen = db_seedpos_rel - dbstart_relative;
+    vlen = query_seedpos_rel - querystart_rel;
+    gt_align_front_prune_edist(false,
+                               &left_best_polished_point,
+                               querymatchoutoptions->front_trace,
+                               dbes,
+                               queryes,
+                               query_readmode,
+                               query_seqstart,
+                               query_seqlen,
+                               querymatchoutoptions->ggemi,
+                               greedyextension,
+                               seedlen,
+                               db_seqstart + dbstart_relative,
+                               ulen,
+                               query_seqstart + querystart_rel,
+                               vlen);
+    if (querymatchoutoptions->front_trace != NULL)
     {
-      ulen = seedpos1 - dbstart;
-      vlen = seedpos2 - abs_querystart;
-      if (gt_align_front_prune_edist(false,
-                                     &left_best_polished_point,
-                                     querymatchoutoptions->front_trace,
-                                     encseq,
-                                     query,
-                                     query_readmode,
-                                     query_seqstartpos,
-                                     query_totallength,
-                                     querymatchoutoptions->ggemi,
-                                     greedyextension,
-                                     seedlen,
-                                     dbstart,
-                                     ulen,
-                                     abs_querystart,
-                                     vlen) == ulen + vlen + 1)
-      {
-        alignment_succeeded = false;
-      } else
-      {
-        if (querymatchoutoptions->front_trace != NULL)
-        {
-          GtUword eoplistlen = querymatchoutoptions->eoplist.nextfreeuint8_t;
-
-          front_trace2eoplist(querymatchoutoptions->always_polished_ends,
-                              &querymatchoutoptions->eoplist,
-                              querymatchoutoptions->front_trace,
-                              &left_best_polished_point,
-                              pol_size,
-                              querymatchoutoptions->pol_info->match_score,
-                              querymatchoutoptions->pol_info->difference_score,
-                              NULL,
-                              ulen,
-                              NULL,
-                              vlen);
-          eoplist_reverse_order(querymatchoutoptions->eoplist.spaceuint8_t +
-                                 eoplistlen,
-                                querymatchoutoptions->eoplist.spaceuint8_t +
-                                 querymatchoutoptions->eoplist.nextfreeuint8_t -
-                                 1);
-        }
-      }
-      if (querymatchoutoptions->front_trace != NULL)
-      {
-        front_trace_reset(querymatchoutoptions->front_trace,ulen+vlen);
-      }
+      GtUword previous_eoplistlen
+        = gt_eoplist_length(querymatchoutoptions->eoplist);
+      front_trace2eoplist(querymatchoutoptions->always_polished_ends,
+                          querymatchoutoptions->eoplist,
+                          querymatchoutoptions->front_trace,
+                          &left_best_polished_point,
+                          pol_size,
+                          querymatchoutoptions->pol_info->match_score,
+                          querymatchoutoptions->pol_info->difference_score,
+                          NULL,
+                          ulen,
+                          NULL,
+                          vlen);
+      gt_eoplist_reverse_end(querymatchoutoptions->eoplist,previous_eoplistlen);
+      front_trace_reset(querymatchoutoptions->front_trace,ulen+vlen);
     }
   }
   coords = &querymatchoutoptions->correction_info;
-  if (alignment_succeeded)
+  gt_assert(db_seedpos_rel >= dbstart_relative + left_best_polished_point.row);
+  coords->uoffset = db_seedpos_rel - left_best_polished_point.row -
+                                     dbstart_relative;
+  coords->ulen = seedlen + left_best_polished_point.row +
+                 right_best_polished_point.row;
+  leftcolumn = left_best_polished_point.alignedlen -
+               left_best_polished_point.row;
+  rightcolumn = right_best_polished_point.alignedlen -
+                right_best_polished_point.row;
+  gt_assert(query_seedpos_rel >= leftcolumn + querystart_rel);
+  coords->voffset = query_seedpos_rel - leftcolumn - querystart_rel;
+  coords->vlen = seedlen + leftcolumn + rightcolumn;
+  coords->sumdist = left_best_polished_point.distance +
+                    right_best_polished_point.distance;
+  coords->sum_max_mismatches = left_best_polished_point.max_mismatches +
+                               right_best_polished_point.max_mismatches;
+  gt_eoplist_reverse_end(querymatchoutoptions->eoplist,0);
+  if (verify_alignment)
   {
-    GtUword leftcolumn, rightcolumn;
+    gt_querymtch_alignment_verification(querymatchoutoptions,
+                                        db_seqstart + dbstart_relative,
+                                        coords->ulen,
+                                        query_seqstart + querystart_rel,
+                                        coords->vlen,
+                                        coords->sumdist);
+  }
+  gt_eoplist_set_seedoffset(querymatchoutoptions->eoplist,
+                            db_seedpos_rel - dbstart_relative,
+                            seedlen);
+}
 
-    gt_assert(dbstart <= seedpos1 - left_best_polished_point.row);
-    coords->uoffset = seedpos1 - left_best_polished_point.row - dbstart;
-    coords->ulen = seedlen + left_best_polished_point.row +
-                   right_best_polished_point.row;
-    leftcolumn = left_best_polished_point.alignedlen -
-                 left_best_polished_point.row;
-    rightcolumn = right_best_polished_point.alignedlen -
-                  right_best_polished_point.row;
-    gt_assert(seedpos2 >= leftcolumn &&
-              abs_querystart <= seedpos2 - leftcolumn);
-    coords->voffset = seedpos2 - leftcolumn - abs_querystart;
-    coords->vlen = seedlen + leftcolumn + rightcolumn;
-    coords->sumdist = left_best_polished_point.distance +
-                      right_best_polished_point.distance;
-  } else
+void gt_frontprune2eoplist(GtQuerymatchoutoptions *querymatchoutoptions,
+                           const GtSeqorEncseq *dbes,
+                           GtUword dbstart,
+                           GtUword dblen,
+                           const GtSeqorEncseq *queryes,
+                           GtReadmode query_readmode,
+                           GtUword query_seqstart,
+                           GtUword query_seqlen,
+                           GtUword querystart,
+                           GtUword querylen,
+                           bool verify_alignment)
+{
+  GtFtPolished_point right_best_polished_point = {0,0,0,0,0};
+  GtUword pol_size;
+  GtSeqpaircoordinates *coords;
+  const bool greedyextension = true, rightextension = true;
+
+  gt_assert(querymatchoutoptions != NULL &&
+            querymatchoutoptions->pol_info != NULL);
+  pol_size = GT_MULT2(querymatchoutoptions->pol_info->cut_depth);
+  gt_eoplist_reset(querymatchoutoptions->eoplist);
+  gt_assert(dblen > 0 && querylen > 0);
+  gt_align_front_prune_edist(rightextension,
+                             &right_best_polished_point,
+                             querymatchoutoptions->front_trace,
+                             dbes,
+                             queryes,
+                             query_readmode,
+                             query_seqstart,
+                             query_seqlen,
+                             querymatchoutoptions->ggemi,
+                             greedyextension,
+                             0,
+                             dbstart,
+                             dblen,
+                             query_seqstart + querystart,
+                             querylen);
+  gt_assert(querymatchoutoptions->front_trace != NULL);
+  front_trace2eoplist(querymatchoutoptions->always_polished_ends,
+                      querymatchoutoptions->eoplist,
+                      querymatchoutoptions->front_trace,
+                      &right_best_polished_point,
+                      pol_size,
+                      querymatchoutoptions->pol_info->match_score,
+                      querymatchoutoptions->pol_info->difference_score,
+                      NULL,
+                      dblen,
+                      NULL,
+                      querylen);
+  gt_eoplist_reverse_end(querymatchoutoptions->eoplist,0);
+  front_trace_reset(querymatchoutoptions->front_trace,dblen+querylen);
+  coords = &querymatchoutoptions->correction_info;
+  coords->uoffset = 0;
+  coords->ulen = right_best_polished_point.row;
+  coords->voffset = 0;
+  coords->vlen = right_best_polished_point.alignedlen -
+                 right_best_polished_point.row;
+  coords->sumdist = right_best_polished_point.distance;
+  coords->sum_max_mismatches = right_best_polished_point.max_mismatches;
+  if (verify_alignment)
   {
-    coords->uoffset = coords->voffset = 0;
-    coords->ulen = dblen;
-    coords->vlen = querylen;
-    coords->sumdist = 0;
+    gt_querymtch_alignment_verification(querymatchoutoptions,
+                                        dbstart,
+                                        coords->ulen,
+                                        query_seqstart + querystart,
+                                        coords->vlen,
+                                        coords->sumdist);
   }
-  return alignment_succeeded;
 }
 
-bool gt_querymatchoutoptions_alignment_prepare(GtQuerymatchoutoptions
-                                                *querymatchoutoptions,
-                                               const GtEncseq *encseq,
-                                               const GtSeqorEncseq *query,
-                                               GtReadmode query_readmode,
-                                               GtUword query_seqstartpos,
-                                               GtUword query_totallength,
-                                               GtUword dbstart,
-                                               GtUword dblen,
-                                               GtUword abs_querystart,
-                                               GtUword abs_querystart_fwdstrand,
-                                               GtUword querylen,
-                                               GtUword edist,
-                                               GtUword seedpos1,
-                                               GtUword seedpos2,
-                                               GtUword seedlen,
-                                               bool greedyextension)
+static void gt_querymatchoutoptions_set_sequences(GtQuerymatchoutoptions
+                                             *querymatchoutoptions,
+                                           GtUword dbstart_relative,
+                                           GtUword dblen,
+                                           GtUword querystart,
+                                           GtUword querylen,
+                                           bool withcorrection)
 {
-  bool seededalignment = false;
-
   gt_assert(querymatchoutoptions != NULL);
-  if (querymatchoutoptions->alignmentwidth > 0 &&
-      querymatchoutoptions->characters == NULL)
+
+  if (withcorrection)
   {
-    querymatchoutoptions->characters
-      = gt_encseq_alphabetcharacters(encseq);
-    querymatchoutoptions->wildcardshow
-      = gt_alphabet_wildcard_show(gt_encseq_alphabet(encseq));
-  }
-  if (querymatchoutoptions->esr_for_align_show == NULL)
+    gt_eoplist_set_sequences(querymatchoutoptions->eoplist,
+                             querymatchoutoptions->useqbuffer +
+                               querymatchoutoptions->correction_info.uoffset,
+                             dbstart_relative +
+                               querymatchoutoptions->correction_info.uoffset,
+                             querymatchoutoptions->correction_info.ulen,
+                             querymatchoutoptions->vseqbuffer +
+                               querymatchoutoptions->correction_info.voffset,
+                             querystart +
+                               querymatchoutoptions->correction_info.voffset,
+                             querymatchoutoptions->correction_info.vlen);
+  } else
   {
-    querymatchoutoptions->esr_for_align_show
-      = gt_encseq_create_reader_with_readmode(encseq,
-                                              GT_READMODE_FORWARD,
-                                              0);
+    gt_eoplist_set_sequences(querymatchoutoptions->eoplist,
+                             querymatchoutoptions->useqbuffer,
+                             dbstart_relative,
+                             dblen,
+                             querymatchoutoptions->vseqbuffer,
+                             querystart,
+                             querylen);
   }
-  if (dblen > querymatchoutoptions->useqbuffer_size)
+}
+
+void gt_querymatchoutoptions_extract_seq(GtQuerymatchoutoptions
+                                           *querymatchoutoptions,
+                                         const GtSeqorEncseq *dbes,
+                                         GtUword dbstart_relative,
+                                         GtUword dbstart,
+                                         GtUword dblen,
+                                         GtReadmode query_readmode,
+                                         const GtSeqorEncseq *queryes,
+                                         GtUword querystart,
+                                         GtUword abs_querystart_fwdstrand,
+                                         GtUword querylen,
+                                         bool withcorrection)
+{
+  gt_assert(querymatchoutoptions != NULL);
+  if (querymatchoutoptions->characters == NULL)
   {
-    querymatchoutoptions->useqbuffer
-      = gt_realloc(querymatchoutoptions->useqbuffer,
-                   sizeof *querymatchoutoptions->useqbuffer * dblen);
-    querymatchoutoptions->useqbuffer_size = dblen;
+    if (dbes->encseq != NULL)
+    {
+      querymatchoutoptions->characters
+        = gt_encseq_alphabetcharacters(dbes->encseq);
+      querymatchoutoptions->wildcardshow
+        = gt_alphabet_wildcard_show(gt_encseq_alphabet(dbes->encseq));
+    } else
+    {
+      querymatchoutoptions->characters = dbes->characters;
+      querymatchoutoptions->wildcardshow = dbes->wildcardshow;
+    }
   }
-  gt_encseq_extract_encoded_with_reader(
-                            querymatchoutoptions->esr_for_align_show,
-                            encseq,
+  if (dbes->encseq != NULL)
+  {
+    if (querymatchoutoptions->db_esr_for_align_show == NULL)
+    {
+      querymatchoutoptions->db_esr_for_align_show
+        = gt_encseq_create_reader_with_readmode(dbes->encseq,
+                                                GT_READMODE_FORWARD,
+                                                0);
+    }
+    if (dblen > querymatchoutoptions->useqbuffer_size)
+    {
+      querymatchoutoptions->useqbuffer
+        = gt_realloc(querymatchoutoptions->useqbuffer,
+                     sizeof *querymatchoutoptions->useqbuffer * dblen);
+      querymatchoutoptions->useqbuffer_size = dblen;
+    }
+    gt_encseq_extract_encoded_with_reader(
+                            querymatchoutoptions->db_esr_for_align_show,
+                            dbes->encseq,
                             querymatchoutoptions->useqbuffer,
                             dbstart,
                             dbstart + dblen - 1);
-  if ((query == NULL || query->seq == NULL ||
-       query_readmode != GT_READMODE_FORWARD) &&
+  } else
+  {
+    querymatchoutoptions->useqbuffer = (GtUchar *) (dbes->seq + dbstart);
+  }
+  if ((queryes->encseq != NULL || query_readmode != GT_READMODE_FORWARD) &&
       querylen > querymatchoutoptions->vseqbuffer_size)
   {
     querymatchoutoptions->vseqbuffer
@@ -482,26 +550,32 @@ bool gt_querymatchoutoptions_alignment_prepare(GtQuerymatchoutoptions
                    sizeof *querymatchoutoptions->vseqbuffer * querylen);
     querymatchoutoptions->vseqbuffer_size = querylen;
   }
-  if (query == NULL || query->seq == NULL)
+  if (queryes->encseq != NULL)
   {
-    gt_assert(query == NULL || query->encseq != NULL);
+    if (querymatchoutoptions->query_esr_for_align_show == NULL)
+    {
+      querymatchoutoptions->query_esr_for_align_show
+        = gt_encseq_create_reader_with_readmode(queryes->encseq,
+                                                GT_READMODE_FORWARD,
+                                                0);
+    }
     gt_encseq_extract_encoded_with_reader(
-                            querymatchoutoptions->esr_for_align_show,
-                            query == NULL ? encseq : query->encseq,
+                            querymatchoutoptions->query_esr_for_align_show,
+                            queryes->encseq,
                             querymatchoutoptions->vseqbuffer,
                             abs_querystart_fwdstrand,
                             abs_querystart_fwdstrand + querylen - 1);
   } else
   {
-    if (query_readmode == GT_READMODE_FORWARD)
-    {
-      querymatchoutoptions->vseqbuffer
-        = (GtUchar *) (query->seq + abs_querystart_fwdstrand);
-    } else
+    if (query_readmode != GT_READMODE_FORWARD)
     {
       memcpy(querymatchoutoptions->vseqbuffer,
-             query->seq + abs_querystart_fwdstrand,
+             queryes->seq + abs_querystart_fwdstrand,
              querylen * sizeof *querymatchoutoptions->vseqbuffer);
+    } else
+    {
+      querymatchoutoptions->vseqbuffer
+        = (GtUchar *) (queryes->seq + abs_querystart_fwdstrand);
     }
   }
   if (query_readmode == GT_READMODE_REVERSE)
@@ -511,148 +585,108 @@ bool gt_querymatchoutoptions_alignment_prepare(GtQuerymatchoutoptions
   {
     if (query_readmode == GT_READMODE_REVCOMPL)
     {
-      gt_inplace_reverse_complement(querymatchoutoptions->vseqbuffer,
-                                    querylen);
+      gt_inplace_reverse_complement(querymatchoutoptions->vseqbuffer,querylen);
     } else
     {
-      if (query_readmode == GT_READMODE_COMPL)
-      {
-        gt_inplace_complement(querymatchoutoptions->vseqbuffer,querylen);
-      }
+      gt_assert(query_readmode == GT_READMODE_FORWARD);
     }
   }
-  if (edist > 0)
+  gt_querymatchoutoptions_set_sequences(querymatchoutoptions,
+                                        dbstart_relative,
+                                        dblen,
+                                        querystart,
+                                        querylen,
+                                        withcorrection);
+}
+
+void gt_querymatchoutoptions_cigar_show(const GtQuerymatchoutoptions
+                                              *querymatchoutoptions,
+                                        bool distinguish_mismatch_match,
+                                        FILE *fp)
+{
+  gt_assert(querymatchoutoptions != NULL &&
+            querymatchoutoptions->eoplist != NULL);
+  gt_eoplist_reader_reset(querymatchoutoptions->eoplist_reader,
+                          querymatchoutoptions->eoplist,true);
+  gt_eoplist_show_cigar(querymatchoutoptions->eoplist_reader,
+                        distinguish_mismatch_match,fp);
+}
+
+void gt_querymatchoutoptions_trace_show(const GtQuerymatchoutoptions
+                                              *querymatchoutoptions,
+                                        bool dtrace,
+                                        FILE *fp)
+{
+  GtEoplistSegment segment;
+  bool first = true;
+
+  gt_assert(querymatchoutoptions != NULL);
+  gt_eoplist_reader_reset(querymatchoutoptions->eoplist_reader,
+                          querymatchoutoptions->eoplist,true);
+  while (gt_eoplist_reader_next_segment(&segment,
+                                        querymatchoutoptions->eoplist_reader,
+                                        querymatchoutoptions->trace_delta))
   {
-    if (seededmatch2eoplist(querymatchoutoptions,
-                            encseq,
-                            query,
-                            query_readmode,
-                            query_seqstartpos,
-                            query_totallength,
-                            dbstart,
-                            dblen,
-                            abs_querystart,
-                            querylen,
-                            seedpos1,
-                            seedpos2,
-                            seedlen,
-                            greedyextension))
+    if (!first)
     {
-      if (querymatchoutoptions->generatealignment)
-      {
-        gt_alignment_reset(querymatchoutoptions->alignment);
-        converteoplist2alignment(querymatchoutoptions->alignment,
-                                 &querymatchoutoptions->eoplist);
-      }
-      if (querymatchoutoptions->alignmentwidth > 0)
-      {
-        gt_assert(dbstart <= seedpos1);
-        gt_alignment_set_seedoffset(querymatchoutoptions->alignment,
-                                    seedpos1 - dbstart,
-                                    seedlen);
-        gt_alignment_set_seqs(querymatchoutoptions->alignment,
-                              querymatchoutoptions->useqbuffer +
-                                  querymatchoutoptions->correction_info.uoffset,
-                              querymatchoutoptions->correction_info.ulen,
-                              querymatchoutoptions->vseqbuffer +
-                                  querymatchoutoptions->correction_info.voffset,
-                              querymatchoutoptions->correction_info.vlen);
-      }
-      seededalignment = true;
+      fputc(',',fp);
     } else
     {
-      if (querymatchoutoptions->generatealignment)
-      {
-#ifndef NDEBUG
-        GtUword linedist;
-#endif
-        gt_assert(!greedyextension);
-        gt_alignment_set_seqs(querymatchoutoptions->alignment,
-                              querymatchoutoptions->useqbuffer,
-                              dblen,
-                              querymatchoutoptions->vseqbuffer,
-                              querylen);
-#ifndef NDEBUG
-        linedist =
-#else
-        (void)
-#endif
-        gt_linearalign_compute_generic(
-                              querymatchoutoptions->linspace_spacemanager,
-                              querymatchoutoptions->linspace_scorehandler,
-                              querymatchoutoptions->alignment,
-                              querymatchoutoptions->useqbuffer,
-                              0,
-                              dblen,
-                              querymatchoutoptions->vseqbuffer,
-                              0,
-                              querylen);
-        gt_assert(linedist <= edist);
-      }
-    }
-  } else
-  {
-    if (querymatchoutoptions->alignmentwidth > 0)
-    {
-      gt_alignment_set_seqs(querymatchoutoptions->alignment,
-                            querymatchoutoptions->useqbuffer,
-                            dblen,
-                            querymatchoutoptions->vseqbuffer,
-                            querylen);
+      first = false;
     }
+    fprintf(fp,"%d",dtrace ? ((int) querymatchoutoptions->trace_delta -
+                              (int) segment.aligned_v)
+                           : (int) segment.aligned_v);
   }
-  return seededalignment;
 }
 
 void gt_querymatchoutoptions_alignment_show(const GtQuerymatchoutoptions
                                               *querymatchoutoptions,
+                                            GtUword subject_seqlength,
+                                            GtUword query_reference,
+                                            GtUword one_off,
                                             GtUword distance,
-                                            GT_UNUSED bool verify_alignment,
+                                            bool distinguish_mismatch_match,
+                                            bool verify_alignment,
+                                            bool subject_first,
+                                            bool alignment_show_forward,
+                                            bool show_complement_characters,
                                             FILE *fp)
 {
-  if (querymatchoutoptions != NULL)
+  gt_assert(querymatchoutoptions != NULL);
+  if (distance > 0)
   {
-    if (querymatchoutoptions->alignmentwidth > 0)
-    {
-      if (distance > 0)
-      {
-        gt_alignment_show_generic(querymatchoutoptions->alignment_show_buffer,
-                                  false,
-                                  querymatchoutoptions->alignment,
-                                  fp,
-                                  (unsigned int)
-                                  querymatchoutoptions->alignmentwidth,
-                                  querymatchoutoptions->characters,
-                                  querymatchoutoptions->wildcardshow);
-      } else
-      {
-        gt_alignment_exact_show(querymatchoutoptions->alignment_show_buffer,
-                                querymatchoutoptions->alignment,
-                                fp,
-                                querymatchoutoptions->alignmentwidth,
-                                querymatchoutoptions->characters);
-      }
-      if (verify_alignment)
-      {
-        (void) gt_alignment_check_edist(querymatchoutoptions->alignment,
-                                        distance,NULL);
-      }
-    }
-    if (querymatchoutoptions->showeoplist)
+    if (verify_alignment)
     {
-      if (distance > 0)
-      {
-        gt_alignment_show_multieop_list(querymatchoutoptions->alignment, fp);
-      } else
-      {
-        fprintf(fp, "[]\n");
-      }
-    }
-    if (querymatchoutoptions->alignmentwidth > 0 ||
-        querymatchoutoptions->showeoplist)
-    {
-      gt_alignment_reset(querymatchoutoptions->alignment);
+      gt_assert(querymatchoutoptions->eoplist_reader_verify != NULL);
+      gt_eoplist_verify(querymatchoutoptions->eoplist,
+                        querymatchoutoptions->eoplist_reader_verify,
+                        distance);
     }
+    gt_eoplist_format_generic(fp,
+                              querymatchoutoptions->eoplist,
+                              querymatchoutoptions->eoplist_reader,
+                              querymatchoutoptions->characters,
+                              subject_seqlength,
+                              query_reference,
+                              one_off,
+                              distinguish_mismatch_match,
+                              subject_first,
+                              alignment_show_forward,
+                              show_complement_characters,
+                              querymatchoutoptions->wildcardshow);
+  } else
+  {
+    gt_eoplist_format_exact(fp,
+                            querymatchoutoptions->eoplist,
+                            querymatchoutoptions->eoplist_reader,
+                            subject_seqlength,
+                            query_reference,
+                            one_off,
+                            subject_first,
+                            alignment_show_forward,
+                            show_complement_characters,
+                            querymatchoutoptions->characters);
   }
 }
 
@@ -663,9 +697,12 @@ const GtSeqpaircoordinates *gt_querymatchoutoptions_correction_get(
   return &querymatchoutoptions->correction_info;
 }
 
-const GtAlignment *gt_querymatchoutoptions_alignment_get(
-              const GtQuerymatchoutoptions *querymatchoutoptions)
+GtEoplist *gt_querymatchoutoptions_eoplist(const GtQuerymatchoutoptions
+                                             *querymatchoutoptions)
 {
-  gt_assert(querymatchoutoptions != NULL);
-  return querymatchoutoptions->alignment;
+  if (querymatchoutoptions != NULL)
+  {
+    return querymatchoutoptions->eoplist;
+  }
+  return NULL;
 }
diff --git a/src/match/querymatch-align.h b/src/match/querymatch-align.h
index eeaf3cd..849fdbb 100644
--- a/src/match/querymatch-align.h
+++ b/src/match/querymatch-align.h
@@ -19,28 +19,37 @@
 #define QUERYMATCH_ALIGN_H
 
 #include "core/types_api.h"
+#include "core/error_api.h"
 #include "match/ft-front-prune.h"
 #include "match/seq_or_encseq.h"
-#include "extended/alignment.h"
+#include "match/querymatch-display.h"
 
 typedef struct GtQuerymatchoutoptions GtQuerymatchoutoptions;
 
-GtQuerymatchoutoptions *gt_querymatchoutoptions_new(bool generatealignment,
-                                                    bool showeoplist,
-                                                    GtUword alignmentwidth);
+GtQuerymatchoutoptions *gt_querymatchoutoptions_new(const
+                                                     GtSeedExtendDisplayFlag
+                                                      *out_display_flag,
+                                                    const char *indexname,
+                                                    GtError *err);
+
+void gt_querymatchoutoptions_reset(GtQuerymatchoutoptions
+                                     *querymatchoutoptions);
 
 void gt_querymatchoutoptions_extend(
                   GtQuerymatchoutoptions *querymatchoutoptions,
                   GtUword errorpercentage,
+                  double evalue_threshold,
                   GtUword maxalignedlendifference,
                   GtUword history,
                   GtUword perc_mat_history,
-                  GtExtendCharAccess extend_char_access,
+                  GtExtendCharAccess a_extend_char_access,
+                  GtExtendCharAccess b_extend_char_access,
+                  bool cam_generic,
                   bool weakends,
                   GtUword sensitivity,
                   double matchscore_bias,
                   bool always_polished_ends,
-                  unsigned int display_flag);
+                  const GtSeedExtendDisplayFlag *out_display_flag);
 
 void gt_querymatchoutoptions_for_align_only(
                   GtQuerymatchoutoptions *querymatchoutoptions,
@@ -48,45 +57,91 @@ void gt_querymatchoutoptions_for_align_only(
                   double matchscore_bias,
                   GtUword history_size,
                   bool always_polished_ends,
-                  unsigned int display_flag);
+                  GtExtendCharAccess a_extend_char_access,
+                  GtExtendCharAccess b_extend_char_access,
+                  const GtSeedExtendDisplayFlag *out_display_flag);
 
 void gt_querymatchoutoptions_delete(
         GtQuerymatchoutoptions *querymatchoutoptions);
 
-bool gt_querymatchoutoptions_alignment_prepare(
-                                     GtQuerymatchoutoptions
-                                       *querymatchoutoptions,
-                                     const GtEncseq *encseq,
-                                     const GtSeqorEncseq *query,
-                                     GtReadmode query_readmode,
-                                     GtUword query_seqstartpos,
-                                     GtUword query_totallength,
-                                     GtUword dbstart,
-                                     GtUword dblen,
-                                     GtUword querystart,
-                                     GtUword querystart_fwdstrand,
-                                     GtUword querylen,
-                                     GtUword edist,
-                                     GtUword seedpos1,
-                                     GtUword seedpos2,
-                                     GtUword seedlen,
-                                     GT_UNUSED bool greedyextension);
+void gt_frontprune2eoplist(GtQuerymatchoutoptions *querymatchoutoptions,
+                           const GtSeqorEncseq *dbes,
+                           GtUword dbstart,
+                           GtUword dblen,
+                           const GtSeqorEncseq *queryes,
+                           GtReadmode query_readmode,
+                           GtUword query_seqstart,
+                           GtUword query_seqlen,
+                           GtUword querystart,
+                           GtUword querylen,
+                           bool verify_alignment);
+
+void gt_querymatchoutoptions_cigar_show(const GtQuerymatchoutoptions
+                                              *querymatchoutoptions,
+                                        bool distinguish_mismatch_match,
+                                        FILE *fp);
+
+void gt_querymatchoutoptions_trace_show(const GtQuerymatchoutoptions
+                                              *querymatchoutoptions,
+                                        bool dtrace,
+                                        FILE *fp);
 
 void gt_querymatchoutoptions_alignment_show(const GtQuerymatchoutoptions
                                               *querymatchoutoptions,
+                                            GtUword subject_seqlength,
+                                            GtUword query_reference,
+                                            GtUword one_off,
                                             GtUword distance,
+                                            bool distinguish_mismatch_match,
                                             bool verify_alignment,
+                                            bool subject_first,
+                                            bool alignment_show_forward,
+                                            bool show_complement_characters,
                                             FILE *fp);
 
 typedef struct
 {
-  GtUword uoffset, voffset, ulen, vlen, sumdist;
+  GtUword uoffset, voffset, ulen, vlen, sumdist, sum_max_mismatches;
 } GtSeqpaircoordinates;
 
 const GtSeqpaircoordinates *gt_querymatchoutoptions_correction_get(
               const GtQuerymatchoutoptions *querymatchoutoptions);
 
-const GtAlignment *gt_querymatchoutoptions_alignment_get(
-              const GtQuerymatchoutoptions *querymatchoutoptions);
+void gt_querymatch_column_header_output(const GtSeedExtendDisplayFlag
+                                         *out_display_flag,FILE *stream);
+
+void gt_querymatchoutoptions_extract_seq(GtQuerymatchoutoptions
+                                           *querymatchoutoptions,
+                                         const GtSeqorEncseq *dbes,
+                                         GtUword dbstart_relative,
+                                         GtUword dbstart,
+                                         GtUword dblen,
+                                         GtReadmode query_readmode,
+                                         const GtSeqorEncseq *queryes,
+                                         GtUword querystart,
+                                         GtUword abs_querystart_fwdstrand,
+                                         GtUword querylen,
+                                         bool withcorrection);
+
+void gt_querymatchoutoptions_seededmatch2eoplist(
+                                GtQuerymatchoutoptions *querymatchoutoptions,
+                                const GtSeqorEncseq *dbes,
+                                GtUword dbstart_relative,
+                                GtUword db_seqstart,
+                                GtUword dblen,
+                                GtReadmode query_readmode,
+                                const GtSeqorEncseq *queryes,
+                                GtUword query_seqstart,
+                                GtUword query_seqlen,
+                                GtUword querystart,
+                                GtUword querylen,
+                                GtUword db_seedpos,
+                                GtUword query_seedpos,
+                                GtUword seedlen,
+                                bool verify_alignment,
+                                bool greedyextension);
+
+GtEoplist *gt_querymatchoutoptions_eoplist(const GtQuerymatchoutoptions
+                                             *querymatchoutoptions);
 
 #endif
diff --git a/src/match/querymatch-display.c b/src/match/querymatch-display.c
new file mode 100644
index 0000000..edb1d6e
--- /dev/null
+++ b/src/match/querymatch-display.c
@@ -0,0 +1,636 @@
+/*
+  Copyright (c) 2017 Stefan Kurtz <kurtz at zbh.uni-hamburg.de>
+  Copyright (c) 2017 Center for Bioinformatics, University of Hamburg
+
+  Permission to use, copy, modify, and distribute this software for any
+  purpose with or without fee is hereby granted, provided that the above
+  copyright notice and this permission notice appear in all copies.
+
+  THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+  WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+  MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+  ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+  WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+  ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+  OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+*/
+#include <stdbool.h>
+#include <string.h>
+#include <ctype.h>
+#include <inttypes.h>
+#include "core/ma_api.h"
+#include "core/assert_api.h"
+#include "match/querymatch-display.h"
+
+typedef struct
+{
+  const char *name;
+  GtSeedExtendDisplay_enum flag;
+  bool incolumn;
+} GtSEdisplayStruct;
+
+struct GtSeedExtendDisplayFlag
+{
+  uint64_t flags;
+  unsigned int order[GT_DISPLAY_LARGEST_FLAG+1];
+  GtUword alignmentwidth, trace_delta, nextfree;
+};
+
+static uint64_t gt_display_mask(GtSeedExtendDisplay_enum flag)
+{
+  gt_assert(flag <= GT_DISPLAY_LARGEST_FLAG);
+  return ((uint64_t) 1)  << flag;
+}
+
+static bool gt_querymatch_display_on(const GtSeedExtendDisplayFlag
+                                       *display_flag,
+                                     GtSeedExtendDisplay_enum display)
+{
+  return (display_flag != NULL &&
+          (display_flag->flags & gt_display_mask(display))) ? true : false;
+}
+
+#include "match/se-display.inc"
+
+bool gt_querymatch_has_seed(const GtSeedExtendDisplayFlag *display_flag)
+{
+  return gt_querymatch_seed_s_display(display_flag) &&
+         gt_querymatch_seed_q_display(display_flag) &&
+         gt_querymatch_seed_len_display(display_flag);
+}
+
+static int strcmp_ignore_ws(const char *s,const char *t)
+{
+  const char *sptr = s, *tptr = t;
+  while (true)
+  {
+    if (isspace(*sptr))
+    {
+      sptr++;
+    } else
+    {
+      if (isspace(*tptr))
+      {
+        tptr++;
+      } else
+      {
+        if (*sptr < *tptr)
+        {
+          return -1;
+        }
+        if (*sptr > *tptr)
+        {
+          return 1;
+        }
+        if (*sptr == '\0')
+        {
+          return 0;
+        }
+        sptr++;
+        tptr++;
+      }
+    }
+  }
+}
+
+static const GtSEdisplayStruct *gt_display_arg_get(char *copyspace,
+                                                   const char *str,
+                                                   size_t cmplen)
+{
+  char *copy = NULL;
+  const GtSEdisplayStruct *left = gt_display_arguments_table,
+                          *right = gt_display_arguments_table +
+                                   sizeof gt_display_arguments_table/
+                                   sizeof gt_display_arguments_table[0] - 1;
+
+  if (cmplen > 0)
+  {
+    copy = copyspace;
+    memcpy(copy,str,sizeof *copy * cmplen);
+    copy[cmplen] = '\0';
+  }
+  while (left <= right)
+  {
+    const GtSEdisplayStruct *mid = left + (right - left + 1)/2;
+    const int cmp = strcmp_ignore_ws(copy == NULL ? str : copy,mid->name);
+
+    if (cmp < 0)
+    {
+      right = mid - 1;
+    } else
+    {
+      if (cmp > 0)
+      {
+        left = mid + 1;
+      } else
+      {
+        return mid;
+      }
+    }
+  }
+  return NULL;
+}
+
+const unsigned int *gt_querymatch_display_order(GtUword *numcolumns,
+                                                const GtSeedExtendDisplayFlag
+                                                   *display_flag)
+{
+  gt_assert(display_flag != NULL);
+  *numcolumns = display_flag->nextfree;
+  return &display_flag->order[0];
+}
+
+static void gt_querymatch_display_flag_add(GtSeedExtendDisplayFlag
+                                            *display_flag,
+                                           GtSeedExtendDisplay_enum flag)
+{
+  const uint64_t mask = gt_display_mask(flag);
+
+  gt_assert(display_flag != NULL);
+  if ((display_flag->flags & mask) == 0)
+  {
+    display_flag->flags |= mask;
+    gt_assert(flag <= GT_DISPLAY_LARGEST_FLAG);
+    if (gt_display_arguments_table[gt_display_flag2index[flag]].incolumn)
+    {
+      gt_assert(display_flag->nextfree <= GT_DISPLAY_LARGEST_FLAG);
+      display_flag->order[display_flag->nextfree++] = flag;
+    }
+  }
+}
+
+GtUword gt_querymatch_display_alignmentwidth(const GtSeedExtendDisplayFlag
+                                                *display_flag)
+{
+  return (display_flag == NULL) ? 0 : display_flag->alignmentwidth;
+}
+
+GtUword gt_querymatch_trace_delta_display(const GtSeedExtendDisplayFlag
+                                                *display_flag)
+{
+  return (display_flag == NULL) ? 0 : display_flag->trace_delta;
+}
+
+bool gt_querymatch_alignment_display(const GtSeedExtendDisplayFlag
+                                     *display_flag)
+{
+  return (display_flag != NULL &&
+          display_flag->alignmentwidth > 0) ? true : false;
+}
+
+#define GT_SE_ASSERT_DISPLAY_ID(PTR,ID)\
+        if ((PTR) == NULL)\
+        {\
+          fprintf(stderr,"%s, %d: illegal identifier %s\n",\
+                  __FILE__,__LINE__,ID);\
+          exit(GT_EXIT_PROGRAMMING_ERROR);\
+        }
+
+static int gt_querymatch_display_flag_set(char *copyspace,
+                                          GtWord *parameter,
+                                          GtSeedExtendDisplayFlag *display_flag,
+                                          const char *arg,
+                                          GtError *err)
+{
+  const char *exclude_list[] = {"alignment","cigar",
+                                "alignment","cigarX",
+                                "cigar","cigarX",
+                                "blast","custom",
+                                "trace","alignment",
+                                "trace","cigar",
+                                "trace","cigarX",
+                                "dtrace","alignment",
+                                "dtrace","cigar",
+                                "dtrace","cigarX",
+                                "dtrace","trace",
+                                "gfa2","blast",
+                                "gfa2","alignment",
+                                "gfa2","custom",
+                                "gfa2","failed_seed",
+                                "gfa2","seed_in_algn"};
+  size_t ex_idx, numexcl = sizeof exclude_list/sizeof exclude_list[0];
+  const GtSEdisplayStruct *dstruct;
+  const char *ptr;
+  size_t cmplen = 0;
+
+  gt_assert(display_flag != NULL && numexcl % 2 == 0);
+  ptr = strchr(arg,'=');
+  if (ptr != NULL)
+  {
+    cmplen = (size_t) (ptr - arg);
+    if (sscanf(ptr+1,GT_WD,parameter) != 1)
+    {
+      gt_error_set(err,"illegal argument \"%s\" to option -outfmt: "
+                       "expect integer following symbol =",arg);
+      return -1;
+    }
+  }
+  dstruct = gt_display_arg_get(copyspace,arg,cmplen);
+  if (dstruct == NULL)
+  {
+    gt_error_set(err,"illegal identifier \"%s\" as argument of options "
+                     "-outfmt, possible identifiers are: %s",arg,
+                     GT_SE_POSSIBLE_DISPLAY_ARGS);
+    return -1;
+  }
+  gt_querymatch_display_flag_add(display_flag,dstruct->flag);
+  if (dstruct->flag == Gt_Seed_display)
+  {
+    gt_querymatch_display_flag_add(display_flag,Gt_Seed_len_display);
+    gt_querymatch_display_flag_add(display_flag,Gt_Seed_s_display);
+    gt_querymatch_display_flag_add(display_flag,Gt_Seed_q_display);
+  }
+  for (ex_idx = 0; ex_idx < numexcl; ex_idx+=2)
+  {
+    const GtSEdisplayStruct
+      *dstruct0 = gt_display_arg_get(NULL,exclude_list[ex_idx],0),
+      *dstruct1 = gt_display_arg_get(NULL,exclude_list[ex_idx+1],0);
+
+    GT_SE_ASSERT_DISPLAY_ID(dstruct0,exclude_list[ex_idx]);
+    GT_SE_ASSERT_DISPLAY_ID(dstruct1,exclude_list[ex_idx+1]);
+    if ((display_flag->flags & gt_display_mask(dstruct0->flag)) &&
+        (display_flag->flags & gt_display_mask(dstruct1->flag)))
+    {
+      gt_error_set(err,"argument \"%s\" and \"%s\" of option -outfmt exclude "
+                       "each other",exclude_list[ex_idx],
+                                    exclude_list[ex_idx+1]);
+      return -1;
+    }
+  }
+  return cmplen > 0 ? 1 : 0;
+}
+
+void gt_querymatch_display_flag_delete(GtSeedExtendDisplayFlag *display_flag)
+{
+  if (display_flag != NULL)
+  {
+    gt_free(display_flag);
+  }
+}
+
+static void gt_querymatch_display_multi_flag_add(
+                                  GtSeedExtendDisplayFlag *display_flag,
+                                  const GtSeedExtendDisplay_enum *flag_enum,
+                                  size_t numflags)
+{
+  size_t fidx;
+
+  for (fidx = 0; fidx < numflags; fidx++)
+  {
+    gt_querymatch_display_flag_add(display_flag,flag_enum[fidx]);
+  }
+}
+
+static bool gt_querymatch_display_args_contain(const GtStrArray *display_args,
+                                               const char *keyword)
+{
+  GtUword idx;
+
+  for (idx = 0; idx < gt_str_array_size(display_args); idx++)
+  {
+    if (strcmp_ignore_ws(gt_str_array_get(display_args,idx),keyword) == 0)
+    {
+      return true;
+    }
+  }
+  return false;
+}
+
+static int gt_querymatch_options_order_check(
+                 const GtSeedExtendDisplayFlag *display_flag,
+                 size_t num_gfa2_default_flags,
+                 GtError *err)
+{
+  GtUword idx, num_columns;
+  bool trace_or_cigar_found = false;
+  const unsigned int *order = gt_querymatch_display_order(&num_columns,
+                                                          display_flag);
+
+  if (!gt_querymatch_trace_display(display_flag) &&
+      !gt_querymatch_cigar_display(display_flag))
+  {
+    gt_error_set(err,"for gfa2 output specify either trace or cigar as "
+                     "argument of option -outfmt");
+    return -1;
+  }
+  gt_assert((GtUword) num_gfa2_default_flags < num_columns);
+  for (idx = num_gfa2_default_flags; idx < num_columns; idx++)
+  {
+    if (order[idx] == Gt_Trace_display || order[idx] == Gt_Cigar_display)
+    {
+      trace_or_cigar_found = true;
+    } else
+    {
+      if (!trace_or_cigar_found)
+      {
+        const unsigned int display_arg_num = gt_display_flag2index[order[idx]];
+
+        gt_error_set(err,"for gfa2 output in the list of argument to option "
+                         "-outfmt the keyword \"%s\" must come after trace "
+                         "or cigar",
+                         gt_display_arguments_table[display_arg_num].name);
+        return -1;
+      }
+    }
+  }
+  return 0;
+}
+
+GtSeedExtendDisplayFlag *gt_querymatch_display_flag_new(
+                           const GtStrArray *display_args,
+                           GtSeedExtendDisplaySetMode setmode,
+                           GtError *err)
+{
+  GtSeedExtendDisplayFlag *display_flag = gt_malloc(sizeof *display_flag);
+  char copyspace[GT_MAX_DISPLAY_FLAG_LENGTH+1];
+  bool haserr = false;
+  size_t num_gfa2_default_flags = 0;
+  GtUword da_idx;
+  const uint64_t trace_mask = gt_display_mask(Gt_Trace_display) |
+                              gt_display_mask(Gt_Dtrace_display);
+  /* required implications:
+      mandatory: S_seqnum, Q_seqnum, S_start, Q_start
+                 either editdist or score
+      either S_len or S_end must be set
+      either Q_len or Q_end must be set
+      if Strand is not set, then order of Q_start and Q_end gives strand
+  */
+  display_flag->alignmentwidth = 0;
+  display_flag->trace_delta = 0;
+  display_flag->nextfree = 0;
+  display_flag->flags = 0;
+  if (setmode != GT_SEED_EXTEND_DISPLAY_SET_NO)
+  {
+    if (gt_querymatch_display_args_contain(display_args,"blast"))
+    {
+      GtSeedExtendDisplay_enum blast_flags[] =
+      {
+        Gt_Queryid_display,
+        Gt_Subjectid_display,
+        Gt_Identity_display,
+        Gt_Alignmentlength_display,
+        Gt_Mismatches_display,
+        Gt_Gapopens_display,
+        Gt_Q_start_display,
+        Gt_Q_end_display,
+        Gt_S_start_display,
+        Gt_S_end_display,
+        Gt_Evalue_display,
+        Gt_Bitscore_display
+      };
+      gt_querymatch_display_multi_flag_add(display_flag,blast_flags,
+                                           sizeof blast_flags/
+                                           sizeof blast_flags[0]);
+    } else
+    {
+      if (gt_querymatch_display_args_contain(display_args,"gfa2"))
+      {
+        GtSeedExtendDisplay_enum gfa2_flags[] =
+        {
+          Gt_S_seqnum_display,
+          Gt_Q_seqnum_display,
+          Gt_S_start_display,
+          Gt_S_end_display,
+          Gt_Q_start_display,
+          Gt_Q_end_display
+        };
+        gt_querymatch_display_multi_flag_add(display_flag,gfa2_flags,
+                                             sizeof gfa2_flags/
+                                             sizeof gfa2_flags[0]);
+        num_gfa2_default_flags = sizeof gfa2_flags/sizeof gfa2_flags[0];
+      } else
+      {
+        if (!gt_querymatch_display_args_contain(display_args,"custom"))
+        {
+          if (setmode == GT_SEED_EXTEND_DISPLAY_SET_STANDARD)
+          {
+            GtSeedExtendDisplay_enum standard_flags[] =
+            {
+              Gt_S_len_display,
+              Gt_S_seqnum_display,
+              Gt_S_start_display,
+              Gt_Strand_display,
+              Gt_Q_len_display,
+              Gt_Q_seqnum_display,
+              Gt_Q_start_display,
+              Gt_Score_display,
+              Gt_Editdist_display,
+              Gt_Identity_display
+            };
+            gt_querymatch_display_multi_flag_add(display_flag,standard_flags,
+                                                 sizeof standard_flags/
+                                                 sizeof standard_flags[0]);
+          } else
+          {
+
+            gt_assert(setmode == GT_SEED_EXTEND_DISPLAY_SET_EXACT);
+            GtSeedExtendDisplay_enum exact_flags[] =
+            {
+              Gt_S_len_display,
+              Gt_S_seqnum_display,
+              Gt_S_start_display,
+              Gt_Strand_display,
+              Gt_Q_len_display,
+              Gt_Q_seqnum_display,
+              Gt_Q_start_display
+            };
+            gt_querymatch_display_multi_flag_add(display_flag,exact_flags,
+                                                 sizeof exact_flags/
+                                                 sizeof exact_flags[0]);
+          }
+        }
+      }
+    }
+  }
+  for (da_idx = 0; da_idx < gt_str_array_size(display_args); da_idx++)
+  {
+    const char *da = gt_str_array_get(display_args,da_idx);
+    GtWord parameter;
+    int ret = gt_querymatch_display_flag_set(copyspace,&parameter,
+                                             display_flag,da,err);
+
+    if (ret == -1)
+    {
+      haserr = true;
+      break;
+    }
+    if (ret == 1)
+    {
+      /* the only flag with a parameter is Gt_Alignment_display */
+      if (parameter < 0)
+      {
+        const char *key;
+
+        if (display_flag->flags & gt_display_mask(Gt_Alignment_display))
+        {
+          key = "alignment";
+        } else
+        {
+          if (display_flag->flags & gt_display_mask(Gt_Trace_display))
+          {
+            key = "trace";
+          } else
+          {
+            gt_assert(display_flag->flags & gt_display_mask(Gt_Dtrace_display));
+            key = "dtrace";
+          }
+        }
+        gt_error_set(err,"integer following \"%s=\" must be positive",key);
+        haserr = true;
+        break;
+      }
+      if (display_flag->flags & gt_display_mask(Gt_Alignment_display))
+      {
+        display_flag->alignmentwidth = (GtUword) parameter;
+      } else
+      {
+        gt_assert (display_flag->flags & trace_mask);
+        display_flag->trace_delta = (GtUword) parameter;
+      }
+    }
+  }
+  if (!haserr)
+  {
+    if ((display_flag->flags & gt_display_mask(Gt_Alignment_display)) &&
+         display_flag->alignmentwidth == 0)
+    {
+      display_flag->alignmentwidth = GT_SEED_EXTEND_DEFAULT_ALIGNMENT_WIDTH;
+    }
+    if ((display_flag->flags & trace_mask) && display_flag->trace_delta == 0)
+    {
+      display_flag->trace_delta = GT_SEED_EXTEND_DEFAULT_TRACE_DELTA;
+    }
+  }
+  if (!haserr && num_gfa2_default_flags > 0)
+  {
+    if (gt_querymatch_options_order_check(display_flag,
+                                          num_gfa2_default_flags,err) != 0)
+    {
+      haserr = true;
+    }
+  }
+  if (haserr)
+  {
+    gt_querymatch_display_flag_delete(display_flag);
+    return NULL;
+  }
+  return display_flag;
+}
+
+void gt_querymatch_Options_output(FILE *stream,int argc,const char **argv,
+                                  bool idhistout,GtUword minidentity,
+                                  GtUword historysize)
+{
+  int idx;
+  bool minid_out = false, history_out = false;
+
+  fprintf(stream,"# Options:");
+  for (idx = 1; idx < argc; idx++) {
+    if (strcmp(argv[idx],"-minidentity") == 0) {
+      minid_out = true;
+    }
+    if (strcmp(argv[idx],"-history") == 0) {
+      history_out = true;
+    }
+    fprintf(stream," %s", argv[idx]);
+  }
+  if (idhistout)
+  {
+    if (!minid_out)
+    {
+      fprintf(stream," -minidentity " GT_WU,minidentity);
+    }
+    if (!history_out)
+    {
+      fprintf(stream," -history " GT_WU,historysize);
+    }
+  }
+  fputc('\n',stream);
+}
+
+static void gt_querymatch_display_keyword_out(FILE *stream,const char *s)
+{
+  const char *sptr;
+
+  for (sptr = s; *sptr != '\0'; sptr++)
+  {
+    if (*sptr == '.')
+    {
+      fprintf(stream,". ");
+    } else
+    {
+      fputc(*sptr,stream);
+    }
+  }
+}
+
+void gt_querymatch_Fields_output(FILE *stream,
+                                 const GtSeedExtendDisplayFlag *display_flag)
+{
+  const unsigned int *column_order;
+  GtUword numcolumns, idx;
+
+  gt_assert(display_flag != NULL);
+  column_order = gt_querymatch_display_order(&numcolumns,display_flag);
+  gt_assert(numcolumns > 0);
+  fprintf(stream,"# Fields: ");
+  gt_assert(numcolumns <= GT_DISPLAY_LARGEST_FLAG);
+  for (idx = 0; idx < numcolumns; idx++)
+  {
+    unsigned int argnum, flag = column_order[idx];
+    gt_assert(flag < sizeof gt_display_flag2index/
+                     sizeof gt_display_flag2index[0]);
+    argnum = gt_display_flag2index[flag];
+    gt_assert(argnum < sizeof gt_display_arguments_table/
+                       sizeof gt_display_arguments_table[0]);
+    if (flag == Gt_Identity_display)
+    {
+      fprintf(stream,"%% %s",gt_display_arguments_table[argnum].name);
+    } else
+    {
+      gt_querymatch_display_keyword_out(stream,
+                                        gt_display_arguments_table[argnum].
+                                          name);
+    }
+    fprintf(stream,"%s",idx < numcolumns - 1 ? ", " : "\n");
+  }
+}
+
+const char *gt_querymatch_flag2name(GtSeedExtendDisplay_enum flag)
+{
+  gt_assert(flag <= GT_DISPLAY_LARGEST_FLAG);
+  return gt_display_arguments_table[gt_display_flag2index[flag]].name;
+}
+
+GtStrArray *gt_querymatch_read_Fields_line(const char *line_ptr)
+{
+  const char *header = "# Fields:", *ptr, *last_start;
+  const size_t header_len = strlen(header);
+  GtStrArray *fields;
+
+  if (strncmp(header,line_ptr,header_len) != 0)
+  {
+    return NULL;
+  }
+  fields = gt_str_array_new();
+  for (last_start = ptr = line_ptr + header_len + 1; /* Nothing */; ptr++)
+  {
+    if (*ptr == ',' || *ptr == '\0')
+    {
+      GtUword len_arg;
+
+      if (*last_start == '%')
+      {
+        last_start += 2;
+      }
+      len_arg = (size_t) (ptr - last_start);
+      gt_str_array_add_cstr_nt(fields, last_start, len_arg);
+      last_start = ptr + 2;
+    }
+    if (*ptr == '\0')
+    {
+      break;
+    }
+  }
+  return fields;
+}
diff --git a/src/match/querymatch-display.h b/src/match/querymatch-display.h
new file mode 100644
index 0000000..fccc434
--- /dev/null
+++ b/src/match/querymatch-display.h
@@ -0,0 +1,67 @@
+/*
+  Copyright (c) 2007-2017 Stefan Kurtz <kurtz at zbh.uni-hamburg.de>
+  Copyright (c) 2007-2017 Center for Bioinformatics, University of Hamburg
+
+  Permission to use, copy, modify, and distribute this software for any
+  purpose with or without fee is hereby granted, provided that the above
+  copyright notice and this permission notice appear in all copies.
+
+  THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+  WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+  MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+  ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+  WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+  ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+  OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+*/
+
+#ifndef QUERYMATCH_DISPLAY_H
+#define QUERYMATCH_DISPLAY_H
+#include <stdbool.h>
+#include "core/str_array_api.h"
+#include "core/error_api.h"
+
+typedef struct GtSeedExtendDisplayFlag GtSeedExtendDisplayFlag;
+
+typedef enum
+{
+  GT_SEED_EXTEND_DISPLAY_SET_NO,
+  GT_SEED_EXTEND_DISPLAY_SET_STANDARD,
+  GT_SEED_EXTEND_DISPLAY_SET_EXACT
+} GtSeedExtendDisplaySetMode;
+
+GtSeedExtendDisplayFlag *gt_querymatch_display_flag_new(
+                           const GtStrArray *display_args,
+                           GtSeedExtendDisplaySetMode setmode,
+                           GtError *err);
+
+void gt_querymatch_display_flag_delete(GtSeedExtendDisplayFlag *display_flag);
+
+void gt_querymatch_Fields_output(FILE *stream,
+                                 const GtSeedExtendDisplayFlag *display_flag);
+
+void gt_querymatch_Options_output(FILE *stream,int argc,const char **argv,
+                                  bool idhistout,GtUword minidentity,
+                                  GtUword historysize);
+
+const unsigned int *gt_querymatch_display_order(GtUword *numcolumns,
+                                                const GtSeedExtendDisplayFlag
+                                                   *display_flag);
+
+const char *gt_querymatch_display_help(void);
+
+bool gt_querymatch_alignment_display(const GtSeedExtendDisplayFlag *);
+
+GtUword gt_querymatch_display_alignmentwidth(const GtSeedExtendDisplayFlag *);
+
+GtUword gt_querymatch_trace_delta_display(const GtSeedExtendDisplayFlag *);
+
+#include "match/se-display-fwd.inc"
+
+const char *gt_querymatch_flag2name(GtSeedExtendDisplay_enum flag);
+
+bool gt_querymatch_has_seed(const GtSeedExtendDisplayFlag *display_flag);
+
+GtStrArray *gt_querymatch_read_Fields_line(const char *line_ptr);
+
+#endif
diff --git a/src/match/querymatch.c b/src/match/querymatch.c
index 9998ddb..5870e59 100644
--- a/src/match/querymatch.c
+++ b/src/match/querymatch.c
@@ -1,6 +1,6 @@
 /*
-  Copyright (c) 2007-2015 Stefan Kurtz <kurtz at zbh.uni-hamburg.de>
-  Copyright (c) 2007-2015 Center for Bioinformatics, University of Hamburg
+  Copyright (c) 2007-2017 Stefan Kurtz <kurtz at zbh.uni-hamburg.de>
+  Copyright (c) 2007-2017 Center for Bioinformatics, University of Hamburg
 
   Permission to use, copy, modify, and distribute this software for any
   purpose with or without fee is hereby granted, provided that the above
@@ -15,41 +15,47 @@
   OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 */
 
+#include <ctype.h>
+#include <float.h>
 #include "core/ma_api.h"
 #include "core/types_api.h"
 #include "core/readmode.h"
 #include "core/format64.h"
 #include "querymatch.h"
 #include "querymatch-align.h"
-
-#define GT_QUERYMATCH_SEED_DISPLAY_FLAG 1U /* display seeds */
-#define GT_QUERYMATCH_SEQLENGTH_DISPLAY_FLAG (1U << 1) /* display seed length */
+#include "karlin_altschul_stat.h"
+#include "ft-eoplist.h"
+#include "revcompl.h"
 
 struct GtQuerymatch
 {
   GtUword
-    dblen, /* length of match in dbsequence */
-    querylen, /* same as dblen for exact matches */
-    dbstart, /* absolute start position of match in database seq */
-    querystart, /* start of match in query, relative to start of query */
-    distance, /* 0 for exact match, upper bound on optimal distance */
-    dbseqnum, /* sequence number of dbstart */
+    dbseqnum, /* sequence number database sequence */
     dbstart_relative, /* start position of match in dbsequence
                          relative to start of sequence */
+    dblen, /* length of match in dbsequence */
+    db_seqlen, /* length of single database sequence */
+    db_seqstart, /* start of database sequence */
+    queryseqnum, /* ordinal number of match in query */
+    querystart, /* start of match in query, relative to start of query */
     querystart_fwdstrand, /* relative start of query on forward strand */
-    query_totallength, /* length of single query sequence */
-    dbseqlen, /* length of single database sequence */
-    seedpos1,
-    seedpos2,
-    seedlen;
+    querylen, /* length of match on query */
+    query_seqlen, /* length of single query sequence */
+    query_seqstart, /* start of query sequence,
+                       0 if sequence is byte sequence */
+    db_seedpos_rel, /* relative position of seed on db */
+    query_seedpos_rel, /* relative position of seed on query */
+    seedlen,
+    distance, /* 0 for exact match, upper bound on optimal distance */
+    mismatches;
   GtWord score; /* 0 for exact match */
-  uint64_t queryseqnum; /* ordinal number of match in query */
   GtReadmode query_readmode; /* readmode of query sequence */
   bool selfmatch, verify_alignment;
-  unsigned int display_flag;
   GtQuerymatchoutoptions *ref_querymatchoutoptions; /* reference to
       resources needed for alignment output */
   FILE *fp;
+  const char *db_desc, *query_desc;
+  GtEoplist *ref_eoplist;
 };
 
 GtQuerymatch *gt_querymatch_new(void)
@@ -58,10 +64,12 @@ GtQuerymatch *gt_querymatch_new(void)
 
   gt_assert(querymatch != NULL);
   querymatch->ref_querymatchoutoptions = NULL;
-  querymatch->display_flag = 0;
   querymatch->verify_alignment = false;
   querymatch->query_readmode = GT_READMODE_FORWARD;
   querymatch->fp = stdout;
+  querymatch->queryseqnum = GT_UWORD_MAX;
+  querymatch->db_desc = NULL;
+  querymatch->query_desc = NULL;
   return querymatch;
 }
 
@@ -77,8 +85,10 @@ void gt_querymatch_table_add(GtArrayGtQuerymatch *querymatch_table,
 void gt_querymatch_outoptions_set(GtQuerymatch *querymatch,
                 GtQuerymatchoutoptions *querymatchoutoptions)
 {
-  gt_assert(querymatch != NULL);
+  gt_assert(querymatch != NULL && querymatchoutoptions != NULL);
   querymatch->ref_querymatchoutoptions = querymatchoutoptions;
+  querymatch->ref_eoplist
+    = gt_querymatchoutoptions_eoplist(querymatchoutoptions);
 }
 
 void gt_querymatch_file_set(GtQuerymatch *querymatch, FILE *fp)
@@ -87,58 +97,217 @@ void gt_querymatch_file_set(GtQuerymatch *querymatch, FILE *fp)
   querymatch->fp = fp;
 }
 
-void gt_querymatch_display_set(GtQuerymatch *querymatch,
-                               unsigned int display_flag)
+GtUword gt_querymatch_querylen(const GtQuerymatch *querymatch)
 {
-  gt_assert(querymatch != NULL);
-  querymatch->display_flag = display_flag;
+  return querymatch->querylen;
 }
 
-unsigned int gt_querymatch_bool2display_flag(bool seed_display,
-                                             bool seqlength_display)
+GtUword gt_querymatch_dbstart(const GtQuerymatch *querymatch)
 {
-  return (unsigned int)
-         (seed_display ? GT_QUERYMATCH_SEED_DISPLAY_FLAG : 0) |
-         (seqlength_display ? GT_QUERYMATCH_SEQLENGTH_DISPLAY_FLAG : 0);
+  return querymatch->db_seqstart + querymatch->dbstart_relative;
 }
 
-bool gt_querymatch_seed_display(unsigned int display_flag)
+GtUword gt_querymatch_dbstart_relative(const GtQuerymatch *querymatch)
 {
-  return (display_flag & GT_QUERYMATCH_SEED_DISPLAY_FLAG) ? true : false;
+  return querymatch->dbstart_relative;
 }
 
-GtUword gt_querymatch_dbseqnum(const GtQuerymatch *querymatch)
+static GtUword gt_querymatch_dbend_relative(const GtQuerymatch *querymatch)
 {
-  gt_assert(querymatch != NULL);
-  return querymatch->dbseqnum;
+  return querymatch->dbstart_relative + querymatch->dblen - 1;
+}
+
+GtUword gt_querymatch_dblen(const GtQuerymatch *querymatch)
+{
+  return querymatch->dblen;
+}
+
+GtUword gt_querymatch_querystart(const GtQuerymatch *querymatch)
+{
+  return querymatch->querystart;
 }
 
-static GtUword gt_querymatch_querystart_derive(GtReadmode query_readmode,
-                                               GtUword querylen,
-                                               GtUword query_totallength,
-                                               GtUword querystart)
+static GtUword gt_querymatch_queryend_relative(const GtQuerymatch *querymatch)
+{
+  return querymatch->querystart + querymatch->querylen - 1;
+}
+
+static GtUword gt_querymatch_aligned_len(const GtQuerymatch *querymatch)
+{
+  return gt_querymatch_dblen(querymatch) + gt_querymatch_querylen(querymatch);
+}
+
+void gt_querymatch_db_coordinates(GtUword *db_seqnum,GtUword *db_seqstart,
+                                  GtUword *db_seqlen,
+                                  const GtQuerymatch *querymatch)
+{
+  *db_seqnum = querymatch->dbseqnum;
+  *db_seqstart = querymatch->db_seqstart;
+  *db_seqlen = querymatch->db_seqlen;
+}
+
+void gt_querymatch_query_coordinates(GtUword *query_seqnum,
+                                     GtUword *query_seqstart,
+                                     GtUword *query_seqlen,
+                                     const GtQuerymatch *querymatch)
+{
+  *query_seqnum = querymatch->queryseqnum;
+  *query_seqstart = querymatch->query_seqstart;
+  *query_seqlen = querymatch->query_seqlen;
+}
+
+void gt_querymatch_query_readmode_set(GtQuerymatch *querymatch,
+                                      GtReadmode query_readmode)
+{
+  querymatch->query_readmode = query_readmode;
+}
+
+void gt_querymatch_verify_alignment_set(GtQuerymatch *querymatch)
+{
+  querymatch->verify_alignment = true;
+}
+
+GtReadmode gt_querymatch_query_readmode(const GtQuerymatch *querymatch)
+{
+  return querymatch->query_readmode;
+}
+
+GtUword gt_querymatch_distance(const GtQuerymatch *querymatch)
+{
+  return querymatch->distance;
+}
+
+GtWord gt_querymatch_distance2score(GtUword distance,GtUword alignedlen)
+{
+  return ((GtWord) alignedlen) - (GtWord) (3 * distance);
+}
+
+double gt_querymatch_error_rate(GtUword distance,GtUword alignedlen)
+{
+  return 200.0 * (double) distance/alignedlen;
+}
+
+static GtUword gt_querymatch_position_convert(GtReadmode query_readmode,
+                                                GtUword matchlen,
+                                                GtUword seqlen,
+                                                GtUword position)
 {
   if (GT_ISDIRREVERSE(query_readmode))
   {
-    gt_assert(querystart + querylen <= query_totallength);
-    return query_totallength - querystart - querylen;
+    gt_assert(position + matchlen <= seqlen);
+    return seqlen - position - matchlen;
+  }
+  return position;
+}
+
+static GtUword gt_querymatch_matches_generic(GtUword aligned_len,
+                                             GtUword distance,
+                                             GtUword mismatches)
+{
+  gt_assert(aligned_len >= distance + mismatches);
+  return (aligned_len - distance - mismatches)/2;
+}
+
+static GtUword gt_querymatch_matches(const GtQuerymatch *querymatch)
+{
+  const GtUword aligned_len = gt_querymatch_aligned_len(querymatch);
+  return gt_querymatch_matches_generic(aligned_len,
+                                       querymatch->distance,
+                                       querymatch->mismatches);
+}
+
+static GtUword gt_querymatch_indels_generic(GtUword distance,GtUword mismatches)
+{
+  gt_assert(distance >= mismatches);
+  return distance - mismatches;
+}
+
+static GtUword gt_querymatch_indels(const GtQuerymatch *querymatch)
+{
+  return gt_querymatch_indels_generic(querymatch->distance,
+                                      querymatch->mismatches);
+}
+
+/*
+  alignment_length = mismatches +
+                     indels +
+                     matches
+                   = mismatches +
+                     distance - mimmatches +
+                     (aligned_len - distance - mismatches)/2
+                  = distance +
+                    (aligned_len - distance - mismatches)/2
+                  = (2 * distance + aligned_len - distance - mismatches)/2
+                  = (distance + aligned_len - mismatches)/2
+                  = (aligned_len - indels)/2
+*/
+
+static GtUword gt_querymatch_alignment_length(const GtQuerymatch *querymatch)
+{
+  return (gt_querymatch_aligned_len(querymatch) -
+          gt_querymatch_indels(querymatch))/2;
+}
+
+static void gt_querymatch_evalue_bit_score_generic(double *evalue_ptr,
+                                                   double *bit_score_ptr,
+                                                   const GtKarlinAltschulStat
+                                                     *karlin_altschul_stat,
+                                                   GtUword query_seqlen,
+                                                   GtUword matches,
+                                                   GtUword mismatches,
+                                                   GtUword indels)
+{
+  if (karlin_altschul_stat != NULL)
+  {
+    GtUword evalue_searchspace
+      = gt_evalue_searchspace(karlin_altschul_stat,query_seqlen);
+    GtWord raw_score = gt_evalue_raw_score(karlin_altschul_stat,
+                                           matches,
+                                           mismatches,
+                                           indels);
+    *evalue_ptr = gt_evalue_from_raw_score(karlin_altschul_stat,
+                                           raw_score,
+                                           evalue_searchspace);
+    *bit_score_ptr = gt_evalue_raw_score2bit_score(karlin_altschul_stat,
+                                                   raw_score);
+    gt_assert(*evalue_ptr != DBL_MAX && *bit_score_ptr != DBL_MAX);
   }
-  return querystart;
+}
+
+static void gt_querymatch_evalue_bit_score(double *evalue_ptr,
+                                           double *bit_score_ptr,
+                                           const GtKarlinAltschulStat
+                                             *karlin_altschul_stat,
+                                           const GtQuerymatch *querymatch)
+{
+  return gt_querymatch_evalue_bit_score_generic(evalue_ptr,
+                                                bit_score_ptr,
+                                                karlin_altschul_stat,
+                                                querymatch->query_seqlen,
+                                                gt_querymatch_matches(
+                                                  querymatch),
+                                                querymatch->mismatches,
+                                                gt_querymatch_indels(
+                                                  querymatch));
 }
 
 void gt_querymatch_init(GtQuerymatch *querymatch,
                         GtUword dblen,
-                        GtUword dbstart,
                         GtUword dbseqnum,
                         GtUword dbstart_relative,
-                        GtUword dbseqlen,
+                        GtUword db_seqstart,
+                        GtUword db_seqlen,
                         GtWord score,
                         GtUword distance,
+                        GtUword mismatches,
                         bool selfmatch,
-                        uint64_t queryseqnum,
+                        GtUword queryseqnum,
                         GtUword querylen,
                         GtUword querystart,
-                        GtUword query_totallength)
+                        GtUword query_seqstart,
+                        GtUword query_seqlen,
+                        const char *db_desc,
+                        const char *query_desc)
 {
   gt_assert(querymatch != NULL);
   querymatch->dblen = dblen;
@@ -148,17 +317,21 @@ void gt_querymatch_init(GtQuerymatch *querymatch,
   querymatch->querylen = querylen;
   querymatch->querystart = querystart;
   querymatch->dbseqnum = dbseqnum;
+  querymatch->mismatches = mismatches;
   querymatch->dbstart_relative = dbstart_relative;
   gt_assert((int) querymatch->query_readmode < 4);
-  querymatch->dbstart = dbstart;
   querymatch->selfmatch = selfmatch;
+  querymatch->query_seqlen = query_seqlen;
   querymatch->querystart_fwdstrand
-    = gt_querymatch_querystart_derive(querymatch->query_readmode,
-                                      querylen,
-                                      query_totallength,
-                                      querymatch->querystart);
-  querymatch->query_totallength = query_totallength;
-  querymatch->dbseqlen = dbseqlen;
+    = gt_querymatch_position_convert(querymatch->query_readmode,
+                                     querymatch->querylen,
+                                     querymatch->query_seqlen,
+                                     querymatch->querystart);
+  querymatch->query_seqstart = query_seqstart;
+  querymatch->db_seqstart = db_seqstart;
+  querymatch->db_seqlen = db_seqlen;
+  querymatch->db_desc = db_desc;
+  querymatch->query_desc = query_desc;
 }
 
 void gt_querymatch_delete(GtQuerymatch *querymatch)
@@ -169,106 +342,477 @@ void gt_querymatch_delete(GtQuerymatch *querymatch)
   }
 }
 
-static bool gt_querymatch_okay(const GtQuerymatch *querymatch)
+static bool gt_querymatch_ordered(const GtQuerymatch *querymatch)
+{
+  return (!querymatch->selfmatch ||
+          querymatch->dbseqnum < querymatch->queryseqnum ||
+          (querymatch->dbseqnum == querymatch->queryseqnum &&
+           (querymatch->dbstart_relative <
+             (GT_ISDIRREVERSE(querymatch->query_readmode)
+                ? (querymatch->querystart_fwdstrand + 1)
+                : querymatch->querystart)))) ? true : false;
+}
+
+static double gt_querymatch_similarity(GtUword distance,GtUword aligned_len)
 {
-  if (!querymatch->selfmatch)
+  return 100.0 - gt_querymatch_error_rate(distance,aligned_len);
+}
+
+static int gt_non_white_space_prefix_length(const char *s)
+{
+  const char *sptr;
+
+  gt_assert(s != NULL);
+  for (sptr = s; !isspace(*sptr); sptr++)
   {
-    return true;
+    /* Nothing */ ;
   }
-  if (GT_ISDIRREVERSE(querymatch->query_readmode))
+  return (int) (sptr - s);
+}
+
+static const char *gt_seed_extend_outflag = "FRCP";
+
+static void gt_querymatch_description_out(FILE *fp,const char *description)
+{
+  const int nwspl = gt_non_white_space_prefix_length(description);
+
+  fwrite(description,sizeof *description,nwspl,fp);
+}
+
+static void gt_querymatch_exact_match_trace_show(FILE *fp,
+                                                 bool dtrace,
+                                                 GtUword remaining,
+                                                 GtUword trace_delta)
+{
+  bool first = true;
+
+  while (true)
   {
-    if ((uint64_t) querymatch->dbseqnum < querymatch->queryseqnum ||
-       ((uint64_t) querymatch->dbseqnum == querymatch->queryseqnum &&
-        querymatch->dbstart_relative <= querymatch->querystart_fwdstrand))
+    if (!first)
+    {
+      fputc(',',fp);
+    } else
     {
-      return true;
+      first = false;
     }
-  } else
-  {
-    if ((uint64_t) querymatch->dbseqnum < querymatch->queryseqnum ||
-       ((uint64_t) querymatch->dbseqnum == querymatch->queryseqnum &&
-        querymatch->dbstart_relative < querymatch->querystart_fwdstrand))
+    if (remaining > trace_delta)
+    {
+      fprintf(fp,GT_WU,dtrace ? 0 : trace_delta);
+      remaining -= trace_delta;
+    } else
     {
-      return true;
+      fprintf(fp,"%d",dtrace ? ((int) trace_delta - (int) remaining)
+                             : (int) remaining);
+      break;
     }
   }
-  return false;
 }
 
-void gt_querymatch_coordinates_out(const GtQuerymatch *querymatch)
+void gt_querymatch_gfa2_edge(const GtQuerymatch *querymatch,GtUword edgenum)
 {
-  const char *outflag = "FRCP";
+  fprintf(querymatch->fp,"E\t" GT_WU "\t",edgenum);
+}
 
-  gt_assert(querymatch != NULL);
-  if (querymatch->display_flag & GT_QUERYMATCH_SEED_DISPLAY_FLAG)
+void gt_querymatch_prettyprint(double evalue,double bit_score,
+                               const GtSeedExtendDisplayFlag *out_display_flag,
+                               const GtQuerymatch *querymatch)
+{
+  const unsigned int *column_order;
+  GtUword numcolumns, idx, one_off;
+  char separator;
+  bool gfa2_display;
+
+  gt_assert(querymatch != NULL && querymatch->fp != NULL &&
+            out_display_flag != NULL);
+  gfa2_display = gt_querymatch_gfa2_display(out_display_flag);
+  column_order = gt_querymatch_display_order(&numcolumns,out_display_flag);
+  gt_assert(numcolumns > 0);
+  one_off = gt_querymatch_blast_display(out_display_flag) ? 1 : 0;
+  separator = (gt_querymatch_blast_display(out_display_flag) ||
+               gt_querymatch_tabsep_display(out_display_flag) ||
+               gfa2_display) ? '\t' : ' ';
+  for (idx = 0; idx < numcolumns; idx++)
   {
-    fprintf(querymatch->fp, "# seed:\t" GT_WU "\t" GT_WU "\t" GT_WU "\n",
-            querymatch->seedpos1, querymatch->seedpos2, querymatch->seedlen);
+    const unsigned int co = column_order[idx];
+    bool dtrace;
+
+    if (idx > 0 && (querymatch->score > 0 ||
+                   (co != Gt_Score_display &&
+                    co != Gt_Editdist_display &&
+                    co != Gt_Identity_display)))
+    {
+      fputc(separator,querymatch->fp);
+    }
+    switch (co)
+    {
+      case Gt_Cigar_display:
+      case Gt_Cigarx_display:
+        if (querymatch->distance > 0)
+        {
+          gt_querymatchoutoptions_cigar_show(
+                                     querymatch->ref_querymatchoutoptions,
+                                     co == Gt_Cigar_display ? false : true,
+                                     querymatch->fp);
+        } else
+        {
+          fprintf(querymatch->fp,GT_WU "%c",gt_querymatch_dblen(querymatch),
+                                            co == Gt_Cigar_display ? 'M' : '=');
+        }
+        break;
+      case Gt_Trace_display:
+      case Gt_Dtrace_display:
+        dtrace = co == Gt_Dtrace_display ? true : false;
+        if (querymatch->distance > 0)
+        {
+          gt_querymatchoutoptions_trace_show(
+                                querymatch->ref_querymatchoutoptions,
+                                dtrace,
+                                querymatch->fp);
+        } else
+        {
+          gt_querymatch_exact_match_trace_show(querymatch->fp,
+                                               dtrace,
+                                               gt_querymatch_dblen(querymatch),
+                                               gt_querymatch_trace_delta_display
+                                                  (out_display_flag));
+        }
+        break;
+      case Gt_S_len_display:
+        fprintf(querymatch->fp,GT_WU,gt_querymatch_dblen(querymatch));
+        break;
+      case Gt_S_seqnum_display:
+        if (gfa2_display)
+        {
+          fputc('S',querymatch->fp);
+        }
+        fprintf(querymatch->fp,GT_WU,querymatch->dbseqnum);
+        if (gfa2_display)
+        {
+          fputc('+',querymatch->fp);
+        }
+        break;
+      case Gt_Subjectid_display:
+        gt_querymatch_description_out(querymatch->fp,querymatch->db_desc);
+        break;
+      case Gt_S_start_display:
+        if (!GT_ISDIRREVERSE(querymatch->query_readmode) ||
+            !gt_querymatch_blast_display(out_display_flag))
+        {
+          fprintf(querymatch->fp,GT_WU,querymatch->dbstart_relative + one_off);
+        } else
+        {
+          fprintf(querymatch->fp,GT_WU,querymatch->db_seqlen - 1 -
+                                       querymatch->dbstart_relative + one_off);
+        }
+        break;
+      case Gt_S_end_display:
+        if (!GT_ISDIRREVERSE(querymatch->query_readmode) ||
+            !gt_querymatch_blast_display(out_display_flag))
+        {
+          fprintf(querymatch->fp,GT_WU,
+                  gt_querymatch_dbend_relative(querymatch) + one_off);
+        } else
+        {
+          gt_assert(querymatch->db_seqlen >= querymatch->dbstart_relative +
+                                             querymatch->dblen);
+          fprintf(querymatch->fp,GT_WU,querymatch->db_seqlen -
+                                       querymatch->dbstart_relative -
+                                       querymatch->dblen + one_off);
+        }
+        break;
+      case Gt_Strand_display:
+        fprintf(querymatch->fp,"%c",
+                gt_seed_extend_outflag[querymatch->query_readmode]);
+        break;
+      case Gt_Q_len_display:
+        fprintf(querymatch->fp,GT_WU,gt_querymatch_querylen(querymatch));
+        break;
+      case Gt_Q_seqnum_display:
+        if (gfa2_display)
+        {
+          fputc(querymatch->selfmatch ? 'S' : 'Q',querymatch->fp);
+        }
+        fprintf(querymatch->fp,GT_WU,querymatch->queryseqnum);
+        if (gfa2_display)
+        {
+          fputc(GT_ISDIRREVERSE(querymatch->query_readmode) ? '-' : '+',
+                querymatch->fp);
+        }
+        break;
+      case Gt_Queryid_display:
+        gt_querymatch_description_out(querymatch->fp,querymatch->query_desc);
+        break;
+      case Gt_Q_start_display:
+        fprintf(querymatch->fp,GT_WU,querymatch->querystart_fwdstrand
+                                     + one_off);
+        break;
+      case Gt_Q_end_display:
+        if (!gt_querymatch_gfa2_display(out_display_flag) &&
+            (!GT_ISDIRREVERSE(querymatch->query_readmode) ||
+             !gt_querymatch_blast_display(out_display_flag)))
+        {
+          fprintf(querymatch->fp,GT_WU,
+                  gt_querymatch_queryend_relative(querymatch) + one_off);
+        } else
+        {
+          fprintf(querymatch->fp,GT_WU,
+                  querymatch->querystart_fwdstrand + querymatch->querylen - 1
+                                                   + one_off);
+        }
+        break;
+      case Gt_Alignmentlength_display:
+        fprintf(querymatch->fp,GT_WU,
+                gt_querymatch_alignment_length(querymatch));
+        break;
+      case Gt_Mismatches_display:
+        if (gfa2_display)
+        {
+          fprintf(querymatch->fp,"MM:i:");
+        }
+        fprintf(querymatch->fp,GT_WU,querymatch->mismatches);
+        break;
+      case Gt_Indels_display:
+      case Gt_Gapopens_display:
+        if (gfa2_display)
+        {
+          fprintf(querymatch->fp,"IN:i:");
+        }
+        fprintf(querymatch->fp,GT_WU,gt_querymatch_indels(querymatch));
+        break;
+      case Gt_Score_display:
+        if (querymatch->score > 0)
+        {
+          fprintf(querymatch->fp,GT_WD,querymatch->score);
+        }
+        break;
+      case Gt_Editdist_display:
+        if (gfa2_display)
+        {
+          fprintf(querymatch->fp,"ED:i:");
+        }
+        if (querymatch->score > 0)
+        {
+          fprintf(querymatch->fp,GT_WU,querymatch->distance);
+        }
+        break;
+      case Gt_Identity_display:
+        if (querymatch->score > 0)
+        {
+          if (gfa2_display)
+          {
+            fprintf(querymatch->fp,"ID:f:");
+          }
+          fprintf(querymatch->fp,"%.2f",
+                  gt_querymatch_similarity(
+                       querymatch->distance,
+                       gt_querymatch_aligned_len(querymatch)));
+        }
+        break;
+      case Gt_Seed_len_display:
+        fprintf(querymatch->fp,GT_WU,querymatch->seedlen);
+        break;
+      case Gt_Seed_s_display:
+        fprintf(querymatch->fp,GT_WU,querymatch->db_seedpos_rel + one_off);
+        break;
+      case Gt_Seed_q_display:
+        fprintf(querymatch->fp,GT_WU,querymatch->query_seedpos_rel + one_off);
+        break;
+      case Gt_S_seqlen_display:
+        fprintf(querymatch->fp,GT_WU,querymatch->db_seqlen);
+        break;
+      case Gt_Q_seqlen_display:
+        fprintf(querymatch->fp,GT_WU,querymatch->query_seqlen);
+        break;
+      case Gt_Evalue_display:
+        gt_assert(evalue != DBL_MAX);
+        fprintf(querymatch->fp,"%1.0e",evalue);
+        break;
+      case Gt_Bitscore_display:
+        gt_assert(bit_score != DBL_MAX);
+        fprintf(querymatch->fp,"%.1f",bit_score);
+        break;
+      default: fprintf(stderr,"function %s, file %s, line %d: "
+                               "illegal column %u\n",__func__,__FILE__,
+                               __LINE__,column_order[idx]);
+               exit(GT_EXIT_PROGRAMMING_ERROR);
+    }
   }
-  fprintf(querymatch->fp,
-          GT_WU " " GT_WU " " GT_WU " %c " GT_WU " " Formatuint64_t " " GT_WU,
-          querymatch->dblen,
-          querymatch->dbseqnum,
-          querymatch->dbstart_relative,
-          outflag[querymatch->query_readmode],
-          querymatch->querylen,
-          PRINTuint64_tcast(querymatch->queryseqnum),
-          querymatch->querystart_fwdstrand);
-  if (querymatch->score > 0)
+  fputc('\n',querymatch->fp);
+  if (gt_querymatch_alignment_display(out_display_flag))
   {
-    double similarity;
+    bool subject_first = true,
+         alignment_show_forward = true,
+         show_complement_characters = false,
+         distinguish_mismatch_match = true;
+    GtUword subject_seqlength = 0, query_reference = 0;
 
-    if (querymatch->distance == 0)
+    if (gt_querymatch_blast_display(out_display_flag))
     {
-      similarity = 100.0;
-    } else
-    {
-      similarity = 100.0 - gt_querymatch_error_rate(querymatch->distance,
-                                                    querymatch->dblen +
-                                                    querymatch->querylen);
+      subject_first = false;
+      if (GT_ISDIRREVERSE(querymatch->query_readmode))
+      {
+        alignment_show_forward = false;
+        if (GT_ISDIRCOMPLEMENT(querymatch->query_readmode))
+        {
+          subject_seqlength = querymatch->db_seqlen;
+          gt_assert(querymatch->query_seqlen >= querymatch->querylen);
+          query_reference = querymatch->query_seqlen - querymatch->querylen;
+        }
+      }
+      if (GT_ISDIRCOMPLEMENT(querymatch->query_readmode))
+      {
+        show_complement_characters = true;
+      }
     }
-    fprintf(querymatch->fp, " " GT_WD " " GT_WU " %.2f",
-            querymatch->score, querymatch->distance, similarity);
+    gt_querymatchoutoptions_alignment_show(querymatch->ref_querymatchoutoptions,
+                                           subject_seqlength,
+                                           query_reference,
+                                           one_off,
+                                           querymatch->distance,
+                                           distinguish_mismatch_match,
+                                           querymatch->verify_alignment,
+                                           subject_first,
+                                           alignment_show_forward,
+                                           show_complement_characters,
+                                           querymatch->fp);
   }
-  if (querymatch->display_flag & GT_QUERYMATCH_SEQLENGTH_DISPLAY_FLAG)
+}
+
+void gt_querymatch_show_failed_seed(const GtSeedExtendDisplayFlag
+                                       *out_display_flag,
+                                    const GtQuerymatch *querymatch)
+{
+  if (gt_querymatch_failed_seed_display(out_display_flag))
   {
-    fprintf(querymatch->fp, " " GT_WU " " GT_WU,
-            querymatch->dbseqlen, querymatch->query_totallength);
+    const char separator
+      = (gt_querymatch_blast_display(out_display_flag) ||
+         gt_querymatch_tabsep_display(out_display_flag)) ? '\t' : ' ';
+    fprintf(querymatch->fp, "# failed_seed:%c" GT_WU "%c" GT_WU "%c"  GT_WU
+                                   "%c%c%c" GT_WU "%c" GT_WU "\n",
+            separator,
+            querymatch->seedlen,
+            separator,
+            querymatch->dbseqnum,
+            separator,
+            querymatch->db_seedpos_rel,
+            separator,
+            gt_seed_extend_outflag[querymatch->query_readmode],
+            separator,
+            querymatch->queryseqnum,
+            separator,
+            querymatch->query_seedpos_rel);
   }
-  fprintf(querymatch->fp, "\n");
 }
 
-void gt_querymatch_prettyprint(const GtQuerymatch *querymatch)
+bool gt_querymatch_check_final_generic(
+                               double *evalue_ptr,
+                               double *bit_score_ptr,
+                               const GtKarlinAltschulStat *karlin_altschul_stat,
+                               GtUword query_seqlen,
+                               GtUword aligned_len,
+                               GtUword distance,
+                               GtUword mismatches,
+                               GtUword userdefinedleastlength,
+                               GtUword errorpercentage,
+                               double evalue_threshold,
+                               GT_UNUSED FILE *fp)
 {
-  if (gt_querymatch_okay(querymatch))
+#undef SKDEBUG
+#ifdef SKDEBUG
+  fprintf(fp, "# errorrate = %.2f <=? " GT_WU " = errorpercentage ",
+          gt_querymatch_error_rate(distance,aligned_len),
+          errorpercentage);
+#endif
+  if (gt_querymatch_error_rate(distance,aligned_len) > (double) errorpercentage)
   {
-    gt_querymatch_coordinates_out(querymatch);
-    gt_querymatchoutoptions_alignment_show(querymatch->ref_querymatchoutoptions,
-                                           querymatch->distance,
-                                           querymatch->verify_alignment,
-                                           querymatch->fp);
+#ifdef SKDEBUG
+    fprintf(fp, "false => reject\n");
+#endif
+    return false;
+  }
+#ifdef SKDEBUG
+  else
+  {
+    fprintf(fp, "true => accept\n");
+  }
+  fprintf(fp, "# aligned_len = " GT_WU " >=? " GT_WU
+         " = 2 * userdefinedleastlen ",
+         aligned_len, 2 * userdefinedleastlength);
+#endif
+  if (aligned_len < 2 * userdefinedleastlength)
+  {
+#ifdef SKDEBUG
+    fprintf(fp, "false => reject\n");
+#endif
+    return false;
+  }
+#ifdef SKDEBUG
+  fprintf(fp, "true => accept\n");
+#endif
+  if (karlin_altschul_stat != NULL)
+  {
+    const GtUword matches = gt_querymatch_matches_generic(aligned_len,
+                                                          distance,
+                                                          mismatches);
+    const GtUword indels = gt_querymatch_indels_generic(distance,mismatches);
+
+    gt_querymatch_evalue_bit_score_generic(evalue_ptr,bit_score_ptr,
+                                           karlin_altschul_stat,
+                                           query_seqlen,
+                                           matches,
+                                           mismatches,
+                                           indels);
+#ifdef SKDEBUG
+    fprintf(querymatch->fp, "# evalue_ptr = %.2e <=? %.2e = evalue_threshold ",
+                             *evalue_ptr,evalue_threshold);
+#endif
+    if (*evalue_ptr > evalue_threshold)
+    {
+#ifdef SKDEBUG
+      fprintf(fp, "false => reject\n");
+#endif
+      return false;
+    }
+#ifdef SKDEBUG
+    else
+    {
+      fprintf(fp, "true => accept\n");
+    }
+#endif
   }
+  return true;
 }
 
-bool gt_querymatch_check_final(const GtQuerymatch *querymatch,
+bool gt_querymatch_check_final(double *evalue_ptr,
+                               double *bit_score_ptr,
+                               const GtKarlinAltschulStat *karlin_altschul_stat,
+                               const GtQuerymatch *querymatch,
+                               GtUword userdefinedleastlength,
                                GtUword errorpercentage,
-                               GtUword userdefinedleastlength)
+                               double evalue_threshold)
 {
-  GtUword total_alignedlen;
+  GtUword aligned_len;
 
-  gt_assert(querymatch != NULL);
-  total_alignedlen = querymatch->dblen + querymatch->querylen;
+  if (!gt_querymatch_ordered(querymatch))
+  {
 #ifdef SKDEBUG
-  fprintf(querymatch->fp, "errorrate = %.2f <=? " GT_WU " = errorpercentage\n",
-          gt_querymatch_error_rate(querymatch->distance,total_alignedlen),
-          errorpercentage);
-  fprintf(querymatch->fp, "total_alignedlen = " GT_WU " >=? " GT_WU
-         " = 2 * userdefinedleastlen\n",
-         total_alignedlen, 2 * userdefinedleastlength);
+    fprintf(querymatch->fp, "# !gt_querymatch_ordered => reject\n");
 #endif
-  return (gt_querymatch_error_rate(querymatch->distance,total_alignedlen)
-          <= (double) errorpercentage &&
-         total_alignedlen >= 2 * userdefinedleastlength) ? true : false;
+    return false;
+  }
+  aligned_len = gt_querymatch_aligned_len(querymatch);
+  return gt_querymatch_check_final_generic(
+                               evalue_ptr,
+                               bit_score_ptr,
+                               karlin_altschul_stat,
+                               querymatch->query_seqlen,
+                               aligned_len,
+                               querymatch->distance,
+                               querymatch->mismatches,
+                               userdefinedleastlength,
+                               errorpercentage,
+                               evalue_threshold,
+                               querymatch->fp);
 }
 
 static void gt_querymatch_applycorrection(GtQuerymatch *querymatch)
@@ -281,80 +825,79 @@ static void gt_querymatch_applycorrection(GtQuerymatch *querymatch)
                                                   ref_querymatchoutoptions);
   gt_querymatch_init(querymatch,
                      coords->ulen,
-                     querymatch->dbstart + coords->uoffset,
                      querymatch->dbseqnum,
                      querymatch->dbstart_relative + coords->uoffset,
-                     querymatch->dbseqlen,
+                     querymatch->db_seqstart,
+                     querymatch->db_seqlen,
                      gt_querymatch_distance2score(coords->sumdist,
                                                   coords->ulen + coords->vlen),
                      coords->sumdist,
+                     coords->sum_max_mismatches,
                      querymatch->selfmatch,
                      querymatch->queryseqnum,
                      coords->vlen,
                      querymatch->querystart + coords->voffset,
-                     querymatch->query_totallength);
+                     querymatch->query_seqstart,
+                     querymatch->query_seqlen,
+                     querymatch->db_desc,
+                     querymatch->query_desc);
 }
 
-bool gt_querymatch_process(GtQuerymatch *querymatchptr,
-                           const GtEncseq *encseq,
-                           const GtSeqorEncseq *query,
-                           bool greedyextension)
+static void gt_querymatch_alignment_prepare(GtQuerymatch *querymatch,
+                                            const GtSeqorEncseq *dbes,
+                                            const GtSeqorEncseq *queryes,
+                                            bool greedyextension)
 {
-  if (!querymatchptr->selfmatch ||
-      (uint64_t) querymatchptr->dbseqnum != querymatchptr->queryseqnum ||
-      querymatchptr->dbstart_relative <= querymatchptr->querystart_fwdstrand)
-  {
-    if (querymatchptr->ref_querymatchoutoptions != NULL)
-    {
-      bool seededalignment;
-      GtUword query_seqstartpos;
-      GtUword abs_querystart_fwdstrand, abs_querystart;
+  bool seeded_alignment;
+  GtUword abs_querystart_fwdstrand;
 
-      if (query == NULL || query->seq == NULL)
-      {
-        query_seqstartpos = gt_encseq_seqstartpos(query == NULL
-                                                    ? encseq
-                                                    : query->encseq,
-                                                  querymatchptr->queryseqnum);
-        abs_querystart_fwdstrand
-           = query_seqstartpos + querymatchptr->querystart_fwdstrand;
-        abs_querystart
-           = query_seqstartpos + querymatchptr->querystart;
-      } else
-      {
-        gt_assert(query != NULL && query->seq != NULL);
-        query_seqstartpos = 0;
-        abs_querystart_fwdstrand = querymatchptr->querystart_fwdstrand;
-        abs_querystart = querymatchptr->querystart;
-      }
-      seededalignment
-        = gt_querymatchoutoptions_alignment_prepare(querymatchptr->
-                                                      ref_querymatchoutoptions,
-                                                    encseq,
-                                                    query,
-                                                    querymatchptr->
-                                                      query_readmode,
-                                                    query_seqstartpos,
-                                                    querymatchptr->
-                                                      query_totallength,
-                                                    querymatchptr->dbstart,
-                                                    querymatchptr->dblen,
-                                                    abs_querystart,
-                                                    abs_querystart_fwdstrand,
-                                                    querymatchptr->querylen,
-                                                    querymatchptr->distance,
-                                                    querymatchptr->seedpos1,
-                                                    querymatchptr->seedpos2,
-                                                    querymatchptr->seedlen,
-                                                    greedyextension);
-      if (seededalignment && !greedyextension)
-      {
-        gt_querymatch_applycorrection(querymatchptr);
-      }
-    }
-    return true;
+  gt_assert(querymatch != NULL);
+  if (querymatch->ref_querymatchoutoptions == NULL)
+  {
+    return;
+  }
+  gt_assert(queryes != NULL);
+  if (querymatch->distance > 0)
+  {
+    gt_querymatchoutoptions_seededmatch2eoplist(
+                        querymatch->ref_querymatchoutoptions,
+                        dbes,
+                        gt_querymatch_dbstart_relative(querymatch),
+                        querymatch->db_seqstart,
+                        gt_querymatch_dblen(querymatch),
+                        querymatch->query_readmode,
+                        queryes,
+                        querymatch->query_seqstart,
+                        querymatch->query_seqlen,
+                        querymatch->querystart,
+                        querymatch->querylen,
+                        querymatch->db_seedpos_rel,
+                        querymatch->query_seedpos_rel,
+                        querymatch->seedlen,
+                        querymatch->verify_alignment,
+                        greedyextension);
+    seeded_alignment = true;
+  } else
+  {
+    seeded_alignment = false;
+  }
+  abs_querystart_fwdstrand = querymatch->query_seqstart +
+                             querymatch->querystart_fwdstrand;
+  gt_querymatchoutoptions_extract_seq(querymatch->ref_querymatchoutoptions,
+                                      dbes,
+                                      querymatch->dbstart_relative,
+                                      gt_querymatch_dbstart(querymatch),
+                                      gt_querymatch_dblen(querymatch),
+                                      querymatch->query_readmode,
+                                      queryes,
+                                      querymatch->querystart,
+                                      abs_querystart_fwdstrand,
+                                      querymatch->querylen,
+                                      seeded_alignment);
+  if (seeded_alignment && !greedyextension)
+  {
+    gt_querymatch_applycorrection(querymatch);
   }
-  return false;
 }
 
 static GtReadmode gt_readmode_character_code_parse(char direction)
@@ -371,226 +914,265 @@ static GtReadmode gt_readmode_character_code_parse(char direction)
   return GT_READMODE_REVERSE;
 }
 
-bool gt_querymatch_read_line(GtQuerymatch *querymatchptr,
-                             bool withseqlength,
+void gt_querymatch_read_line(GtQuerymatch *querymatch,
+                             double *evalue_ptr,
+                             double *bit_score_ptr,
                              const char *line_ptr,
+                             const GtSeedExtendDisplayFlag *in_display_flag,
                              bool selfmatch,
-                             GtUword seedpos1,
-                             GtUword seedpos2,
-                             GtUword seedlen,
                              const GtEncseq *dbencseq,
                              const GtEncseq *queryencseq)
 {
-  char direction;
-  double identity;
-  int parsed_items;
-
-  if (withseqlength)
-  {
-    parsed_items
-      = sscanf(line_ptr,
-               GT_WU " " GT_WU " " GT_WU " %c " GT_WU " %"PRIu64 " "
-               GT_WU " " GT_WD " " GT_WU " %lf " GT_WU " " GT_WU,
-               &querymatchptr->dblen,
-               &querymatchptr->dbseqnum,
-               &querymatchptr->dbstart_relative,
-               &direction,
-               &querymatchptr->querylen,
-               &querymatchptr->queryseqnum,
-               &querymatchptr->querystart_fwdstrand,
-               &querymatchptr->score,
-               &querymatchptr->distance,
-               &identity,
-               &querymatchptr->dbseqlen,
-               &querymatchptr->query_totallength);
-  } else
+  char separator;
+  const char *ptr = line_ptr;
+  GtUword column, numcolumns, dbend_relative = GT_UWORD_MAX,
+          queryend_relative = GT_UWORD_MAX;
+  const unsigned int *column_order
+    = gt_querymatch_display_order(&numcolumns,in_display_flag);
+
+  querymatch->db_seedpos_rel = GT_UWORD_MAX;
+  querymatch->query_seedpos_rel = GT_UWORD_MAX;
+  separator = gt_querymatch_blast_display(in_display_flag) ||
+              gt_querymatch_tabsep_display(in_display_flag) ? '\t' : ' ';
+  for (column = 0; column < numcolumns; column++)
   {
-    parsed_items
-      = sscanf(line_ptr,
-               GT_WU " " GT_WU " " GT_WU " %c " GT_WU " %"PRIu64 " "
-               GT_WU " " GT_WD " " GT_WU " %lf",
-               &querymatchptr->dblen,
-               &querymatchptr->dbseqnum,
-               &querymatchptr->dbstart_relative,
-               &direction,
-               &querymatchptr->querylen,
-               &querymatchptr->queryseqnum,
-               &querymatchptr->querystart_fwdstrand,
-               &querymatchptr->score,
-               &querymatchptr->distance,
-               &identity);
-  }
-  if ((withseqlength && parsed_items == 12) ||
-      (!withseqlength && parsed_items == 10))
-  {
-    querymatchptr->query_readmode = gt_readmode_character_code_parse(direction);
-    querymatchptr->dbstart
-      = gt_encseq_seqstartpos(dbencseq,querymatchptr->dbseqnum) +
-        querymatchptr->dbstart_relative;
-    querymatchptr->selfmatch = selfmatch;
-    querymatchptr->seedpos1 = seedpos1;
-    querymatchptr->seedpos2 = seedpos2;
-    querymatchptr->seedlen = seedlen;
-    if (!withseqlength)
+    int ret = 1;
+
+    gt_assert(*ptr != '\0');
+    while (isspace(*ptr))
     {
-      querymatchptr->query_totallength
-        = gt_encseq_seqlength(queryencseq,querymatchptr->queryseqnum);
-      querymatchptr->dbseqlen
-        = gt_encseq_seqlength(dbencseq,querymatchptr->dbseqnum);
+      ptr++;
+    }
+    switch (column_order[column])
+    {
+      case Gt_Cigar_display:
+      case Gt_Cigarx_display:
+        if (querymatch->ref_eoplist != NULL)
+        {
+          gt_eoplist_reset(querymatch->ref_eoplist);
+          gt_eoplist_from_cigar(querymatch->ref_eoplist,ptr,separator);
+        } else
+        {
+          if (column < numcolumns - 1)
+          {
+            ptr = strchr(ptr,separator);
+            gt_assert(ptr != NULL);
+          }
+        }
+        break;
+      case Gt_Trace_display:
+      case Gt_Dtrace_display:
+        if (querymatch->ref_eoplist != NULL)
+        {
+          gt_eoplist_reset(querymatch->ref_eoplist);
+          gt_eoplist_read_trace(querymatch->ref_eoplist,ptr,separator);
+        } else
+        {
+          if (column < numcolumns - 1)
+          {
+            ptr = strchr(ptr,separator);
+            gt_assert(ptr != NULL);
+          }
+        }
+        break;
+      case Gt_S_len_display:
+        ret = sscanf(ptr,GT_WU,&querymatch->dblen);
+        break;
+      case Gt_S_seqnum_display:
+        ret = sscanf(ptr,GT_WU,&querymatch->dbseqnum);
+        break;
+      case Gt_Subjectid_display:
+        querymatch->db_desc = ptr;
+        break;
+      case Gt_S_start_display:
+        ret = sscanf(ptr,GT_WU,&querymatch->dbstart_relative);
+        break;
+      case Gt_Strand_display:
+        querymatch->query_readmode = gt_readmode_character_code_parse(*ptr);
+        break;
+      case Gt_Q_len_display:
+        ret = sscanf(ptr,GT_WU,&querymatch->querylen);
+        break;
+      case Gt_Q_end_display:
+        ret = sscanf(ptr,GT_WU,&queryend_relative);
+        break;
+      case Gt_Q_seqnum_display:
+        ret = sscanf(ptr,GT_WU,&querymatch->queryseqnum);
+        break;
+      case Gt_Queryid_display:
+        querymatch->query_desc = ptr;
+        break;
+      case Gt_Q_start_display:
+        ret = sscanf(ptr,GT_WU,&querymatch->querystart_fwdstrand);
+        break;
+      case Gt_Score_display:
+        ret = sscanf(ptr,GT_WD,&querymatch->score);
+        break;
+      case Gt_Editdist_display:
+        ret = sscanf(ptr,GT_WU,&querymatch->distance);
+        break;
+      case Gt_Seed_len_display:
+        ret = sscanf(ptr,GT_WU,&querymatch->seedlen);
+        break;
+      case Gt_Seed_s_display:
+        ret = sscanf(ptr,GT_WU,&querymatch->db_seedpos_rel);
+        break;
+      case Gt_Seed_q_display:
+        ret = sscanf(ptr,GT_WU,&querymatch->query_seedpos_rel);
+        break;
+      case Gt_S_seqlen_display:
+        ret = sscanf(ptr,GT_WU,&querymatch->db_seqlen);
+        break;
+      case Gt_Q_seqlen_display:
+        ret = sscanf(ptr,GT_WU,&querymatch->query_seqlen);
+        break;
+      case Gt_Evalue_display:
+        ret = sscanf(ptr,"%le",evalue_ptr);
+        break;
+      case Gt_Bitscore_display:
+        ret = sscanf(ptr,"%le",bit_score_ptr);
+        break;
+      case Gt_Mismatches_display:
+        ret = sscanf(ptr,GT_WU,&querymatch->mismatches);
+        break;
+      case Gt_S_end_display:
+        ret = sscanf(ptr,GT_WU,&dbend_relative);
+        break;
+      case Gt_Alignmentlength_display:
+      case Gt_Identity_display:
+      case Gt_Indels_display:
+      case Gt_Gapopens_display:
+        break;
+      default: gt_assert(false);
+    }
+    if (ret != 1)
+    {
+      fprintf(stderr,"column[" GT_WU "]: ret = %d, expect %s for \"%s\","
+                     "ptr=%s\n",column,ret,
+                     gt_querymatch_flag2name(column_order[column]),
+                     line_ptr,ptr);
+      exit(GT_EXIT_PROGRAMMING_ERROR);
+    }
+    ptr = strchr(ptr,separator);
+  }
+  gt_assert(gt_querymatch_s_seqnum_display(in_display_flag) &&
+            gt_querymatch_q_seqnum_display(in_display_flag));
+  if (!gt_querymatch_s_seqlen_display(in_display_flag))
+  {
+    querymatch->db_seqlen = gt_encseq_seqlength(dbencseq,querymatch->dbseqnum);
+  }
+  if (!gt_querymatch_q_seqlen_display(in_display_flag))
+  {
+    querymatch->query_seqlen
+      = gt_encseq_seqlength(queryencseq,querymatch->queryseqnum);
+  }
+  querymatch->db_seqstart
+    = gt_encseq_seqstartpos(dbencseq,querymatch->dbseqnum);
+  querymatch->selfmatch = selfmatch;
+  querymatch->querystart
+    = gt_querymatch_position_convert(querymatch->query_readmode,
+                                     gt_querymatch_querylen(querymatch),
+                                     querymatch->query_seqlen,
+                                     querymatch->querystart_fwdstrand);
+  querymatch->query_seqstart = gt_encseq_seqstartpos(queryencseq,
+                                                     querymatch->queryseqnum);
+  if (!gt_querymatch_s_len_display(in_display_flag))
+  {
+    gt_assert(gt_querymatch_s_start_display(in_display_flag) &&
+              gt_querymatch_s_end_display(in_display_flag) &&
+              dbend_relative > querymatch->dbstart_relative);
+    querymatch->dblen = dbend_relative - querymatch->dbstart_relative + 1;
+  }
+  if (!gt_querymatch_q_len_display(in_display_flag))
+  {
+    gt_assert(gt_querymatch_q_start_display(in_display_flag) &&
+              gt_querymatch_q_end_display(in_display_flag));
+    if (querymatch->querystart < queryend_relative)
+    {
+      querymatch->querylen = queryend_relative - querymatch->querystart + 1;
+    } else
+    {
+      querymatch->querylen = querymatch->querystart - queryend_relative + 1;
     }
-    querymatchptr->querystart
-      = gt_querymatch_querystart_derive(querymatchptr->query_readmode,
-                                        querymatchptr->querylen,
-                                        querymatchptr->query_totallength,
-                                        querymatchptr->querystart_fwdstrand);
-    return true;
   }
-  return false;
 }
 
-bool gt_querymatch_complete(GtQuerymatch *querymatchptr,
+bool gt_querymatch_complete(GtQuerymatch *querymatch,
+                            const GtSeedExtendDisplayFlag *out_display_flag,
                             GtUword dblen,
-                            GtUword dbstart,
                             GtUword dbseqnum,
                             GtUword dbstart_relative,
-                            GtUword dbseqlen,
+                            GtUword db_seqstart,
+                            GtUword db_seqlen,
                             GtWord score,
                             GtUword distance,
+                            GtUword mismatches,
                             bool selfmatch,
-                            uint64_t queryseqnum,
+                            GtUword queryseqnum,
                             GtUword querylen,
                             GtUword querystart,
-                            const GtEncseq *encseq,
-                            const GtSeqorEncseq *query,
-                            GtUword query_totallength,
-                            GtUword seedpos1,
-                            GtUword seedpos2,
+                            const GtSeqorEncseq *dbes,
+                            const GtSeqorEncseq *queryes,
+                            GtUword query_seqstart,
+                            GtUword query_seqlen,
+                            GtUword db_seedpos_rel,
+                            GtUword query_seedpos_rel,
                             GtUword seedlen,
                             bool greedyextension)
 {
-  gt_assert(querymatchptr != NULL);
-  gt_querymatch_init(querymatchptr,
+  const char *query_desc = NULL, *db_desc = NULL;
+  GtUword desclen;
+
+  gt_assert(querymatch != NULL);
+  if (gt_querymatch_subjectid_display(out_display_flag))
+  {
+    gt_assert(dbes != NULL);
+    if (dbes->encseq != NULL)
+    {
+      db_desc = gt_encseq_description(dbes->encseq,&desclen,dbseqnum);
+    } else
+    {
+      db_desc = dbes->desc;
+    }
+  }
+  if (gt_querymatch_queryid_display(out_display_flag))
+  {
+    gt_assert (queryes != NULL);
+    if (queryes->encseq != NULL)
+    {
+      query_desc = gt_encseq_description(queryes->encseq,&desclen,
+                                         (GtUword) queryseqnum);
+    } else
+    {
+      query_desc = queryes->desc;
+    }
+  }
+  gt_querymatch_init(querymatch,
                      dblen,
-                     dbstart,
                      dbseqnum,
                      dbstart_relative,
-                     dbseqlen,
+                     db_seqstart,
+                     db_seqlen,
                      score,
                      distance,
+                     mismatches,
                      selfmatch,
                      queryseqnum,
                      querylen,
                      querystart,
-                     query_totallength);
-  querymatchptr->seedpos1 = seedpos1;
-  querymatchptr->seedpos2 = seedpos2;
-  querymatchptr->seedlen = seedlen;
-  return gt_querymatch_process(querymatchptr,
-                               encseq,
-                               query,
-                               greedyextension);
-}
-
-GtUword gt_querymatch_querylen(const GtQuerymatch *querymatch)
-{
-  gt_assert(querymatch != NULL);
-  return querymatch->querylen;
-}
-
-GtUword gt_querymatch_dbstart(const GtQuerymatch *querymatch)
-{
-  gt_assert(querymatch != NULL);
-  return querymatch->dbstart;
-}
-
-GtUword gt_querymatch_dblen(const GtQuerymatch *querymatch)
-{
-  gt_assert(querymatch != NULL);
-  return querymatch->dblen;
-}
-
-GtUword gt_querymatch_querystart(const GtQuerymatch *querymatch)
-{
-  gt_assert(querymatch != NULL);
-  return querymatch->querystart;
-}
-
-GtUword gt_querymatch_querystart_fwdstrand(const GtQuerymatch *querymatch)
-{
-  gt_assert(querymatch != NULL);
-  return querymatch->querystart_fwdstrand;
-}
-
-uint64_t gt_querymatch_queryseqnum(const GtQuerymatch *querymatch)
-{
-  gt_assert(querymatch != NULL);
-  return querymatch->queryseqnum;
-}
-
-GtUword gt_querymatch_query_totallength(const GtQuerymatch *querymatch)
-{
-  gt_assert(querymatch != NULL);
-  return querymatch->query_totallength;
-}
-
-void gt_querymatch_query_readmode_set(GtQuerymatch *querymatch,
-                                      GtReadmode query_readmode)
-{
-  gt_assert(querymatch != NULL);
-  querymatch->query_readmode = query_readmode;
-}
-
-void gt_querymatch_verify_alignment_set(GtQuerymatch *querymatch)
-{
-  gt_assert(querymatch != NULL);
-  querymatch->verify_alignment = true;
-}
-
-GtReadmode gt_querymatch_query_readmode(const GtQuerymatch *querymatch)
-{
-  gt_assert(querymatch != NULL);
-  return querymatch->query_readmode;
-}
-
-bool gt_querymatch_selfmatch(const GtQuerymatch *querymatch)
-{
-  gt_assert(querymatch != NULL);
-  return querymatch->selfmatch;
-}
-
-GtUword gt_querymatch_distance(const GtQuerymatch *querymatch)
-{
-  gt_assert(querymatch != NULL);
-  return querymatch->distance;
-}
-
-GtWord gt_querymatch_distance2score(GtUword distance,GtUword alignedlen)
-{
-  return ((GtWord) alignedlen) - (GtWord) (3 * distance);
-}
-
-double gt_querymatch_error_rate(GtUword distance,GtUword alignedlen)
-{
-  return 200.0 * (double) distance/alignedlen;
-}
-
-bool gt_querymatch_overlap(const GtQuerymatch *querymatch,
-                           GtUword nextseed_db_end_relative,
-                           GtUword nextseed_query_end_relative,
-                           bool use_db_pos)
-{
-  bool queryoverlap, dboverlap, dboverlap_at_end, dboverlap_at_start;
-  gt_assert(querymatch != NULL);
-
-  queryoverlap = (querymatch->querystart + querymatch->querylen >
-                  nextseed_query_end_relative ? true : false);
-  dboverlap_at_end = (querymatch->dbstart_relative + querymatch->dblen >
-                      nextseed_db_end_relative ? true : false);
-  dboverlap_at_start = (querymatch->dbstart_relative + querymatch->seedlen <=
-                        nextseed_db_end_relative ? true : false);
-  dboverlap = !use_db_pos || (dboverlap_at_end && dboverlap_at_start);
-
-  return queryoverlap && dboverlap ? true : false;
+                     query_seqstart,
+                     query_seqlen,
+                     db_desc,
+                     query_desc);
+  querymatch->db_seedpos_rel = db_seedpos_rel;
+  querymatch->query_seedpos_rel = query_seedpos_rel;
+  querymatch->seedlen = seedlen;
+  if (gt_querymatch_ordered(querymatch))
+  {
+    gt_querymatch_alignment_prepare(querymatch,dbes,queryes,greedyextension);
+    return true;
+  }
+  return false;
 }
 
 static int gt_querymatch_compare_ascending(const void *va,const void *vb)
@@ -601,8 +1183,8 @@ static int gt_querymatch_compare_ascending(const void *va,const void *vb)
   gt_assert(a != NULL && b != NULL);
   if (a->queryseqnum < b->queryseqnum ||
        (a->queryseqnum == b->queryseqnum &&
-        a->querystart_fwdstrand + a->querylen <=
-        b->querystart_fwdstrand + b->querylen))
+        a->querystart_fwdstrand + gt_querymatch_querylen(a) <=
+        b->querystart_fwdstrand + gt_querymatch_querylen(b)))
   {
     return -1;
   }
@@ -617,8 +1199,8 @@ static int gt_querymatch_compare_descending(const void *va,const void *vb)
   gt_assert(a != NULL && b != NULL);
   if (a->queryseqnum < b->queryseqnum ||
        (a->queryseqnum == b->queryseqnum &&
-        a->querystart_fwdstrand + a->querylen <=
-        b->querystart_fwdstrand + b->querylen))
+        a->querystart_fwdstrand + gt_querymatch_querylen(a) <=
+        b->querystart_fwdstrand + gt_querymatch_querylen(b)))
   {
     return 1;
   }
@@ -638,12 +1220,6 @@ void gt_querymatch_table_sort(GtArrayGtQuerymatch *querymatch_table,
   }
 }
 
-bool gt_querymatch_has_seed(const GtQuerymatch *querymatch)
-{
-  gt_assert(querymatch != NULL);
-  return querymatch->seedpos1 != GT_UWORD_MAX ? true : false;
-}
-
 GtQuerymatch *gt_querymatch_table_get(const GtArrayGtQuerymatch
                                         *querymatch_table,GtUword idx)
 {
@@ -651,9 +1227,146 @@ GtQuerymatch *gt_querymatch_table_get(const GtArrayGtQuerymatch
   return querymatch_table->spaceGtQuerymatch + idx;
 }
 
-const GtAlignment *gt_querymatch_alignment_get(const GtQuerymatch *querymatch)
+void gt_querymatch_extract_sequence_pair(GtSequencepairbuffer *seqpairbuf,
+                                         const GtEncseq *db_encseq,
+                                         const GtEncseq *query_encseq,
+                                         const GtQuerymatch *querymatch)
 {
-  gt_assert(querymatch != NULL);
-  return gt_querymatchoutoptions_alignment_get(
-                  querymatch->ref_querymatchoutoptions);
+  GtReadmode query_readmode = gt_querymatch_query_readmode(querymatch);
+  const GtUword dblen = gt_querymatch_dblen(querymatch),
+                querylen = gt_querymatch_querylen(querymatch),
+                apos_ab = gt_querymatch_dbstart(querymatch),
+                bpos_ab = querymatch->query_seqstart +
+                          querymatch->querystart_fwdstrand;
+
+  if (dblen >= seqpairbuf->a_allocated)
+  {
+    seqpairbuf->a_sequence = gt_realloc(seqpairbuf->a_sequence,
+                                        sizeof *seqpairbuf->a_sequence * dblen);
+    seqpairbuf->a_allocated = dblen;
+  }
+  if (querylen >= seqpairbuf->b_allocated)
+  {
+    seqpairbuf->b_sequence = gt_realloc(seqpairbuf->b_sequence,
+                                        sizeof *seqpairbuf->b_sequence *
+                                        querylen);
+    seqpairbuf->b_allocated = querylen;
+  }
+  gt_encseq_extract_encoded(db_encseq, seqpairbuf->a_sequence, apos_ab,
+                            apos_ab + dblen - 1);
+  gt_encseq_extract_encoded(query_encseq, seqpairbuf->b_sequence, bpos_ab,
+                            bpos_ab + querylen - 1);
+  if (query_readmode == GT_READMODE_REVCOMPL)
+  {
+    gt_inplace_reverse_complement(seqpairbuf->b_sequence,querylen);
+  }
+  seqpairbuf->a_len = dblen;
+  seqpairbuf->b_len = querylen;
+}
+
+static void gt_querymatch_seed_alignment(GtQuerymatch *querymatch,
+                                         GtSeqorEncseq *db_seqorencseq,
+                                         GtSeqorEncseq *query_seqorencseq)
+{
+  gt_querymatch_alignment_prepare(querymatch,db_seqorencseq,
+                                  query_seqorencseq,true);
+  GT_SEQORENCSEQ_ADD_SEQ_COORDS(db_seqorencseq,querymatch->db_seqstart,
+                                querymatch->db_seqlen);
+  GT_SEQORENCSEQ_ADD_SEQ_COORDS(query_seqorencseq,querymatch->query_seqstart,
+                                querymatch->query_seqlen);
+}
+
+static void gt_querymatch_full_alignment(const GtQuerymatch *querymatch,
+                                         GtSeqorEncseq *db_seqorencseq,
+                                         GtSeqorEncseq *query_seqorencseq)
+{
+  if (querymatch->ref_querymatchoutoptions != NULL)
+  {
+    const GtReadmode query_readmode = gt_querymatch_query_readmode(querymatch);
+
+    gt_frontprune2eoplist(querymatch->ref_querymatchoutoptions,
+                          db_seqorencseq,
+                          gt_querymatch_dbstart(querymatch),
+                          gt_querymatch_dblen(querymatch),
+                          query_seqorencseq,
+                          query_readmode,
+                          querymatch->query_seqstart,
+                          querymatch->query_seqlen,
+                          querymatch->querystart,
+                          gt_querymatch_querylen(querymatch),
+                          querymatch->verify_alignment);
+    gt_querymatchoutoptions_extract_seq(querymatch->ref_querymatchoutoptions,
+                                        db_seqorencseq,
+                                        querymatch->dbstart_relative,
+                                        gt_querymatch_dbstart(querymatch),
+                                        gt_querymatch_dblen(querymatch),
+                                        query_readmode,
+                                        query_seqorencseq,
+                                        querymatch->querystart,
+                                        querymatch->query_seqstart +
+                                          querymatch->querystart_fwdstrand,
+                                        gt_querymatch_querylen(querymatch),
+                                        true);
+  }
+}
+
+void gt_querymatch_recompute_alignment(GtQuerymatch *querymatch,
+                                       const GtSeedExtendDisplayFlag
+                                         *out_display_flag,
+                                       bool match_has_cigar,
+                                       bool dtrace,
+                                       GtUword trace_delta,
+                                       bool match_has_seed,
+                                       const GtEncseq *db_encseq,
+                                       const GtEncseq *query_encseq,
+                                       const GtKarlinAltschulStat
+                                         *karlin_altschul_stat,
+                                       double evalue,
+                                       double bitscore)
+{
+  GtSeqorEncseq db_seqorencseq, query_seqorencseq;
+
+  GT_SEQORENCSEQ_INIT_ENCSEQ(&db_seqorencseq,db_encseq);
+  GT_SEQORENCSEQ_INIT_ENCSEQ(&query_seqorencseq,query_encseq);
+  if (match_has_cigar || trace_delta > 0)
+  {
+    if (querymatch->ref_querymatchoutoptions != NULL &&
+        gt_querymatch_alignment_display(out_display_flag))
+    {
+      gt_querymatchoutoptions_extract_seq(querymatch->ref_querymatchoutoptions,
+                                          &db_seqorencseq,
+                                          querymatch->dbstart_relative,
+                                          gt_querymatch_dbstart(querymatch),
+                                          gt_querymatch_dblen(querymatch),
+                                          querymatch->query_readmode,
+                                          &query_seqorencseq,
+                                          querymatch->querystart,
+                                          querymatch->query_seqstart +
+                                            querymatch->querystart_fwdstrand,
+                                          gt_querymatch_querylen(querymatch),
+                                          false);
+    }
+    if (querymatch->ref_eoplist != NULL && trace_delta > 0)
+    {
+      gt_eoplist_trace2cigar(querymatch->ref_eoplist,dtrace,trace_delta);
+    }
+  } else
+  {
+    if (match_has_seed)
+    {
+      gt_querymatch_seed_alignment(querymatch,&db_seqorencseq,
+                                   &query_seqorencseq);
+    } else
+    {
+      gt_querymatch_full_alignment(querymatch,&db_seqorencseq,
+                                   &query_seqorencseq);
+    }
+  }
+  if ((evalue == DBL_MAX || bitscore == DBL_MAX) &&
+      karlin_altschul_stat != NULL)
+  {
+    gt_querymatch_evalue_bit_score(&evalue, &bitscore, karlin_altschul_stat,
+                                   querymatch);
+  }
+  gt_querymatch_prettyprint(evalue,bitscore,out_display_flag,querymatch);
 }
diff --git a/src/match/querymatch.h b/src/match/querymatch.h
index 7f6a3d4..a92f099 100644
--- a/src/match/querymatch.h
+++ b/src/match/querymatch.h
@@ -23,110 +23,130 @@
 #include "core/error_api.h"
 #include "core/readmode.h"
 #include "core/encseq.h"
-#include "core/unused_api.h"
 #include "core/arraydef.h"
 #include "querymatch-align.h"
+#include "karlin_altschul_stat.h"
+#include "querymatch-display.h"
 #include "seq_or_encseq.h"
 
 typedef struct GtQuerymatch GtQuerymatch;
 
-GT_DECLAREARRAYSTRUCT(GtQuerymatch);
-
 GtQuerymatch *gt_querymatch_new(void);
 
 void gt_querymatch_file_set(GtQuerymatch *querymatch, FILE *fp);
 
-void gt_querymatch_display_set(GtQuerymatch *querymatch,
-                               unsigned int display_flag);
-
-unsigned int gt_querymatch_bool2display_flag(bool seed_display,
-                                             bool seqlength_display);
-
-bool gt_querymatch_seed_display(unsigned int display_flag);
-
-void gt_querymatch_outoptions_set(GtQuerymatch *querymatch,
-                GtQuerymatchoutoptions *querymatchoutoptions);
+void gt_querymatch_db_keyvalues_set(GtQuerymatch *querymatch,
+                                    GtUword db_totallength,
+                                    GtUword db_numofsequences);
 
 void gt_querymatch_init(GtQuerymatch *querymatch,
                         GtUword dblen,
-                        GtUword dbstart,
                         GtUword dbseqnum,
                         GtUword dbstart_relative,
+                        GtUword db_seqstart,
                         GtUword dbseqlen,
                         GtWord score,
                         GtUword distance,
+                        GtUword mismatches,
                         bool selfmatch,
-                        uint64_t queryseqnum,
+                        GtUword queryseqnum,
                         GtUword querylen,
                         GtUword querystart,
-                        GtUword query_totallength);
-
-bool gt_querymatch_read_line(GtQuerymatch *querymatchptr,
-                             bool withseqlength,
+                        GtUword query_seqstart,
+                        GtUword query_seqlen,
+                        const char *db_desc,
+                        const char *query_desc);
+
+void gt_querymatch_read_line(GtQuerymatch *querymatch,
+                             double *evalue_ptr,
+                             double *bitscore_ptr,
                              const char *line_ptr,
+                             const GtSeedExtendDisplayFlag *in_display_flag,
                              bool selfmatch,
-                             GtUword seedpos1,
-                             GtUword seedpos2,
-                             GtUword seedlen,
                              const GtEncseq *dbencseq,
                              const GtEncseq *queryencseq);
 
-bool gt_querymatch_process(GtQuerymatch *querymatchptr,
-                           const GtEncseq *encseq,
-                           const GtSeqorEncseq *query,
-                           bool greedyextension);
-
 void gt_querymatch_delete(GtQuerymatch *querymatch);
 
-bool gt_querymatch_complete(GtQuerymatch *querymatchptr,
+bool gt_querymatch_complete(GtQuerymatch *querymatch,
+                            const GtSeedExtendDisplayFlag *out_display_flag,
                             GtUword dblen,
-                            GtUword dbstart,
                             GtUword dbseqnum,
                             GtUword dbstart_relative,
+                            GtUword db_seqstart,
                             GtUword dbseqlen,
                             GtWord score,
                             GtUword distance,
+                            GtUword mismatches,
                             bool selfmatch,
-                            uint64_t queryseqnum,
+                            GtUword queryseqnum,
                             GtUword querylen,
                             GtUword querystart,
-                            const GtEncseq *encseq,
-                            const GtSeqorEncseq *query,
-                            GtUword query_totallength,
-                            GtUword seedpos1,
-                            GtUword seedpos2,
+                            const GtSeqorEncseq *dbes,
+                            const GtSeqorEncseq *queryes,
+                            GtUword query_seqstart,
+                            GtUword query_seqlen,
+                            GtUword db_seedpos_rel,
+                            GtUword query_seedpos,
                             GtUword seedlen,
                             bool greedyextension);
 
-GtUword gt_querymatch_querylen(const GtQuerymatch *querymatch);
-
-GtUword gt_querymatch_dbstart(const GtQuerymatch *querymatch);
+void gt_querymatch_outoptions_set(GtQuerymatch *querymatch,
+                GtQuerymatchoutoptions *querymatchoutoptions);
 
-GtUword gt_querymatch_querystart(const GtQuerymatch *querymatch);
+GtUword gt_querymatch_dblen(const GtQuerymatch *querymatch);
 
-uint64_t gt_querymatch_queryseqnum(const GtQuerymatch *querymatch);
+GtUword gt_querymatch_querylen(const GtQuerymatch *querymatch);
 
-const GtUchar *gt_querymatch_querysequence(const GtQuerymatch *querymatch);
+GtUword gt_querymatch_dbstart(const GtQuerymatch *querymatch);
 
-GtUword gt_querymatch_query_totallength(const GtQuerymatch *querymatch);
+GtUword gt_querymatch_dbstart_relative(const GtQuerymatch *querymatch);
 
-GtUword gt_querymatch_dbseqnum(const GtQuerymatch *querymatch);
+GtUword gt_querymatch_querystart(const GtQuerymatch *querymatch);
 
-GtUword gt_querymatch_dblen(const GtQuerymatch *querymatch);
+void gt_querymatch_db_coordinates(GtUword *db_seqnum,GtUword *db_seqstart,
+                                  GtUword *db_seqlen,
+                                  const GtQuerymatch *querymatch);
 
-bool gt_querymatch_queryreverse(const GtQuerymatch *querymatch);
+void gt_querymatch_query_coordinates(GtUword *query_seqnum,
+                                     GtUword *query_seqstart,
+                                     GtUword *query_seqlen,
+                                     const GtQuerymatch *querymatch);
 
 double gt_querymatch_error_rate(GtUword distance,GtUword alignedlen);
 
 GtUword gt_querymatch_distance(const GtQuerymatch *querymatch);
 
-void gt_querymatch_prettyprint(const GtQuerymatch *querymatch);
+void gt_querymatch_gfa2_edge(const GtQuerymatch *querymatch,GtUword edgenum);
+
+void gt_querymatch_prettyprint(double evalue,double bit_score,
+                               const GtSeedExtendDisplayFlag *out_display_flag,
+                               const GtQuerymatch *querymatch);
 
-void gt_querymatch_coordinates_out(const GtQuerymatch *querymatch);
+void gt_querymatch_show_failed_seed(const GtSeedExtendDisplayFlag
+                                       *out_display_flag,
+                                    const GtQuerymatch *querymatch);
 
-bool gt_querymatch_check_final(const GtQuerymatch *querymatch,
+bool gt_querymatch_check_final(double *evalue_ptr,
+                               double *bit_score_ptr,
+                               const GtKarlinAltschulStat *karlin_altschul_stat,
+                               const GtQuerymatch *querymatch,
+                               GtUword userdefinedleastlength,
                                GtUword errorpercentage,
-                               GtUword userdefinedleastlength);
+                               double evalue_threshold);
+
+bool gt_querymatch_check_final_generic(
+                               double *evalue_ptr,
+                               double *bit_score_ptr,
+                               const GtKarlinAltschulStat *karlin_altschul_stat,
+                               GtUword query_seqlen,
+                               GtUword aligned_len,
+                               GtUword distance,
+                               GtUword mismatches,
+                               GtUword userdefinedleastlength,
+                               GtUword errorpercentage,
+                               double evalue_threshold,
+                               GT_UNUSED FILE *fp);
 
 void gt_querymatch_query_readmode_set(GtQuerymatch *querymatch,
                                       GtReadmode query_readmode);
@@ -135,19 +155,9 @@ void gt_querymatch_verify_alignment_set(GtQuerymatch *querymatch);
 
 GtReadmode gt_querymatch_query_readmode(const GtQuerymatch *querymatch);
 
-bool gt_querymatch_selfmatch(const GtQuerymatch *querymatch);
-
 GtWord gt_querymatch_distance2score(GtUword distance,GtUword alignedlen);
 
-/* Returns true, iff the given seed start position is below the querymatch. */
-bool gt_querymatch_overlap(const GtQuerymatch *querymatch,
-                           GtUword nextseed_db_end_relative,
-                           GtUword nextseed_query_end_relative,
-                           bool use_db_pos);
-
-bool gt_querymatch_has_seed(const GtQuerymatch *querymatch);
-
-GtUword gt_querymatch_querystart_fwdstrand(const GtQuerymatch *querymatch);
+GT_DECLAREARRAYSTRUCT(GtQuerymatch);
 
 void gt_querymatch_table_add(GtArrayGtQuerymatch *querymatch_table,
                              const GtQuerymatch *querymatch);
@@ -158,5 +168,29 @@ void gt_querymatch_table_sort(GtArrayGtQuerymatch *querymatch_table,
 GtQuerymatch *gt_querymatch_table_get(const GtArrayGtQuerymatch
                                         *querymatch_table,GtUword idx);
 
-const GtAlignment *gt_querymatch_alignment_get(const GtQuerymatch *querymatch);
+typedef struct
+{
+  GtUchar *a_sequence, *b_sequence;
+  GtUword a_allocated, b_allocated, a_len, b_len;
+} GtSequencepairbuffer;
+
+void gt_querymatch_extract_sequence_pair(GtSequencepairbuffer *seqpairbuf,
+                                         const GtEncseq *db_encseq,
+                                         const GtEncseq *query_encseq,
+                                         const GtQuerymatch *querymatch);
+
+void gt_querymatch_recompute_alignment(GtQuerymatch *querymatch,
+                                       const GtSeedExtendDisplayFlag
+                                         *out_display_flag,
+                                       bool match_has_cigar,
+                                       bool dtrace,
+                                       GtUword trace_delta,
+                                       bool match_has_seed,
+                                       const GtEncseq *db_encseq,
+                                       const GtEncseq *query_encseq,
+                                       const GtKarlinAltschulStat
+                                         *karlin_altschul_stat,
+                                       double evalue,
+                                       double bitscore);
+
 #endif
diff --git a/src/match/rdj-filesuf-def.h b/src/match/rdj-filesuf-def.h
index 54d26f9..acfced6 100644
--- a/src/match/rdj-filesuf-def.h
+++ b/src/match/rdj-filesuf-def.h
@@ -43,6 +43,8 @@
 #define GT_READJOINER_SUFFIX_SG_ELEN_DISTRI     ".el.dsr"
 #define GT_READJOINER_SUFFIX_SG_ASQG            ".asqg"
 #define GT_READJOINER_SUFFIX_SG_ASQG_GZ         ".asqg.gz"
+#define GT_READJOINER_SUFFIX_SG_GFA             ".gfa"
+#define GT_READJOINER_SUFFIX_SG_GFA_GZ          ".gfa.gz"
 
 /* contig graph */
 #define GT_READJOINER_SUFFIX_JUNCTIONS          ".jnc"
diff --git a/src/match/rdj-spmfind.c b/src/match/rdj-spmfind.c
index 91b01bf..c0c310c 100644
--- a/src/match/rdj-spmfind.c
+++ b/src/match/rdj-spmfind.c
@@ -18,6 +18,7 @@
 #include "core/arraydef.h"
 #include "core/disc_distri_api.h"
 #include "core/fa.h"
+#include "core/ma.h"
 #include "core/intbits.h"
 #include "core/log_api.h"
 #include "core/spacecalc.h"
diff --git a/src/match/rdj-strgraph.c b/src/match/rdj-strgraph.c
index b8df9c9..9c00ba0 100644
--- a/src/match/rdj-strgraph.c
+++ b/src/match/rdj-strgraph.c
@@ -33,6 +33,7 @@
 #include "core/spacecalc.h"
 #include "extended/assembly_stats_calculator.h"
 #include "match/asqg_writer.h"
+#include "match/gfa_writer.h"
 #include "match/reads_libraries_table.h"
 #include "match/rdj-contigpaths.h"
 #include "match/rdj-contig-info.h"
@@ -2018,7 +2019,7 @@ static void gt_strgraph_asqg_show(const GtStrgraph *strgraph,
           {
             /* other E->B / B->E cases, as well as all B-B
                are not considered to avoid double output */
-            gt_spmproc_show_asgq(sn1, sn2, spm_len, is_e1, is_e2, aw);
+            gt_spmproc_show_asqg(sn1, sn2, spm_len, is_e1, is_e2, aw);
           }
         }
       }
@@ -2033,6 +2034,62 @@ static void gt_strgraph_asqg_show(const GtStrgraph *strgraph,
   gt_error_delete(err);
 }
 
+static void gt_strgraph_gfa_show(const GtStrgraph *strgraph,
+    const char *indexname, GtGfaVersion version, GtFile *outfp)
+{
+  GtUword sn1, sn2;
+  GtStrgraphVnum i, v2;
+  GtUword sl2, spm_len;
+  GtStrgraphVEdgenum j;
+  bool is_e1, is_e2;
+  GtError *err;
+  int had_err = 0;
+  GtGfaWriter *gw = NULL;
+
+  err = gt_error_new();
+  gt_assert(strgraph->encseq != NULL);
+  gw = gt_gfa_writer_new(outfp, strgraph->encseq, version);
+  had_err = gt_gfa_writer_show_header(gw, (GtUword)
+      strgraph->minmatchlen, indexname, false, false, err);
+  if (!had_err)
+    had_err = gt_gfa_writer_show_segments(gw, err);
+  for (i = 0; i < GT_STRGRAPH_NOFVERTICES(strgraph) && !had_err; i++)
+  {
+    if (GT_STRGRAPH_V_OUTDEG(strgraph, i) > 0)
+    {
+      sn1 = GT_STRGRAPH_V_READNUM(i);
+      is_e1 = GT_STRGRAPH_V_IS_E(i);
+      for (j = 0; j < GT_STRGRAPH_V_NOFEDGES(strgraph, i) && !had_err; j++)
+      {
+        if (!GT_STRGRAPH_EDGE_IS_REDUCED(strgraph, i, j))
+        {
+          v2 = GT_STRGRAPH_EDGE_DEST(strgraph, i, j);
+          sn2 = GT_STRGRAPH_V_READNUM(v2);
+          sl2 = (GtUword)GT_STRGRAPH_SEQLEN(strgraph, sn2);
+          spm_len = sl2 - (GtUword)GT_STRGRAPH_EDGE_LEN(strgraph, i, j);
+          is_e2 = GT_STRGRAPH_V_IS_E(v2);
+          if ((is_e1 && is_e2 && (sn1 >= sn2)) ||
+              (!is_e1 && !is_e2 && (sn1 > sn2)) ||
+              (is_e1 && !is_e2 && (sn1 >= sn2)) ||
+              (!is_e1 &&  is_e2 && (sn1 > sn2)))
+          {
+            /* other E->B / B->E cases, as well as all B-B
+               are not considered to avoid double output */
+            gt_spmproc_show_gfa(sn1, sn2, spm_len, is_e1, is_e2, gw);
+          }
+        }
+      }
+    }
+  }
+  if (had_err)
+  {
+    fprintf(stderr, "%s", gt_error_get(err));
+    exit(EXIT_FAILURE);
+  }
+  gt_gfa_writer_delete(gw);
+  gt_error_delete(err);
+}
+
 void gt_strgraph_show(const GtStrgraph *strgraph, GtStrgraphFormat format,
     const char *indexname, const char *suffix, bool show_progressbar)
 {
@@ -2059,6 +2116,14 @@ void gt_strgraph_show(const GtStrgraph *strgraph, GtStrgraphFormat format,
     case GT_STRGRAPH_ASQG:
       gt_strgraph_asqg_show(strgraph, indexname, outfp);
       break;
+    case GT_STRGRAPH_GFA1_GZ: /*@ fallthrough @*/
+    case GT_STRGRAPH_GFA1:
+      gt_strgraph_gfa_show(strgraph, indexname, GT_GFA_VERSION_1_0, outfp);
+      break;
+    case GT_STRGRAPH_GFA2_GZ: /*@ fallthrough @*/
+    case GT_STRGRAPH_GFA2:
+      gt_strgraph_gfa_show(strgraph, indexname, GT_GFA_VERSION_2_0, outfp);
+      break;
     case GT_STRGRAPH_BIN:
       gt_strgraph_save(strgraph, outfp);
       break;
diff --git a/src/match/rdj-strgraph.h b/src/match/rdj-strgraph.h
index 7cdc1e8..4f9b0bc 100644
--- a/src/match/rdj-strgraph.h
+++ b/src/match/rdj-strgraph.h
@@ -94,6 +94,10 @@ typedef enum {
   GT_STRGRAPH_BIN,     /* binary format, for gt_strgraph_new_from_file */
   GT_STRGRAPH_ASQG,    /* sga format, plain text */
   GT_STRGRAPH_ASQG_GZ, /* sga format, gzipped */
+  GT_STRGRAPH_GFA1,    /* gfa1 format, plain text */
+  GT_STRGRAPH_GFA1_GZ ,/* gfa1 format, gzipped */
+  GT_STRGRAPH_GFA2,    /* gfa2 format, plain text */
+  GT_STRGRAPH_GFA2_GZ ,/* gfa2 format, gzipped */
 } GtStrgraphFormat;
 
 void gt_strgraph_show(const GtStrgraph *strgraph, GtStrgraphFormat format,
diff --git a/src/match/rectangle-store.c b/src/match/rectangle-store.c
new file mode 100644
index 0000000..f6cdb66
--- /dev/null
+++ b/src/match/rectangle-store.c
@@ -0,0 +1,158 @@
+#include <stdint.h>
+#include "core/arraydef.h"
+#include "match/rectangle-store.h"
+
+struct GtArrayGtDiagbandseedRectangle
+{
+  GtDiagbandseedRectangle *spaceGtDiagbandseedRectangle;
+  GtUword allocatedGtDiagbandseedRectangle,
+          nextfreeGtDiagbandseedRectangle;
+};
+
+static int gt_rectangle_cmp(const GtDiagbandseedRectangle *l,
+                            const GtDiagbandseedRectangle *r)
+{
+  if (l->a_end < r->a_end)
+  {
+    return -1;
+  }
+  if (l->a_end > r->a_end)
+  {
+    return 1;
+  }
+  if (l->b_end < r->b_end)
+  {
+    return -1;
+  }
+  if (l->b_end > r->b_end)
+  {
+    return 1;
+  }
+  /*
+  fprintf(stderr,"%s: cmp(%u,%u)(%u,%u) vs (%u,%u)(%u,%u)\n",__func__,
+                  l->a_start,l->a_end,l->b_start,l->b_end,
+                  r->a_start,r->a_end,r->b_start,r->b_end);
+  */
+  return 0;
+}
+
+GtArrayGtDiagbandseedRectangle *gt_rectangle_store_new(void)
+{
+  GtArrayGtDiagbandseedRectangle *rectangle_store
+    = gt_malloc(sizeof *rectangle_store);
+  GT_INITARRAY(rectangle_store,GtDiagbandseedRectangle);
+  return rectangle_store;
+}
+
+void gt_rectangle_store_delete(GtArrayGtDiagbandseedRectangle *rectangle_store)
+{
+  if (rectangle_store != NULL)
+  {
+    GT_FREEARRAY(rectangle_store,GtDiagbandseedRectangle);
+    gt_free(rectangle_store);
+  }
+}
+
+void gt_rectangle_store_add(GtArrayGtDiagbandseedRectangle *rectangle_store,
+                            const GtDiagbandseedRectangle *key)
+{
+  GtDiagbandseedRectangle *ptr;
+
+  GT_CHECKARRAYSPACE(rectangle_store,GtDiagbandseedRectangle,
+                     256UL +
+                     rectangle_store->allocatedGtDiagbandseedRectangle * 0.2);
+  for (ptr = rectangle_store->spaceGtDiagbandseedRectangle +
+             rectangle_store->nextfreeGtDiagbandseedRectangle;
+       ptr > rectangle_store->spaceGtDiagbandseedRectangle &&
+       gt_rectangle_cmp(ptr-1,key) > 0; ptr--)
+  {
+    *ptr = *(ptr-1);
+  }
+  *ptr = *key;
+  rectangle_store->nextfreeGtDiagbandseedRectangle++;
+}
+
+const GtDiagbandseedRectangle *gt_rectangle_previous_equal(
+                   const GtArrayGtDiagbandseedRectangle *rectangle_store,
+                   const GtDiagbandseedRectangle *key)
+{
+  const GtDiagbandseedRectangle
+    *midptr,
+    *found = NULL,
+    *leftptr = rectangle_store->spaceGtDiagbandseedRectangle,
+    *rightptr = leftptr + rectangle_store->nextfreeGtDiagbandseedRectangle - 1;
+
+  while (leftptr <= rightptr)
+  {
+    midptr = leftptr + (GtUword) (rightptr-leftptr)/2;
+    if (gt_rectangle_cmp(key,midptr) < 0)
+    {
+      rightptr = midptr - 1;
+    } else
+    {
+      /* Now key *midptr <= key. Hence *midptr satisfies the
+         requirement, but it may not be the largest element <= key. */
+      found = midptr;
+      /* if *midptr < key, then there may be a larger element and
+         therefore we search for it in the range
+         midptr+1 .. rightptr. if *midptr == key, then we have found
+         the largest element and we can stop the search. */
+      if (gt_rectangle_cmp(key,midptr) > 0)
+      {
+        leftptr = midptr + 1;
+      } else
+      {
+        break;
+      }
+    }
+  }
+  /* if found == NULL, then we have never seen an element <= key and
+     so we return NULL. Otherwise found has been set in the else case
+     of the loop */
+  return found;
+}
+
+bool gt_rectangle_overlap(
+                   const GtArrayGtDiagbandseedRectangle *rectangle_store,
+                   const GtDiagbandseedRectangle *key)
+{
+  const GtDiagbandseedRectangle *ptr;
+/*
+    = gt_rectangle_previous_equal(rectangle_store,key)
+*/
+   ;
+
+/*
+  if (ptr == NULL)
+  {
+    ptr = rectangle_store->spaceGtDiagbandseedRectangle;
+  }
+*/
+  ptr = rectangle_store->spaceGtDiagbandseedRectangle;
+  while (ptr < rectangle_store->spaceGtDiagbandseedRectangle +
+               rectangle_store->nextfreeGtDiagbandseedRectangle)
+  {
+    if (ptr->a_start <= key->a_end && ptr->a_end >= key->a_start &&
+        ptr->b_start <= key->b_end && ptr->b_end >= key->b_start)
+    {
+      return true;
+    }
+    ptr++;
+  }
+  return false;
+}
+
+void gt_rectangle_store_show(const GtArrayGtDiagbandseedRectangle
+                                *rectangle_store)
+{
+  const GtDiagbandseedRectangle *key;
+
+  printf("# %s\n",__func__);
+  for (key = rectangle_store->spaceGtDiagbandseedRectangle;
+       key < rectangle_store->spaceGtDiagbandseedRectangle +
+             rectangle_store->nextfreeGtDiagbandseedRectangle; key++)
+  {
+     printf("# %u %u %u %u\n",key->a_start,key->a_end,
+                              key->b_start,key->b_end);
+  }
+}
diff --git a/src/match/rectangle-store.h b/src/match/rectangle-store.h
new file mode 100644
index 0000000..42aafe9
--- /dev/null
+++ b/src/match/rectangle-store.h
@@ -0,0 +1,25 @@
+#ifndef RECTANGLE_STORE_H
+#define RECTANGLE_STORE_H
+#include <stdint.h>
+
+typedef struct GtArrayGtDiagbandseedRectangle GtArrayGtDiagbandseedRectangle;
+
+typedef struct
+{
+  uint32_t a_start, a_end, b_start, b_end;
+} GtDiagbandseedRectangle;
+
+GtArrayGtDiagbandseedRectangle *gt_rectangle_store_new(void);
+
+void gt_rectangle_store_delete(GtArrayGtDiagbandseedRectangle *rectangle_store);
+
+void gt_rectangle_store_add(GtArrayGtDiagbandseedRectangle *rectangle_store,
+                            const GtDiagbandseedRectangle *key);
+
+bool gt_rectangle_overlap(
+                   const GtArrayGtDiagbandseedRectangle *rectangle_store,
+                   const GtDiagbandseedRectangle *key);
+
+void gt_rectangle_store_show(const GtArrayGtDiagbandseedRectangle
+                                *rectangle_store);
+#endif
diff --git a/src/match/se-display-fwd.inc b/src/match/se-display-fwd.inc
new file mode 100644
index 0000000..3ec2ae9
--- /dev/null
+++ b/src/match/se-display-fwd.inc
@@ -0,0 +1,85 @@
+/* This file was generated by ./scripts/gen-display-struct.rb, do NOT edit. */
+#define GT_DISPLAY_LARGEST_FLAG 38
+#define GT_MAX_DISPLAY_FLAG_LENGTH 16
+#define GT_SEED_EXTEND_DEFAULT_ALIGNMENT_WIDTH 60
+#define GT_SEED_EXTEND_DEFAULT_TRACE_DELTA 50
+typedef enum
+{
+  Gt_Alignment_display /* 0 */,
+  Gt_Seed_in_algn_display /* 1 */,
+  Gt_Polinfo_display /* 2 */,
+  Gt_Seed_display /* 3 */,
+  Gt_Failed_seed_display /* 4 */,
+  Gt_Fstperquery_display /* 5 */,
+  Gt_Tabsep_display /* 6 */,
+  Gt_Blast_display /* 7 */,
+  Gt_Gfa2_display /* 8 */,
+  Gt_Custom_display /* 9 */,
+  Gt_Cigar_display /* 10 */,
+  Gt_Cigarx_display /* 11 */,
+  Gt_Trace_display /* 12 */,
+  Gt_Dtrace_display /* 13 */,
+  Gt_S_len_display /* 14 */,
+  Gt_S_seqnum_display /* 15 */,
+  Gt_Subjectid_display /* 16 */,
+  Gt_S_start_display /* 17 */,
+  Gt_S_end_display /* 18 */,
+  Gt_Strand_display /* 19 */,
+  Gt_Q_len_display /* 20 */,
+  Gt_Q_seqnum_display /* 21 */,
+  Gt_Queryid_display /* 22 */,
+  Gt_Q_start_display /* 23 */,
+  Gt_Q_end_display /* 24 */,
+  Gt_Alignmentlength_display /* 25 */,
+  Gt_Mismatches_display /* 26 */,
+  Gt_Indels_display /* 27 */,
+  Gt_Gapopens_display /* 28 */,
+  Gt_Score_display /* 29 */,
+  Gt_Editdist_display /* 30 */,
+  Gt_Identity_display /* 31 */,
+  Gt_Seed_len_display /* 32 */,
+  Gt_Seed_s_display /* 33 */,
+  Gt_Seed_q_display /* 34 */,
+  Gt_S_seqlen_display /* 35 */,
+  Gt_Q_seqlen_display /* 36 */,
+  Gt_Evalue_display /* 37 */,
+  Gt_Bitscore_display /* 38 */
+} GtSeedExtendDisplay_enum;
+bool gt_querymatch_seed_in_algn_display(const GtSeedExtendDisplayFlag *);
+bool gt_querymatch_polinfo_display(const GtSeedExtendDisplayFlag *);
+bool gt_querymatch_seed_display(const GtSeedExtendDisplayFlag *);
+bool gt_querymatch_failed_seed_display(const GtSeedExtendDisplayFlag *);
+bool gt_querymatch_fstperquery_display(const GtSeedExtendDisplayFlag *);
+bool gt_querymatch_tabsep_display(const GtSeedExtendDisplayFlag *);
+bool gt_querymatch_blast_display(const GtSeedExtendDisplayFlag *);
+bool gt_querymatch_gfa2_display(const GtSeedExtendDisplayFlag *);
+bool gt_querymatch_custom_display(const GtSeedExtendDisplayFlag *);
+bool gt_querymatch_cigar_display(const GtSeedExtendDisplayFlag *);
+bool gt_querymatch_cigarX_display(const GtSeedExtendDisplayFlag *);
+bool gt_querymatch_trace_display(const GtSeedExtendDisplayFlag *);
+bool gt_querymatch_dtrace_display(const GtSeedExtendDisplayFlag *);
+bool gt_querymatch_s_len_display(const GtSeedExtendDisplayFlag *);
+bool gt_querymatch_s_seqnum_display(const GtSeedExtendDisplayFlag *);
+bool gt_querymatch_subjectid_display(const GtSeedExtendDisplayFlag *);
+bool gt_querymatch_s_start_display(const GtSeedExtendDisplayFlag *);
+bool gt_querymatch_s_end_display(const GtSeedExtendDisplayFlag *);
+bool gt_querymatch_strand_display(const GtSeedExtendDisplayFlag *);
+bool gt_querymatch_q_len_display(const GtSeedExtendDisplayFlag *);
+bool gt_querymatch_q_seqnum_display(const GtSeedExtendDisplayFlag *);
+bool gt_querymatch_queryid_display(const GtSeedExtendDisplayFlag *);
+bool gt_querymatch_q_start_display(const GtSeedExtendDisplayFlag *);
+bool gt_querymatch_q_end_display(const GtSeedExtendDisplayFlag *);
+bool gt_querymatch_alignmentlength_display(const GtSeedExtendDisplayFlag *);
+bool gt_querymatch_mismatches_display(const GtSeedExtendDisplayFlag *);
+bool gt_querymatch_indels_display(const GtSeedExtendDisplayFlag *);
+bool gt_querymatch_gapopens_display(const GtSeedExtendDisplayFlag *);
+bool gt_querymatch_score_display(const GtSeedExtendDisplayFlag *);
+bool gt_querymatch_editdist_display(const GtSeedExtendDisplayFlag *);
+bool gt_querymatch_identity_display(const GtSeedExtendDisplayFlag *);
+bool gt_querymatch_seed_len_display(const GtSeedExtendDisplayFlag *);
+bool gt_querymatch_seed_s_display(const GtSeedExtendDisplayFlag *);
+bool gt_querymatch_seed_q_display(const GtSeedExtendDisplayFlag *);
+bool gt_querymatch_s_seqlen_display(const GtSeedExtendDisplayFlag *);
+bool gt_querymatch_q_seqlen_display(const GtSeedExtendDisplayFlag *);
+bool gt_querymatch_evalue_display(const GtSeedExtendDisplayFlag *);
+bool gt_querymatch_bitscore_display(const GtSeedExtendDisplayFlag *);
diff --git a/src/match/se-display.inc b/src/match/se-display.inc
new file mode 100644
index 0000000..a264e83
--- /dev/null
+++ b/src/match/se-display.inc
@@ -0,0 +1,426 @@
+/* This file was generated by ./scripts/gen-display-struct.rb, do NOT edit. */
+static GtSEdisplayStruct gt_display_arguments_table[] =
+{
+/* incolumn is true iff the helptext of the argument begins
+   with the keyword "display" */
+  {"alignment", Gt_Alignment_display, false},
+  {"alignment length", Gt_Alignmentlength_display, true},
+  {"bit score", Gt_Bitscore_display, true},
+  {"blast", Gt_Blast_display, false},
+  {"cigar", Gt_Cigar_display, true},
+  {"cigarX", Gt_Cigarx_display, true},
+  {"custom", Gt_Custom_display, false},
+  {"dtrace", Gt_Dtrace_display, true},
+  {"editdist", Gt_Editdist_display, true},
+  {"evalue", Gt_Evalue_display, true},
+  {"failed_seed", Gt_Failed_seed_display, false},
+  {"fstperquery", Gt_Fstperquery_display, false},
+  {"gap opens", Gt_Gapopens_display, true},
+  {"gfa2", Gt_Gfa2_display, false},
+  {"identity", Gt_Identity_display, true},
+  {"indels", Gt_Indels_display, true},
+  {"mismatches", Gt_Mismatches_display, true},
+  {"polinfo", Gt_Polinfo_display, false},
+  {"q.end", Gt_Q_end_display, true},
+  {"q.len", Gt_Q_len_display, true},
+  {"q.seqlen", Gt_Q_seqlen_display, true},
+  {"q.seqnum", Gt_Q_seqnum_display, true},
+  {"q.start", Gt_Q_start_display, true},
+  {"query id", Gt_Queryid_display, true},
+  {"s.end", Gt_S_end_display, true},
+  {"s.len", Gt_S_len_display, true},
+  {"s.seqlen", Gt_S_seqlen_display, true},
+  {"s.seqnum", Gt_S_seqnum_display, true},
+  {"s.start", Gt_S_start_display, true},
+  {"score", Gt_Score_display, true},
+  {"seed", Gt_Seed_display, false},
+  {"seed.len", Gt_Seed_len_display, true},
+  {"seed.q", Gt_Seed_q_display, true},
+  {"seed.s", Gt_Seed_s_display, true},
+  {"seed_in_algn", Gt_Seed_in_algn_display, false},
+  {"strand", Gt_Strand_display, true},
+  {"subject id", Gt_Subjectid_display, true},
+  {"tabsep", Gt_Tabsep_display, false},
+  {"trace", Gt_Trace_display, true}
+};
+
+static unsigned int gt_display_flag2index[] = {
+   0,
+   34,
+   17,
+   30,
+   10,
+   11,
+   37,
+   3,
+   13,
+   6,
+   4,
+   5,
+   38,
+   7,
+   25,
+   27,
+   36,
+   28,
+   24,
+   35,
+   19,
+   21,
+   23,
+   22,
+   18,
+   1,
+   16,
+   15,
+   12,
+   29,
+   8,
+   14,
+   31,
+   33,
+   32,
+   26,
+   20,
+   9,
+   2
+};
+
+const char *gt_querymatch_display_help(void)
+{
+  return "specify what information about the matches to display\n"
+         "alignment:        show alignment (possibly followed by\n"
+         "                  =<number> to specify width of alignment\n"
+         "                  columns, default is )\n"
+         "seed_in_algn:     mark the seed in alignment\n"
+         "polinfo:          add polishing information for shown\n"
+         "                  alignment\n"
+         "seed:             abbreviation for seed.len seed.s seed.q\n"
+         "failed_seed:      show the coordinates of a seed extension,\n"
+         "                  which does not satisfy the filter conditions\n"
+         "fstperquery:      output only the first found match per query\n"
+         "tabsep:           separate columns by tabulator, instead of\n"
+         "                  space as default\n"
+         "blast:            output matches in blast format 7 (tabular with\n"
+         "                  comment lines; instead of gap opens, indels are\n"
+         "                  displayed)\n"
+         "gfa2:             output matches in gfa2 format\n"
+         "custom:           output matches in custom format, i.e. no\n"
+         "                  columns are pre-defined; all columns have to be\n"
+         "                  specified by the user\n"
+         "cigar:            display cigar string representing alignment\n"
+         "                  (no distinction between match and mismatch)\n"
+         "cigarX:           display cigar string representing alignment\n"
+         "                  (distinction between match (=) and mismatch\n"
+         "                  (X))\n"
+         "trace:            display trace, i.e. a compact representation\n"
+         "                  of an alignment (possibly followed by =<delta>)\n"
+         "                  to specify the delta-value; default value of\n"
+         "                  delta is 50\n"
+         "dtrace:           display trace as differences; like trace, but\n"
+         "                  instead of an absolute value x, report the\n"
+         "                  difference delta-x. This leads to smaller\n"
+         "                  numbers and thus a more compact representation\n"
+         "s.len:            display length of match on subject sequence\n"
+         "s.seqnum:         display sequence number of subject sequence\n"
+         "subject id:       display sequence description of subject\n"
+         "                  sequence\n"
+         "s.start:          display start position of match on subject\n"
+         "                  sequence\n"
+         "s.end:            display end position of match on subject\n"
+         "                  sequence\n"
+         "strand:           display strand of match using symbols F\n"
+         "                  (forward) and P (reverse complement)\n"
+         "q.len:            display length of match on query sequence\n"
+         "q.seqnum:         display sequence number of query sequence\n"
+         "query id:         display sequence description of query\n"
+         "                  sequence\n"
+         "q.start:          display start position of match on query\n"
+         "                  sequence\n"
+         "q.end:            display end position of match on query\n"
+         "                  sequence\n"
+         "alignment length: display length of alignment\n"
+         "mismatches:       display number of mismatches in alignment\n"
+         "indels:           display number of indels in alignment\n"
+         "gap opens:        display number of indels in alignment\n"
+         "score:            display score of match\n"
+         "editdist:         display unit edit distance\n"
+         "identity:         display percent identity of match\n"
+         "seed.len:         display length seed of the match\n"
+         "seed.s:           display start position of seed in subject\n"
+         "seed.q:           display start position of seed in query\n"
+         "s.seqlen:         display length of subject sequence in which\n"
+         "                  match occurs\n"
+         "q.seqlen:         display length of query sequence in which\n"
+         "                  match occurs\n"
+         "evalue:           display evalue\n"
+         "bit score:        display bit score\n"
+;
+}
+#define GT_SE_POSSIBLE_DISPLAY_ARGS "alignment"\
+        ", seed_in_algn"\
+        ", polinfo"\
+        ", seed"\
+        ", failed_seed"\
+        ", fstperquery"\
+        ", tabsep"\
+        ", blast"\
+        ", gfa2"\
+        ", custom"\
+        ", cigar"\
+        ", cigarX"\
+        ", trace"\
+        ", dtrace"\
+        ", s.len"\
+        ", s.seqnum"\
+        ", subject id"\
+        ", s.start"\
+        ", s.end"\
+        ", strand"\
+        ", q.len"\
+        ", q.seqnum"\
+        ", query id"\
+        ", q.start"\
+        ", q.end"\
+        ", alignment length"\
+        ", mismatches"\
+        ", indels"\
+        ", gap opens"\
+        ", score"\
+        ", editdist"\
+        ", identity"\
+        ", seed.len"\
+        ", seed.s"\
+        ", seed.q"\
+        ", s.seqlen"\
+        ", q.seqlen"\
+        ", evalue"\
+        ", bit score"
+
+bool gt_querymatch_seed_in_algn_display(const GtSeedExtendDisplayFlag
+                                        *display_flag)
+{
+  return gt_querymatch_display_on(display_flag,Gt_Seed_in_algn_display);
+}
+
+bool gt_querymatch_polinfo_display(const GtSeedExtendDisplayFlag
+                                        *display_flag)
+{
+  return gt_querymatch_display_on(display_flag,Gt_Polinfo_display);
+}
+
+bool gt_querymatch_seed_display(const GtSeedExtendDisplayFlag
+                                        *display_flag)
+{
+  return gt_querymatch_display_on(display_flag,Gt_Seed_display);
+}
+
+bool gt_querymatch_failed_seed_display(const GtSeedExtendDisplayFlag
+                                        *display_flag)
+{
+  return gt_querymatch_display_on(display_flag,Gt_Failed_seed_display);
+}
+
+bool gt_querymatch_fstperquery_display(const GtSeedExtendDisplayFlag
+                                        *display_flag)
+{
+  return gt_querymatch_display_on(display_flag,Gt_Fstperquery_display);
+}
+
+bool gt_querymatch_tabsep_display(const GtSeedExtendDisplayFlag
+                                        *display_flag)
+{
+  return gt_querymatch_display_on(display_flag,Gt_Tabsep_display);
+}
+
+bool gt_querymatch_blast_display(const GtSeedExtendDisplayFlag
+                                        *display_flag)
+{
+  return gt_querymatch_display_on(display_flag,Gt_Blast_display);
+}
+
+bool gt_querymatch_gfa2_display(const GtSeedExtendDisplayFlag
+                                        *display_flag)
+{
+  return gt_querymatch_display_on(display_flag,Gt_Gfa2_display);
+}
+
+bool gt_querymatch_custom_display(const GtSeedExtendDisplayFlag
+                                        *display_flag)
+{
+  return gt_querymatch_display_on(display_flag,Gt_Custom_display);
+}
+
+bool gt_querymatch_cigar_display(const GtSeedExtendDisplayFlag
+                                        *display_flag)
+{
+  return gt_querymatch_display_on(display_flag,Gt_Cigar_display);
+}
+
+bool gt_querymatch_cigarX_display(const GtSeedExtendDisplayFlag
+                                        *display_flag)
+{
+  return gt_querymatch_display_on(display_flag,Gt_Cigarx_display);
+}
+
+bool gt_querymatch_trace_display(const GtSeedExtendDisplayFlag
+                                        *display_flag)
+{
+  return gt_querymatch_display_on(display_flag,Gt_Trace_display);
+}
+
+bool gt_querymatch_dtrace_display(const GtSeedExtendDisplayFlag
+                                        *display_flag)
+{
+  return gt_querymatch_display_on(display_flag,Gt_Dtrace_display);
+}
+
+bool gt_querymatch_s_len_display(const GtSeedExtendDisplayFlag
+                                        *display_flag)
+{
+  return gt_querymatch_display_on(display_flag,Gt_S_len_display);
+}
+
+bool gt_querymatch_s_seqnum_display(const GtSeedExtendDisplayFlag
+                                        *display_flag)
+{
+  return gt_querymatch_display_on(display_flag,Gt_S_seqnum_display);
+}
+
+bool gt_querymatch_subjectid_display(const GtSeedExtendDisplayFlag
+                                        *display_flag)
+{
+  return gt_querymatch_display_on(display_flag,Gt_Subjectid_display);
+}
+
+bool gt_querymatch_s_start_display(const GtSeedExtendDisplayFlag
+                                        *display_flag)
+{
+  return gt_querymatch_display_on(display_flag,Gt_S_start_display);
+}
+
+bool gt_querymatch_s_end_display(const GtSeedExtendDisplayFlag
+                                        *display_flag)
+{
+  return gt_querymatch_display_on(display_flag,Gt_S_end_display);
+}
+
+bool gt_querymatch_strand_display(const GtSeedExtendDisplayFlag
+                                        *display_flag)
+{
+  return gt_querymatch_display_on(display_flag,Gt_Strand_display);
+}
+
+bool gt_querymatch_q_len_display(const GtSeedExtendDisplayFlag
+                                        *display_flag)
+{
+  return gt_querymatch_display_on(display_flag,Gt_Q_len_display);
+}
+
+bool gt_querymatch_q_seqnum_display(const GtSeedExtendDisplayFlag
+                                        *display_flag)
+{
+  return gt_querymatch_display_on(display_flag,Gt_Q_seqnum_display);
+}
+
+bool gt_querymatch_queryid_display(const GtSeedExtendDisplayFlag
+                                        *display_flag)
+{
+  return gt_querymatch_display_on(display_flag,Gt_Queryid_display);
+}
+
+bool gt_querymatch_q_start_display(const GtSeedExtendDisplayFlag
+                                        *display_flag)
+{
+  return gt_querymatch_display_on(display_flag,Gt_Q_start_display);
+}
+
+bool gt_querymatch_q_end_display(const GtSeedExtendDisplayFlag
+                                        *display_flag)
+{
+  return gt_querymatch_display_on(display_flag,Gt_Q_end_display);
+}
+
+bool gt_querymatch_alignmentlength_display(const GtSeedExtendDisplayFlag
+                                        *display_flag)
+{
+  return gt_querymatch_display_on(display_flag,Gt_Alignmentlength_display);
+}
+
+bool gt_querymatch_mismatches_display(const GtSeedExtendDisplayFlag
+                                        *display_flag)
+{
+  return gt_querymatch_display_on(display_flag,Gt_Mismatches_display);
+}
+
+bool gt_querymatch_indels_display(const GtSeedExtendDisplayFlag
+                                        *display_flag)
+{
+  return gt_querymatch_display_on(display_flag,Gt_Indels_display);
+}
+
+bool gt_querymatch_gapopens_display(const GtSeedExtendDisplayFlag
+                                        *display_flag)
+{
+  return gt_querymatch_display_on(display_flag,Gt_Gapopens_display);
+}
+
+bool gt_querymatch_score_display(const GtSeedExtendDisplayFlag
+                                        *display_flag)
+{
+  return gt_querymatch_display_on(display_flag,Gt_Score_display);
+}
+
+bool gt_querymatch_editdist_display(const GtSeedExtendDisplayFlag
+                                        *display_flag)
+{
+  return gt_querymatch_display_on(display_flag,Gt_Editdist_display);
+}
+
+bool gt_querymatch_identity_display(const GtSeedExtendDisplayFlag
+                                        *display_flag)
+{
+  return gt_querymatch_display_on(display_flag,Gt_Identity_display);
+}
+
+bool gt_querymatch_seed_len_display(const GtSeedExtendDisplayFlag
+                                        *display_flag)
+{
+  return gt_querymatch_display_on(display_flag,Gt_Seed_len_display);
+}
+
+bool gt_querymatch_seed_s_display(const GtSeedExtendDisplayFlag
+                                        *display_flag)
+{
+  return gt_querymatch_display_on(display_flag,Gt_Seed_s_display);
+}
+
+bool gt_querymatch_seed_q_display(const GtSeedExtendDisplayFlag
+                                        *display_flag)
+{
+  return gt_querymatch_display_on(display_flag,Gt_Seed_q_display);
+}
+
+bool gt_querymatch_s_seqlen_display(const GtSeedExtendDisplayFlag
+                                        *display_flag)
+{
+  return gt_querymatch_display_on(display_flag,Gt_S_seqlen_display);
+}
+
+bool gt_querymatch_q_seqlen_display(const GtSeedExtendDisplayFlag
+                                        *display_flag)
+{
+  return gt_querymatch_display_on(display_flag,Gt_Q_seqlen_display);
+}
+
+bool gt_querymatch_evalue_display(const GtSeedExtendDisplayFlag
+                                        *display_flag)
+{
+  return gt_querymatch_display_on(display_flag,Gt_Evalue_display);
+}
+
+bool gt_querymatch_bitscore_display(const GtSeedExtendDisplayFlag
+                                        *display_flag)
+{
+  return gt_querymatch_display_on(display_flag,Gt_Bitscore_display);
+}
diff --git a/src/match/seed-extend-iter.c b/src/match/seed-extend-iter.c
index 0dfcba1..4d03614 100644
--- a/src/match/seed-extend-iter.c
+++ b/src/match/seed-extend-iter.c
@@ -15,6 +15,7 @@
   OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 */
 
+#include <float.h>
 #include "core/ma_api.h"
 #include "core/str_api.h"
 #include "core/encseq.h"
@@ -25,21 +26,22 @@
 struct GtSeedextendMatchIterator
 {
   GtStr *ii, *qii;
-  bool mirror, bias_parameters, seqlength_display;
+  bool mirror, bias_parameters;
   GtEncseq *aencseq, *bencseq;
   GtUword errorpercentage, history_size;
   const char *matchfilename;
   GtStr *line_buffer;
   uint64_t linenum;
-  bool has_seedline;
-  GtUword seedpos1,
-          seedpos2,
-          seedlen;
   FILE *inputfileptr;
+  double  evalue, bitscore;
   GtUword currentmatchindex;
   GtQuerymatch *currentmatch, *querymatchptr;
   GtQuerymatchoutoptions *querymatchoutoptions;
   GtArrayGtQuerymatch querymatch_table;
+  GtSeedExtendDisplayFlag *in_display_flag;
+  GtStr *saved_options_line;
+  GtUword trace_delta;
+  bool missing_fields_line;
 };
 
 void gt_seedextend_match_iterator_delete(GtSeedextendMatchIterator *semi)
@@ -60,6 +62,8 @@ void gt_seedextend_match_iterator_delete(GtSeedextendMatchIterator *semi)
   {
     fclose(semi->inputfileptr);
   }
+  gt_querymatch_display_flag_delete(semi->in_display_flag);
+  gt_str_delete(semi->saved_options_line);
   gt_free(semi);
 }
 
@@ -86,7 +90,7 @@ GtSeedextendMatchIterator *gt_seedextend_match_iterator_new(
                                             const GtStr *matchfilename,
                                             GtError *err)
 {
-  FILE *options_line_inputfileptr;
+  FILE *defline_infp;
   int had_err = 0;
   GtSeedextendMatchIterator *semi = gt_malloc(sizeof *semi);
   GtEncseqLoader *encseq_loader = NULL;
@@ -95,22 +99,24 @@ GtSeedextendMatchIterator *gt_seedextend_match_iterator_new(
   semi->qii = gt_str_new();
   semi->mirror = false;
   semi->bias_parameters = false;
-  semi->seqlength_display = false;
   semi->aencseq = semi->bencseq = NULL;
   semi->errorpercentage = 0;
   semi->history_size = 0;
   semi->matchfilename = gt_str_get(matchfilename);
-  semi->has_seedline = false;
   semi->line_buffer = NULL;
   semi->inputfileptr = NULL;
   semi->querymatchptr = gt_querymatch_new();
   semi->currentmatchindex = GT_UWORD_MAX;
+  semi->evalue = DBL_MAX;
+  semi->bitscore = DBL_MAX;
   semi->currentmatch = NULL;
   semi->querymatchoutoptions = NULL;
-  semi->seedpos1 = semi->seedpos2 = semi->seedlen = GT_UWORD_MAX;
+  semi->in_display_flag = NULL;
+  semi->trace_delta = GT_SEED_EXTEND_DEFAULT_TRACE_DELTA;
+  semi->saved_options_line = NULL;
   GT_INITARRAY(&semi->querymatch_table,GtQuerymatch);
-  options_line_inputfileptr = fopen(semi->matchfilename, "r");
-  if (options_line_inputfileptr == NULL)
+  defline_infp = fopen(semi->matchfilename, "r");
+  if (defline_infp == NULL)
   {
     gt_error_set(err, "file %s does not exist", semi->matchfilename);
     had_err = -1;
@@ -119,14 +125,14 @@ GtSeedextendMatchIterator *gt_seedextend_match_iterator_new(
   {
     GtStr *options_line_buffer = gt_str_new();
     /* read first line and evaluate tokens */
-    if (gt_str_read_next_line(options_line_buffer,
-                              options_line_inputfileptr) != EOF)
+    if (gt_str_read_next_line(options_line_buffer,defline_infp) != EOF)
     {
-      char *tok, *lineptr = gt_str_get(options_line_buffer);
+      char *tok, *line_ptr = gt_str_get(options_line_buffer);
       bool parse_ii = false, parse_qii = false, parse_minid = false,
-           parse_history = false;;
+           parse_history = false, parse_outfmt = false;
 
-      while (!had_err && (tok = strsep(&lineptr," ")) != NULL)
+      semi->saved_options_line = gt_str_clone(options_line_buffer);
+      while (!had_err && (tok = strsep(&line_ptr," ")) != NULL)
       {
         if (parse_minid || parse_history)
         {
@@ -154,6 +160,21 @@ GtSeedextendMatchIterator *gt_seedextend_match_iterator_new(
           }
           continue;
         }
+        if (parse_outfmt)
+        {
+          GtWord this_trace_delta;
+
+          if (sscanf(tok,"trace=" GT_WD,&this_trace_delta) == 1 ||
+              sscanf(tok,"dtrace=" GT_WD,&this_trace_delta) == 1)
+          {
+            if (this_trace_delta < 0)
+            {
+              gt_error_set(err,"value of trace= cannot be negative");
+              had_err = -1;
+            }
+            semi->trace_delta = (GtUword) this_trace_delta;
+          }
+        }
         if (parse_ii)
         {
           gt_str_set(semi->ii, tok);
@@ -169,42 +190,47 @@ GtSeedextendMatchIterator *gt_seedextend_match_iterator_new(
         if (strcmp(tok, "-ii") == 0)
         {
           parse_ii = true;
+          parse_outfmt = false;
           continue;
         }
         if (strcmp(tok, "-qii") == 0)
         {
           parse_qii = true;
+          parse_outfmt = false;
           continue;
         }
         if (strcmp(tok, "-minidentity") == 0)
         {
           parse_minid = true;
+          parse_outfmt = false;
           continue;
         }
         if (strcmp(tok, "-history") == 0)
         {
           parse_history = true;
+          parse_outfmt = false;
           continue;
         }
         if (strcmp(tok, "-mirror") == 0)
         {
+          parse_outfmt = false;
           semi->mirror = true; /* found -mirror option */
         }
         if (strcmp(tok, "-bias-parameters") == 0)
         {
+          parse_outfmt = false;
           semi->bias_parameters = true;
         }
-        if (strcmp(tok, "-seqlength-display") == 0)
+        if (strcmp(tok, "-outfmt") == 0)
         {
-          semi->seqlength_display = true;
+          parse_outfmt = true;
         }
       }
       if (!had_err)
       {
         if (gt_str_length(semi->ii) == 0UL)
         {
-          gt_error_set(err, "need output of option string "
-                            "(run gt seed_extend with -v or -verify)");
+          gt_error_set(err, "missing option string");
           had_err = -1;
         }
         if (semi->errorpercentage == 0)
@@ -218,12 +244,39 @@ GtSeedextendMatchIterator *gt_seedextend_match_iterator_new(
     {
       gt_error_set(err, "file %s is empty", semi->matchfilename);
       had_err = -1;
-    }
+    };
     gt_str_delete(options_line_buffer);
   }
-  if (options_line_inputfileptr != NULL)
+  if (!had_err)
+  {
+    GtStr *fieldsline_buffer = gt_str_new();
+    GtStrArray *fields = NULL;
+
+    while (gt_str_read_next_line(fieldsline_buffer,defline_infp) != EOF &&
+           fields == NULL)
+    {
+      char *line_ptr = gt_str_get(fieldsline_buffer);
+      fields = gt_querymatch_read_Fields_line(line_ptr);
+
+      gt_str_reset(fieldsline_buffer);
+    }
+    gt_str_delete(fieldsline_buffer);
+    if (fields != NULL)
+    {
+      const GtSeedExtendDisplaySetMode setmode = GT_SEED_EXTEND_DISPLAY_SET_NO;
+
+      semi->in_display_flag = gt_querymatch_display_flag_new(fields,setmode,
+                                                             err);
+      if (semi->in_display_flag == NULL)
+      {
+        had_err = -1;
+      }
+      gt_str_array_delete(fields);
+    }
+  }
+  if (defline_infp != NULL)
   {
-    fclose(options_line_inputfileptr);
+    fclose(defline_infp);
   }
   /* Load encseqs */
   if (!had_err)
@@ -277,6 +330,7 @@ GtQuerymatch *gt_seedextend_match_iterator_next(GtSeedextendMatchIterator *semi)
 {
   bool selfmatch;
 
+  gt_assert(semi != NULL);
   if (semi->currentmatchindex < GT_UWORD_MAX)
   {
     if (semi->currentmatchindex == semi->querymatch_table.nextfreeGtQuerymatch)
@@ -300,44 +354,23 @@ GtQuerymatch *gt_seedextend_match_iterator_next(GtSeedextendMatchIterator *semi)
       break;
     }
     line_ptr = gt_str_get(semi->line_buffer);
-    /* ignore comment lines; but print seeds if -seed-display is set */
     gt_assert(line_ptr != NULL);
-    if (line_ptr[0] != '\n')
+    if (line_ptr[0] != '\n' && line_ptr[0] != '#')
     {
-      if (line_ptr[0] == '#')
-      {
-        const char *seedwordptr = strstr(line_ptr, "seed:");
-
-        if (seedwordptr != NULL)
-        {
-          int num = sscanf(seedwordptr + sizeof ("seed:"),
-                           GT_WU " " GT_WU " " GT_WU,
-                           &semi->seedpos1,&semi->seedpos2,
-                           &semi->seedlen);
-          semi->has_seedline = num == 3 ? true : false;
-        } else
-        {
-          semi->has_seedline = false;
-          semi->seedpos1 = semi->seedpos2 = semi->seedlen = GT_UWORD_MAX;
-        }
-      } else
+      if (semi->in_display_flag == NULL)
       {
-        if (gt_querymatch_read_line(semi->querymatchptr,
-                                    semi->seqlength_display,
-                                    line_ptr,
-                                    selfmatch,
-                                    semi->seedpos1,
-                                    semi->seedpos2,
-                                    semi->seedlen,
-                                    semi->aencseq,
-                                    semi->bencseq))
-        {
-          gt_str_reset(semi->line_buffer);
-          semi->seedpos1 = semi->seedpos2 = semi->seedlen = GT_UWORD_MAX;
-          return semi->querymatchptr;
-        }
+        return NULL;
       }
+      gt_querymatch_read_line(semi->querymatchptr,
+                              &semi->evalue,
+                              &semi->bitscore,
+                              line_ptr,
+                              semi->in_display_flag,
+                              selfmatch,
+                              semi->aencseq,
+                              semi->bencseq);
       gt_str_reset(semi->line_buffer);
+      return semi->querymatchptr;
     }
     gt_str_reset(semi->line_buffer);
   }
@@ -379,57 +412,53 @@ bool gt_seedextend_match_iterator_bias_parameters(
   return semi->bias_parameters;
 }
 
-bool gt_seedextend_match_iterator_seqlength_display(
+bool gt_seedextend_match_iterator_has_seed(
                         const GtSeedextendMatchIterator *semi)
 {
   gt_assert(semi != NULL);
-  return semi->seqlength_display;
+  return gt_querymatch_has_seed(semi->in_display_flag);
 }
 
-bool gt_seedextend_match_iterator_has_seedline(
+bool gt_seedextend_match_iterator_has_cigar(
                         const GtSeedextendMatchIterator *semi)
 {
   gt_assert(semi != NULL);
-  if (semi->currentmatch != NULL)
-  {
-    return gt_querymatch_has_seed(semi->currentmatch);
-  }
-  return semi->has_seedline;
+  return gt_querymatch_cigar_display(semi->in_display_flag) ||
+         gt_querymatch_cigarX_display(semi->in_display_flag);
 }
 
-GtQuerymatch *gt_seedextend_match_iterator_querymatch_ptr(
-                        GtSeedextendMatchIterator *semi)
+GtUword gt_seedextend_match_iterator_trace_delta(
+                        const GtSeedextendMatchIterator *semi)
 {
   gt_assert(semi != NULL);
-  return semi->querymatchptr;
+  return (gt_querymatch_trace_display(semi->in_display_flag) ||
+          gt_querymatch_dtrace_display(semi->in_display_flag))
+           ? semi->trace_delta : 0;
 }
 
-GtUword gt_seedextend_match_iterator_seedlen(
-                          const GtSeedextendMatchIterator *semi)
+bool gt_seedextend_match_iterator_dtrace(const GtSeedextendMatchIterator *semi)
 {
-  gt_assert(semi != NULL && semi->has_seedline);
-  return semi->seedlen;
+  return gt_querymatch_dtrace_display(semi->in_display_flag) ? true : false;
 }
 
-GtUword gt_seedextend_match_iterator_seedpos1(
-                         const GtSeedextendMatchIterator *semi)
+double gt_seedextend_match_iterator_evalue(const GtSeedextendMatchIterator
+                                              *semi)
 {
-  gt_assert(semi != NULL && semi->has_seedline);
-  return semi->seedpos1;
+  gt_assert(semi != NULL);
+  return semi->evalue;
 }
 
-GtUword gt_seedextend_match_iterator_seedpos2(
-                        const GtSeedextendMatchIterator *semi)
+double gt_seedextend_match_iterator_bitscore(
+                  const GtSeedextendMatchIterator *semi)
 {
-  gt_assert(semi != NULL && semi->has_seedline);
-  return semi->seedpos2;
+  gt_assert(semi != NULL);
+  return semi->bitscore;
 }
 
-void gt_seedextend_match_iterator_display_set(GtSeedextendMatchIterator *semi,
-                                              unsigned int display_flag)
+void gt_seedextend_match_iterator_verify_alignment_set(
+                                  GtSeedextendMatchIterator *semi)
 {
-  gt_assert(semi != NULL);
-  gt_querymatch_display_set(semi->querymatchptr,display_flag);
+  gt_querymatch_verify_alignment_set(semi->querymatchptr);
 }
 
 GtUword gt_seedextend_match_iterator_all_sorted(GtSeedextendMatchIterator *semi,
@@ -458,18 +487,30 @@ GtQuerymatch *gt_seedextend_match_iterator_get(
   return gt_querymatch_table_get(&semi->querymatch_table,idx);
 }
 
-void gt_seedextend_match_iterator_querymatchoutoptions_set(
+int gt_seedextend_match_iterator_querymatchoutoptions_set(
                     GtSeedextendMatchIterator *semi,
-                    bool generatealignment,
-                    bool showeoplist,
-                    GtUword alignmentwidth,
                     bool always_polished_ends,
-                    unsigned int display_flag)
+                    GtExtendCharAccess a_extend_char_access,
+                    GtExtendCharAccess b_extend_char_access,
+                    const GtSeedExtendDisplayFlag *out_display_flag,
+                    GtError *err)
 {
   double matchscore_bias = GT_DEFAULT_MATCHSCORE_BIAS;
 
   semi->querymatchoutoptions
-    = gt_querymatchoutoptions_new(generatealignment,showeoplist,alignmentwidth);
+    = gt_querymatchoutoptions_new(out_display_flag,gt_str_get(semi->ii),err);
+  if (semi->querymatchoutoptions == NULL)
+  {
+    return -1;
+  }
+  gt_assert(semi->in_display_flag != NULL && out_display_flag != NULL);
+  if (gt_querymatch_cigar_display(semi->in_display_flag) &&
+      gt_querymatch_cigarX_display(out_display_flag))
+  {
+    gt_error_set(err,"match file with alignments in cigar format cannot be "
+                     "converted to cigarX format");
+    return -1;
+  }
   if (gt_seedextend_match_iterator_bias_parameters(semi))
   {
     matchscore_bias = gt_greedy_dna_sequence_bias_get(semi->aencseq);
@@ -479,6 +520,16 @@ void gt_seedextend_match_iterator_querymatchoutoptions_set(
                             matchscore_bias,
                             gt_seedextend_match_iterator_history_size(semi),
                             always_polished_ends,
-                            display_flag);
+                            a_extend_char_access,
+                            b_extend_char_access,
+                            out_display_flag);
   gt_querymatch_outoptions_set(semi->querymatchptr,semi->querymatchoutoptions);
+  return 0;
+}
+
+const char *gt_seedextend_match_iterator_Options_line(
+                    const GtSeedextendMatchIterator *semi)
+{
+  gt_assert(semi != NULL && semi->saved_options_line != NULL);
+  return gt_str_get(semi->saved_options_line);
 }
diff --git a/src/match/seed-extend-iter.h b/src/match/seed-extend-iter.h
index 97125f5..0f330fc 100644
--- a/src/match/seed-extend-iter.h
+++ b/src/match/seed-extend-iter.h
@@ -45,12 +45,6 @@ void gt_seedextend_match_iterator_delete(GtSeedextendMatchIterator *semi);
 GtQuerymatch *gt_seedextend_match_iterator_next(
                              GtSeedextendMatchIterator *semi);
 
-/* The following functions set the display flag of the iterators
-   querymatch-object. */
-
-void gt_seedextend_match_iterator_display_set(GtSeedextendMatchIterator *semi,
-                                              unsigned int display_flag);
-
 /* The following function reads all matches into an arrays and sorts the,. If
    <ascending is true, then all matches are sorted in ascending order of
    the query position they occur at. Otherwise, all matches are sorted in
@@ -73,13 +67,13 @@ GtQuerymatch *gt_seedextend_match_iterator_get(
    list is required, then set <generatealignment> to <true>,
    <alignmentwidth> to 0 and the other three boolean parameters to <false>. */
 
-void gt_seedextend_match_iterator_querymatchoutoptions_set(
+int gt_seedextend_match_iterator_querymatchoutoptions_set(
                     GtSeedextendMatchIterator *semi,
-                    bool generatealignment,
-                    bool showeoplist,
-                    GtUword alignmentwidth,
                     bool always_polished_ends,
-                    unsigned int display_flag);
+                    GtExtendCharAccess a_extend_char_access,
+                    GtExtendCharAccess b_extend_char_access,
+                    const GtSeedExtendDisplayFlag *out_display_flag,
+                    GtError *err);
 
 /* The following function return different components of the iterator
    object. */
@@ -99,80 +93,27 @@ GtUword gt_seedextend_match_iterator_errorpercentage(
 bool gt_seedextend_match_iterator_bias_parameters(
                         const GtSeedextendMatchIterator *semi);
 
-bool gt_seedextend_match_iterator_seqlength_display(
+bool gt_seedextend_match_iterator_has_seed(
+                        const GtSeedextendMatchIterator *semi);
+
+bool gt_seedextend_match_iterator_has_cigar(
                         const GtSeedextendMatchIterator *semi);
 
-bool gt_seedextend_match_iterator_has_seedline(
+GtUword gt_seedextend_match_iterator_trace_delta(
                         const GtSeedextendMatchIterator *semi);
 
-GtUword gt_seedextend_match_iterator_seedlen(
-                             const GtSeedextendMatchIterator *semi);
+bool gt_seedextend_match_iterator_dtrace(const GtSeedextendMatchIterator *semi);
 
-GtUword gt_seedextend_match_iterator_seedpos1(
-                             const GtSeedextendMatchIterator *semi);
+double gt_seedextend_match_iterator_evalue(const GtSeedextendMatchIterator
+                                             *semi);
 
-GtUword gt_seedextend_match_iterator_seedpos2(
-                            const GtSeedextendMatchIterator *semi);
+double gt_seedextend_match_iterator_bitscore(
+                      const GtSeedextendMatchIterator *semi);
 
-#endif
+const char *gt_seedextend_match_iterator_Options_line(
+                    const GtSeedextendMatchIterator *semi);
+
+void gt_seedextend_match_iterator_verify_alignment_set(
+                                  GtSeedextendMatchIterator *semi);
 
-/* Here is a typical use of the iterator: */
-#ifdef SOBANSKI_KEIL
-  GtSeedextendMatchIterator *semi
-    = gt_seedextend_match_iterator_new(matchfile,err);
-
-  if (semi == NULL)
-  {
-    had_err = -1;
-  } else
-  {
-    const bool ascending = false;
-
-    gt_seedextend_match_iterator_querymatchoutoptions_set(
-                    semi,
-                    true,
-                    false,
-                    0,
-                    false,
-                    false);
-    (void) gt_seedextend_match_iterator_all_sorted(semi,ascending);
-    while (true)
-    {
-      uint64_t queryseqnum;
-      GtUword querystart, queryend;
-      GtQuerymatch *querymatchptr = gt_seedextend_match_iterator_next(semi);
-      if (querymatchptr == NULL)
-      {
-        break;
-      }
-      queryseqnum = gt_querymatch_queryseqnum(querymatchptr);
-      querystart = gt_querymatch_querystart(querymatchptr);
-      querend = querystart + gt_querymatch_querylen(querymatchptr) - 1;
-      /* now process match in sequence queryseqnum with relativ
-         start and endpositions querystart and queryend */
-    }
-  }
-
-  /* When processing the chain first declare the following: */
-
-  GtSeqorEncseq bseqorencseq;
-
-  bseqorencseq.seq = NULL;
-  bseqorencseq.encseq = bencseq;
-
-  /* for each match in the chain */
-
-  idx = chainelem->indexintableofallmatches;
-  querymatchptr = gt_seedextend_match_iterator_get(semi,idx);
-
-  if (gt_querymatch_process(querymatchptr,
-                            aencseq,
-                            &bseqorencseq,
-                            false) != 0)
-  {
-    GtAlignment *alignment = gt_querymatch_alignment_get(querymatchptr);
-
-    /* now use feed the eoplist of the alignment with the required
-       coordinates into the condenser */
-  }
 #endif
diff --git a/src/match/seed-extend.c b/src/match/seed-extend.c
index a51a4c3..340724d 100644
--- a/src/match/seed-extend.c
+++ b/src/match/seed-extend.c
@@ -15,16 +15,16 @@
   OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 */
 
+#include <float.h>
 #include "core/minmax.h"
 #include "match/querymatch.h"
 #include "match/xdrop.h"
-#include "match/esa-maxpairs.h"
 #include "match/ft-front-prune.h"
-#include "match/ft-trimstat.h"
-#include "match/seed-extend.h"
 #include "match/seq_or_encseq.h"
+#include "match/seed-extend.h"
 
-static GtUword score2distance(GtWord score,GtUword alignedlen)
+static GtUword gt_querymatch_score2distance(GtXdropscore score,
+                                            GtUword alignedlen)
 {
   if (score >= 0)
   {
@@ -44,9 +44,9 @@ struct GtXdropmatchinfo
               best_right;
   GtXdropscore belowscore;
   GtSeqabstract *useq, *vseq;
-  GtWord errorpercentage;
-  bool silent;
-  unsigned int userdefinedleastlength;
+  GtUword userdefinedleastlength,
+          errorpercentage;
+  double evalue_threshold;
 };
 
 #include "match/seed-extend-params.h"
@@ -60,6 +60,7 @@ GtWord gt_optimalxdropbelowscore(GtUword errorpercentage,GtUword sensitivity)
 
 GtXdropmatchinfo *gt_xdrop_matchinfo_new(GtUword userdefinedleastlength,
                                          GtUword errorpercentage,
+                                         double evalue_threshold,
                                          GtXdropscore xdropbelowscore,
                                          GtUword sensitivity)
 {
@@ -74,6 +75,7 @@ GtXdropmatchinfo *gt_xdrop_matchinfo_new(GtUword userdefinedleastlength,
   xdropmatchinfo->res = gt_xdrop_resources_new(&xdropmatchinfo->arbitscores);
   xdropmatchinfo->userdefinedleastlength = userdefinedleastlength;
   xdropmatchinfo->errorpercentage = errorpercentage;
+  xdropmatchinfo->evalue_threshold = evalue_threshold;
   if (xdropbelowscore == 0)
   {
     xdropmatchinfo->belowscore = gt_optimalxdropbelowscore(errorpercentage,
@@ -82,7 +84,6 @@ GtXdropmatchinfo *gt_xdrop_matchinfo_new(GtUword userdefinedleastlength,
   {
     xdropmatchinfo->belowscore = xdropbelowscore;
   }
-  xdropmatchinfo->silent = false;
   return xdropmatchinfo;
 }
 
@@ -105,92 +106,75 @@ void gt_xdrop_matchinfo_delete(GtXdropmatchinfo *xdropmatchinfo)
   }
 }
 
-void gt_xdrop_matchinfo_silent_set(GtXdropmatchinfo *xdropmatchinfo)
-{
-  xdropmatchinfo->silent = true;
-}
-
 typedef struct
 {
-  GtUword seedpos1, seedpos2, seedlen,
-          dbseqnum, dbseqstartpos, dbseqlength,
-          queryseqnum, query_totallength, queryseqstartpos;
+  GtUword dbseqnum, dbseqlength, db_seqstart, dbstart_relative,
+          queryseqnum, query_seqlen, query_seqstart, querystart_relative,
+          seedlength;
   GtReadmode query_readmode;
-  bool selfmatch;
+  bool same_encseq;
 } GtSeedextendSeqpair;
 
+static GtUword gt_sesp_db_seedpos(const GtSeedextendSeqpair *sesp)
+{
+  gt_assert(sesp != NULL);
+  return sesp->dbstart_relative;
+}
+
+static GtUword gt_sesp_query_seedpos(const GtSeedextendSeqpair *sesp)
+{
+  gt_assert(sesp != NULL);
+  return sesp->querystart_relative;
+}
+
 static void gt_sesp_from_absolute(GtSeedextendSeqpair *sesp,
                                   const GtEncseq *dbencseq,
                                   GtUword pos1,
                                   const GtEncseq *queryencseq,
+                                  bool same_encseq,
                                   GtUword pos2,
-                                  GtUword len,
-                                  bool selfmatch)
+                                  GtUword len)
 {
-  sesp->selfmatch = selfmatch;
-  sesp->seedlen = len;
+  gt_assert(pos1 < pos2);
+  sesp->same_encseq = same_encseq;
+  sesp->seedlength = len;
   sesp->dbseqnum = gt_encseq_seqnum(dbencseq,pos1),
-  sesp->dbseqstartpos = gt_encseq_seqstartpos(dbencseq,sesp->dbseqnum),
+  sesp->db_seqstart = gt_encseq_seqstartpos(dbencseq,sesp->dbseqnum),
   sesp->dbseqlength = gt_encseq_seqlength(dbencseq,sesp->dbseqnum);
-  if (dbencseq == queryencseq && pos2 < sesp->dbseqstartpos + sesp->dbseqlength)
+  if (dbencseq == queryencseq && pos2 < sesp->db_seqstart + sesp->dbseqlength)
   { /* second match in same sequence */
     sesp->queryseqnum = sesp->dbseqnum;
-    sesp->queryseqstartpos = sesp->dbseqstartpos;
-    sesp->query_totallength = sesp->dbseqlength;
+    sesp->query_seqstart = sesp->db_seqstart;
+    sesp->query_seqlen = sesp->dbseqlength;
   } else
   {
     sesp->queryseqnum = gt_encseq_seqnum(queryencseq,pos2);
     gt_assert(dbencseq != queryencseq || sesp->dbseqnum < sesp->queryseqnum);
-    sesp->queryseqstartpos = gt_encseq_seqstartpos(queryencseq,
-                                                   sesp->queryseqnum);
-    sesp->query_totallength = gt_encseq_seqlength(queryencseq,
-                                                  sesp->queryseqnum);
+    sesp->query_seqstart = gt_encseq_seqstartpos(queryencseq,sesp->queryseqnum);
+    sesp->query_seqlen = gt_encseq_seqlength(queryencseq,sesp->queryseqnum);
   }
-  sesp->seedpos1 = pos1;
-  sesp->seedpos2 = pos2;
+  gt_assert(sesp->db_seqstart <= pos1);
+  sesp->dbstart_relative = pos1 - sesp->db_seqstart;
+  gt_assert(sesp->query_seqstart <= pos2);
+  sesp->querystart_relative = pos2 - sesp->query_seqstart;
   sesp->query_readmode = GT_READMODE_FORWARD;
 }
 
 static void gt_sesp_from_relative(GtSeedextendSeqpair *sesp,
-                                  const GtEncseq *dbencseq,
                                   GtUword dbseqnum,
                                   GtUword dbstart_relative,
-                                  const GtEncseq *queryencseq,
+                                  bool same_encseq,
                                   GtUword queryseqnum,
                                   GtUword querystart_relative,
-                                  GtUword query_totallength,
-                                  GtUword len,
-                                  bool selfmatch,
+                                  GtUword seedlength,
                                   GtReadmode query_readmode)
 {
-  gt_assert(dbencseq != NULL);
-  sesp->selfmatch = selfmatch;
-  sesp->seedlen = len;
+  sesp->same_encseq = same_encseq;
+  sesp->seedlength = seedlength;
   sesp->dbseqnum = dbseqnum;
-  sesp->dbseqstartpos = gt_encseq_seqstartpos(dbencseq,sesp->dbseqnum),
-  sesp->dbseqlength = gt_encseq_seqlength(dbencseq,sesp->dbseqnum);
   sesp->queryseqnum = queryseqnum;
-  if (dbencseq == queryencseq && dbseqnum == queryseqnum)
-  {
-    sesp->queryseqstartpos = sesp->dbseqstartpos;
-    sesp->query_totallength = sesp->dbseqlength;
-  } else
-  {
-    if (queryencseq == NULL)
-    {
-      sesp->queryseqstartpos = 0;
-      sesp->query_totallength = query_totallength;
-    } else
-    {
-      gt_assert(dbencseq != queryencseq || dbseqnum != queryseqnum);
-      sesp->queryseqstartpos = gt_encseq_seqstartpos(queryencseq,
-                                                     sesp->queryseqnum);
-      sesp->query_totallength = gt_encseq_seqlength(queryencseq,
-                                                    sesp->queryseqnum);
-    }
-  }
-  sesp->seedpos1 = sesp->dbseqstartpos + dbstart_relative;
-  sesp->seedpos2 = sesp->queryseqstartpos + querystart_relative;
+  sesp->dbstart_relative = dbstart_relative;
+  sesp->querystart_relative = querystart_relative;
   sesp->query_readmode = query_readmode;
 }
 
@@ -210,83 +194,91 @@ static void gt_xdrop_show_context(bool rightextension,
 
 void gt_sesp_show(const GtSeedextendSeqpair *sesp)
 {
-  printf("seedpos1=" GT_WU ",seedpos2=" GT_WU ",seedlen=" GT_WU "\n",
-           sesp->seedpos1,sesp->seedpos2,sesp->seedlen);
-  printf("dbseqnum=" GT_WU ",dbseqstartpos=" GT_WU ",dpseqlength="
+  printf("db_seedpos=" GT_WU ",query_seedpos=" GT_WU ",seedlength=" GT_WU "\n",
+           gt_sesp_db_seedpos(sesp),
+           gt_sesp_query_seedpos(sesp),
+           sesp->seedlength);
+  printf("dbseqnum=" GT_WU ",db_seqstart=" GT_WU ",dpseqlength="
                  GT_WU "\n",
                    sesp->dbseqnum,
-                   sesp->dbseqstartpos,
+                   sesp->db_seqstart,
                    sesp->dbseqlength);
-  printf("queryseqnum=" GT_WU ",queryseqstartpos=" GT_WU ",query_totallength="
-         GT_WU "\n",sesp->queryseqnum,sesp->queryseqstartpos,
-                    sesp->query_totallength);
+  printf("queryseqnum=" GT_WU ",query_seqstart=" GT_WU ",query_seqlen="
+         GT_WU "\n",sesp->queryseqnum,sesp->query_seqstart,sesp->query_seqlen);
 }
 
-static const GtQuerymatch *gt_combine_extensions(
+static bool gt_combine_extensions(
          bool forxdrop,
-         GtQuerymatch *querymatchspaceptr,
-         const GtEncseq *dbencseq,
-         const GtSeqorEncseq *query,
+         GtProcessinfo_and_querymatchspaceptr *info_querymatch,
+         const GtSeqorEncseq *dbes,
+         const GtSeqorEncseq *queryes,
          const GtSeedextendSeqpair *sesp,
          GtUword u_left_ext,
          GtUword v_left_ext,
          GtUword u_right_ext,
          GtUword v_right_ext,
-         GtXdropscore score,
+         GtXdropscore total_score,
          GtUword total_distance,
-         bool silent)
+         GtUword total_mismatches)
 {
-  GtUword dblen, dbseqlen, querylen, total_alignedlen, dbstart, querystart;
+  GtUword dblen, querylen, total_alignedlen;
 
-  dblen = sesp->seedlen + u_left_ext + u_right_ext;
-  querylen = sesp->seedlen + v_left_ext + v_right_ext;
+  dblen = sesp->seedlength + u_left_ext + u_right_ext;
+  querylen = sesp->seedlength + v_left_ext + v_right_ext;
   total_alignedlen = dblen + querylen;
   if (forxdrop)
   {
-    total_distance = score2distance(score,total_alignedlen);
+    total_distance = gt_querymatch_score2distance(total_score,total_alignedlen);
   } else
   {
-    score = gt_querymatch_distance2score(total_distance,total_alignedlen);
+    total_score = gt_querymatch_distance2score(total_distance,total_alignedlen);
   }
-  gt_assert(sesp->seedpos1 >= u_left_ext && sesp->seedpos2 >= v_left_ext);
-  dbstart = sesp->seedpos1 - u_left_ext;
-  querystart = sesp->seedpos2 - v_left_ext;
-  gt_assert(querystart >= sesp->queryseqstartpos);
+  gt_assert(sesp->dbstart_relative >= u_left_ext &&
+            sesp->querystart_relative >= v_left_ext);
 
 #ifdef SKDEBUG
-  printf("total_distance=" GT_WU ", score=" GT_WD ",total_alignedlen=" GT_WU
-          ", err=%.2f\n",total_distance,score,total_alignedlen,
+  printf("total_distance=" GT_WU ", total_score=" GT_WD ",total_alignedlen="
+         GT_WU ", err=%.2f\n",total_distance,total_score,total_alignedlen,
           gt_querymatch_error_rate(total_distance,total_alignedlen));
 #endif
-  if (silent)
-  {
-    return NULL;
-  }
-  dbseqlen = gt_encseq_seqlength(dbencseq,sesp->dbseqnum);
-  if (gt_querymatch_complete(querymatchspaceptr,
+  info_querymatch->previous_match_a_start
+    = sesp->dbstart_relative - u_left_ext;
+  info_querymatch->previous_match_a_end
+    = info_querymatch->previous_match_a_start + dblen - 1;
+  info_querymatch->previous_match_b_start
+    = sesp->querystart_relative - v_left_ext;
+  info_querymatch->previous_match_b_end
+    = info_querymatch->previous_match_b_start + querylen - 1;
+  info_querymatch->previous_match_distance = total_distance;
+  info_querymatch->previous_match_mismatches = total_mismatches;
+  if (info_querymatch->querymatchspaceptr == NULL ||
+      gt_querymatch_complete(info_querymatch->querymatchspaceptr,
+                             info_querymatch->out_display_flag,
                              dblen,
-                             dbstart,
                              sesp->dbseqnum,
-                             dbstart - sesp->dbseqstartpos,
-                             dbseqlen,
-                             score,
+                             info_querymatch->previous_match_a_start,
+                             sesp->db_seqstart,
+                             sesp->dbseqlength,
+                             (GtWord) total_score,
                              total_distance,
-                             query == NULL ? true : false,
-                             (uint64_t) sesp->queryseqnum,
+                             total_mismatches,
+                             sesp->same_encseq,
+                             sesp->queryseqnum,
                              querylen,
-                             querystart - sesp->queryseqstartpos,
-                             dbencseq,
-                             query,
-                             sesp->query_totallength,
-                             sesp->seedpos1,
-                             sesp->seedpos2,
-                             sesp->seedlen,
-                             false))
+                             info_querymatch->previous_match_b_start,
+                             dbes,
+                             queryes,
+                             sesp->query_seqstart,
+                             sesp->query_seqlen,
+                             gt_sesp_db_seedpos(sesp),
+                             gt_sesp_query_seedpos(sesp),
+                             sesp->seedlength,
+                             false)) /* greedyextension */
                              /*forxdrop ? false : true*/
   {
-    return querymatchspaceptr;
+    return true;
   }
-  return NULL;
+  return false;
 }
 
 #ifdef SKDEBUG
@@ -299,19 +291,26 @@ static void extensioncoords_show(bool forxdrop,bool rightextension,
           rightextension ? "right" : "left",
           u_ext + v_ext,
           u_ext,
-          forxdrop ? score2distance(score_or_distance,u_ext + v_ext)
+          forxdrop ? gt_querymatch_score2distance(score_or_distance,
+                                                  u_ext + v_ext)
                    : (GtUword) score_or_distance);
 }
 #endif
 
+GtUword gt_xdrop_extend_belowscore(const GtXdropmatchinfo *xdropmatchinfo)
+{
+  gt_assert(xdropmatchinfo != NULL);
+  return xdropmatchinfo->belowscore;
+}
+
 const char *gt_cam_extendgreedy_comment(void)
 {
-  return "specify character access mode: possible values: "
-         "encseq, encseq_reader";
+  return "specify up to two comma-separated character access modes, the first "
+         "of which refers to sequence A and the second of which refers to "
+         "sequence b: possible values: encseq, encseq_reader, bytes, any";
 }
 
-GtExtendCharAccess gt_greedy_extend_char_access(const char *cam_string,
-                                                GtError *err)
+static int gt_parse_char_access(const char *cam_string,GtError *err)
 {
   if (strcmp(cam_string,"encseq") == 0)
   {
@@ -321,7 +320,11 @@ GtExtendCharAccess gt_greedy_extend_char_access(const char *cam_string,
   {
     return GT_EXTEND_CHAR_ACCESS_ENCSEQ_READER;
   }
-  if (strcmp(cam_string,"") == 0)
+  if (strcmp(cam_string,"bytes") == 0)
+  {
+    return GT_EXTEND_CHAR_ACCESS_DIRECT;
+  }
+  if (strcmp(cam_string,"any") == 0)
   {
     return GT_EXTEND_CHAR_ACCESS_ANY;
   }
@@ -330,6 +333,44 @@ GtExtendCharAccess gt_greedy_extend_char_access(const char *cam_string,
   return -1;
 }
 
+int gt_greedy_extend_char_access(GtExtendCharAccess *cam_a,
+                                 GtExtendCharAccess *cam_b,
+                                 const char *full_cam_string,
+                                 GtError *err)
+{
+  const char *comma_ptr = strchr(full_cam_string,(int) ',');
+  int had_err = 0;
+
+  if (comma_ptr != NULL)
+  {
+    char *copy = strdup(full_cam_string);
+    size_t comma_pos = (size_t) (comma_ptr - full_cam_string);
+
+    copy[comma_pos] = '\0';
+    *cam_a = gt_parse_char_access(copy,err);
+    if ((int) *cam_a == -1)
+    {
+      had_err = -1;
+    } else
+    {
+      *cam_b = gt_parse_char_access(comma_ptr + 1,err);
+      if ((int) *cam_b == -1)
+      {
+        had_err = -1;
+      }
+    }
+    free(copy);
+  } else
+  {
+    *cam_b = *cam_a = gt_parse_char_access(full_cam_string,err);
+    if ((int) *cam_b == -1)
+    {
+      had_err = -1;
+    }
+  }
+  return had_err;
+}
+
 void gt_optimal_maxalilendiff_perc_mat_history(
                 GtUword *maxalignedlendifference,
                 GtUword *perc_mat_history,
@@ -371,20 +412,28 @@ void gt_optimal_maxalilendiff_perc_mat_history(
 
 struct GtGreedyextendmatchinfo
 {
-  GtFronttrace *left_front_trace, *right_front_trace;
-  const Polishing_info *pol_info;
+  GtFrontTrace *left_front_trace, *right_front_trace;
+  const GtFtPolishing_info *pol_info;
   GtUword history,
           maxalignedlendifference,
-          errorpercentage,
           perc_mat_history,
-          db_totallength;
-  unsigned int userdefinedleastlength;
-  GtExtendCharAccess extend_char_access;
-  bool check_extend_symmetry,
-       silent;
-  Trimstat *trimstat;
+          db_totallength,
+          userdefinedleastlength,
+          errorpercentage;
+  double evalue_threshold;
+  GtFtTrimstat *trimstat;
   GtEncseqReader *encseq_r_in_u, *encseq_r_in_v;
   GtAllocatedMemory usequence_cache, vsequence_cache, frontspace_reservoir;
+  GtTrimmingStrategy trimstrategy;
+  GtExtendCharAccess db_extend_char_access,
+                     query_extend_char_access;
+  bool check_extend_symmetry,
+       showfrontinfo,
+       db_twobit_possible,
+       query_twobit_possible,
+       db_haswildcards,
+       query_haswildcards,
+       cam_generic;
 };
 
 static void gt_greedy_at_gc_count(GtUword *atcount,GtUword *gccount,
@@ -395,10 +444,12 @@ static void gt_greedy_at_gc_count(GtUword *atcount,GtUword *gccount,
   gt_assert(gt_encseq_total_length(encseq) > 0);
   if (gt_alphabet_is_dna(alpha))
   {
-    *atcount = gt_encseq_charcount(encseq, gt_alphabet_encode(alpha, 'a'));
-    *atcount += gt_encseq_charcount(encseq, gt_alphabet_encode(alpha, 't'));
-    *gccount = gt_encseq_charcount(encseq, gt_alphabet_encode(alpha, 'c'));
-    *gccount += gt_encseq_charcount(encseq, gt_alphabet_encode(alpha, 'g'));
+    /* I now know that the characters ACGT are mapped in this order
+       in either lower case or upper case */
+    *atcount = gt_encseq_charcount(encseq, 0);
+    *atcount += gt_encseq_charcount(encseq, 3);
+    *gccount = gt_encseq_charcount(encseq, 1);
+    *gccount += gt_encseq_charcount(encseq, 2);
   } else
   {
     *atcount = *gccount = 0;
@@ -463,22 +514,28 @@ void gt_greedy_show_matchscore_table(void)
 }
 
 GtGreedyextendmatchinfo *gt_greedy_extend_matchinfo_new(
-                                   GtUword errorpercentage,
                                    GtUword maxalignedlendifference,
                                    GtUword history,
                                    GtUword perc_mat_history,
                                    GtUword userdefinedleastlength,
-                                   GtExtendCharAccess extend_char_access,
+                                   GtUword errorpercentage,
+                                   double evalue_threshold,
+                                   GtExtendCharAccess db_extend_char_access,
+                                   GtExtendCharAccess query_extend_char_access,
+                                   bool cam_generic,
                                    GtUword sensitivity,
-                                   const Polishing_info *pol_info)
+                                   const GtFtPolishing_info *pol_info)
 {
   GtGreedyextendmatchinfo *ggemi = gt_malloc(sizeof *ggemi);
 
   ggemi->left_front_trace = NULL;
   ggemi->right_front_trace = NULL;
-  ggemi->errorpercentage = errorpercentage;
   ggemi->history = history;
+  ggemi->trimstrategy = GT_OUTSENSE_TRIM_ALWAYS;
+  ggemi->showfrontinfo = false;
   ggemi->userdefinedleastlength = userdefinedleastlength;
+  ggemi->errorpercentage = errorpercentage;
+  ggemi->evalue_threshold = evalue_threshold;
   gt_optimal_maxalilendiff_perc_mat_history(&ggemi->maxalignedlendifference,
                                             &ggemi->perc_mat_history,
                                             maxalignedlendifference,
@@ -496,10 +553,15 @@ GtGreedyextendmatchinfo *gt_greedy_extend_matchinfo_new(
   ggemi->frontspace_reservoir.space = NULL;
   ggemi->frontspace_reservoir.allocated = 0;
   ggemi->frontspace_reservoir.offset = 0;
-  ggemi->extend_char_access = extend_char_access;
+  ggemi->db_extend_char_access = db_extend_char_access;
+  ggemi->query_extend_char_access = query_extend_char_access;
   ggemi->check_extend_symmetry = false;
-  ggemi->silent = false;
   ggemi->trimstat = NULL;
+  ggemi->db_twobit_possible = false;
+  ggemi->query_twobit_possible = false;
+  ggemi->db_haswildcards = true;
+  ggemi->query_haswildcards = true;
+  ggemi->cam_generic = cam_generic;
   return ggemi;
 }
 
@@ -511,16 +573,9 @@ void gt_greedy_extend_matchinfo_delete(GtGreedyextendmatchinfo *ggemi)
     front_trace_delete(ggemi->right_front_trace);
     gt_encseq_reader_delete(ggemi->encseq_r_in_u);
     gt_encseq_reader_delete(ggemi->encseq_r_in_v);
-    /*
-    printf("usequence_cache.allocated=" GT_WU "\n",
-           ggemi->usequence_cache.allocated);
-    printf("vsequence_cache.allocated=" GT_WU "\n",
-           ggemi->vsequence_cache.allocated);
-    */
     gt_free(ggemi->usequence_cache.space);
     gt_free(ggemi->vsequence_cache.space);
     gt_free(ggemi->frontspace_reservoir.space);
-    trimstat_delete(ggemi->trimstat,0.0,true);
     gt_free(ggemi);
   }
 }
@@ -532,45 +587,43 @@ void gt_greedy_extend_matchinfo_check_extend_symmetry_set(
   ggemi->check_extend_symmetry = true;
 }
 
-void gt_greedy_extend_matchinfo_silent_set(GtGreedyextendmatchinfo *ggemi)
+void gt_greedy_extend_matchinfo_trimstat_set(GtGreedyextendmatchinfo *ggemi,
+                                             GtFtTrimstat *trimstat)
 {
   gt_assert(ggemi != NULL);
-  ggemi->silent = true;
-}
-
-void gt_greedy_extend_matchinfo_trimstat_set(GtGreedyextendmatchinfo *ggemi)
-{
-  gt_assert(ggemi != NULL && ggemi->perc_mat_history > 0 &&
-            ggemi->maxalignedlendifference > 0 && ggemi->trimstat == NULL);
-  ggemi->trimstat = trimstat_new(ggemi->errorpercentage,
-                                 ggemi->perc_mat_history,
-                                 ggemi->maxalignedlendifference);
+  ggemi->trimstat = trimstat;
 }
 
-static void gt_FTsequenceResources_init(FTsequenceResources *fsr,
+static void gt_FTsequenceResources_init(GtFTsequenceResources *fsr,
                                         const GtEncseq *encseq,
                                         GtReadmode readmode,
                                         GtEncseqReader *encseq_r,
                                         GtAllocatedMemory *sequence_cache,
                                         const GtUchar *bytesequence,
                                         GtUword totallength,
-                                        GtExtendCharAccess extend_char_access)
+                                        GtUword full_totallength,
+                                        GtExtendCharAccess extend_char_access,
+                                        bool twobit_possible,
+                                        bool haswildcards)
 {
   fsr->encseq = encseq;
   fsr->readmode = readmode;
   fsr->totallength = totallength;
+  fsr->full_totallength = full_totallength;
   fsr->encseq_r = encseq_r;
   fsr->sequence_cache = sequence_cache;
   fsr->bytesequence = bytesequence;
   fsr->extend_char_access = extend_char_access;
+  fsr->twobit_possible = twobit_possible;
+  fsr->haswildcards = haswildcards;
 }
 
-static void gt_greedy_extend_init(FTsequenceResources *ufsr,
-                                  FTsequenceResources *vfsr,
-                                  const GtEncseq *dbencseq,
-                                  const GtSeqorEncseq *query,
+static void gt_greedy_extend_init(GtFTsequenceResources *ufsr,
+                                  GtFTsequenceResources *vfsr,
+                                  const GtSeqorEncseq *dbes,
+                                  const GtSeqorEncseq *queryes,
                                   GtReadmode query_readmode,
-                                  const GtUword query_totallength,
+                                  const GtUword query_seqlen,
                                   GtGreedyextendmatchinfo *ggemi)
 {
   if (ggemi->left_front_trace != NULL)
@@ -581,121 +634,192 @@ static void gt_greedy_extend_init(FTsequenceResources *ufsr,
   {
     front_trace_reset(ggemi->right_front_trace,0);
   }
-  if (ggemi->encseq_r_in_u == NULL)
+  if (dbes->encseq != NULL)
   {
-    ggemi->encseq_r_in_u
-      = gt_encseq_create_reader_with_readmode(dbencseq,
-                                              GT_READMODE_FORWARD,
-                                              0);
+    if (ggemi->encseq_r_in_u == NULL)
+    {
+      ggemi->encseq_r_in_u
+        = gt_encseq_create_reader_with_readmode(dbes->encseq,
+                                                GT_READMODE_FORWARD,
+                                                0);
+      if (gt_encseq_wildcards(dbes->encseq) > 0)
+      {
+        ggemi->db_haswildcards = true;
+        ggemi->db_twobit_possible = false;
+      } else
+      {
+        ggemi->db_haswildcards = false;
+        if (ggemi->db_extend_char_access == GT_EXTEND_CHAR_ACCESS_ANY &&
+            gt_encseq_has_twobitencoding(dbes->encseq))
+        {
+          ggemi->db_twobit_possible = true;
+        } else
+        {
+          ggemi->db_twobit_possible = false;
+        }
+      }
+    }
+  } else
+  {
+    ggemi->db_twobit_possible = false;
+    ggemi->db_haswildcards = dbes->haswildcards;
   }
-  if ((query == NULL || query->encseq != NULL) && ggemi->encseq_r_in_v == NULL)
+  if (queryes->encseq != NULL)
   {
-    ggemi->encseq_r_in_v
-      = gt_encseq_create_reader_with_readmode(query == NULL ? dbencseq
-                                                            : query->encseq,
-                                              query_readmode,
-                                              0);
+    if (ggemi->encseq_r_in_v == NULL)
+    {
+      ggemi->encseq_r_in_v
+        = gt_encseq_create_reader_with_readmode(queryes->encseq,
+                                                query_readmode,0);
+      if (gt_encseq_wildcards(queryes->encseq) > 0)
+      {
+        ggemi->query_haswildcards = true;
+        ggemi->query_twobit_possible = false;
+      } else
+      {
+        ggemi->query_haswildcards = false;
+        if (ggemi->query_extend_char_access == GT_EXTEND_CHAR_ACCESS_ANY &&
+            gt_encseq_has_twobitencoding(queryes->encseq))
+        {
+          ggemi->query_twobit_possible = true;
+        } else
+        {
+          ggemi->query_twobit_possible = false;
+        }
+      }
+    }
+  } else
+  {
+    ggemi->query_twobit_possible = false;
+    ggemi->query_haswildcards = queryes->haswildcards;
   }
   if (ggemi->db_totallength == GT_UWORD_MAX)
   {
-    ggemi->db_totallength = gt_encseq_total_length(dbencseq);
+    if (dbes->encseq != NULL)
+    {
+      ggemi->db_totallength = gt_encseq_total_length(dbes->encseq);
+    } else
+    {
+      ggemi->db_totallength = 0;
+    }
+  }
+  if (dbes->encseq != NULL)
+  {
+    gt_FTsequenceResources_init(ufsr,
+                                dbes->encseq,
+                                GT_READMODE_FORWARD,
+                                ggemi->encseq_r_in_u,
+                                &ggemi->usequence_cache,
+                                NULL,
+                                ggemi->db_totallength,
+                                ggemi->db_totallength,
+                                ggemi->db_extend_char_access,
+                                ggemi->db_twobit_possible,
+                                ggemi->db_haswildcards);
+  } else
+  {
+    gt_FTsequenceResources_init(ufsr,
+                                NULL,
+                                GT_READMODE_FORWARD,
+                                ggemi->encseq_r_in_u,
+                                &ggemi->usequence_cache,
+                                dbes->seq,
+                                dbes->seqlength,
+                                0,
+                                GT_EXTEND_CHAR_ACCESS_DIRECT,
+                                false,
+                                ggemi->db_haswildcards);
   }
-  gt_FTsequenceResources_init(ufsr,
-                              dbencseq,
-                              GT_READMODE_FORWARD,
-                              ggemi->encseq_r_in_u,
-                              &ggemi->usequence_cache,
-                              NULL,
-                              ggemi->db_totallength,
-                              ggemi->extend_char_access);
-  gt_assert(query == NULL || (query->seq != NULL && query->encseq == NULL) ||
-                             (query->seq == NULL && query->encseq != NULL));
-  if (query == NULL)
+  if (queryes->encseq != NULL)
   {
     gt_FTsequenceResources_init(vfsr,
-                                dbencseq,
+                                queryes->encseq,
                                 query_readmode,
                                 ggemi->encseq_r_in_v,
                                 &ggemi->vsequence_cache,
                                 NULL,
-                                ggemi->db_totallength,
-                                ggemi->extend_char_access);
+                                query_seqlen,
+                                gt_encseq_total_length(queryes->encseq),
+                                ggemi->query_extend_char_access,
+                                ggemi->query_twobit_possible,
+                                ggemi->query_haswildcards);
   } else
   {
-    if (query->seq != NULL)
-    {
-      gt_FTsequenceResources_init(vfsr,
-                                  NULL,
-                                  query_readmode,
-                                  ggemi->encseq_r_in_v,
-                                  &ggemi->vsequence_cache,
-                                  query->seq,
-                                  query_totallength,
-                                  GT_EXTEND_CHAR_ACCESS_DIRECT);
-    } else
-    {
-      gt_assert(query->encseq != NULL);
-      gt_FTsequenceResources_init(vfsr,
-                                  query->encseq,
-                                  query_readmode,
-                                  ggemi->encseq_r_in_v,
-                                  &ggemi->vsequence_cache,
-                                  NULL,
-                                  query_totallength,
-                                  ggemi->extend_char_access);
-    }
+    gt_FTsequenceResources_init(vfsr,
+                                NULL,
+                                query_readmode,
+                                ggemi->encseq_r_in_v,
+                                &ggemi->vsequence_cache,
+                                queryes->seq,
+                                query_seqlen,
+                                0,
+                                GT_EXTEND_CHAR_ACCESS_DIRECT,
+                                false,
+                                ggemi->query_haswildcards);
   }
 }
 
-GtUword gt_align_front_prune_edist(bool rightextension,
-                                   Polished_point *best_polished_point,
-                                   GtFronttrace *front_trace,
-                                   const GtEncseq *dbencseq,
-                                   const GtSeqorEncseq *query,
-                                   GtReadmode query_readmode,
-                                   GtUword queryseqstartpos,
-                                   GtUword query_totallength,
-                                   GtGreedyextendmatchinfo *ggemi,
-                                   bool greedyextension,
-                                   GtUword seedlength,
-                                   GtUword ustart,
-                                   GtUword ulen,
-                                   GtUword vstart,
-                                   GtUword vlen)
+void gt_align_front_prune_edist(bool rightextension,
+                                GtFtPolished_point *best_polished_point,
+                                GtFrontTrace *front_trace,
+                                const GtSeqorEncseq *dbes,
+                                const GtSeqorEncseq *queryes,
+                                GtReadmode query_readmode,
+                                GtUword query_seqstart,
+                                GtUword query_seqlen,
+                                GtGreedyextendmatchinfo *ggemi,
+                                bool greedyextension,
+                                GtUword seedlength,
+                                GtUword ustart,
+                                GtUword ulen,
+                                GtUword vstart,
+                                GtUword vlen)
 {
   GtUword distance = 0, iteration, maxiterations;
-  FTsequenceResources ufsr, vfsr;
+  GtFTsequenceResources ufsr, vfsr;
+  const GtUword vseqstartpos = queryes->encseq != NULL ? query_seqstart : 0;
 
   gt_assert(ggemi != NULL);
-  gt_greedy_extend_init(&ufsr,&vfsr,dbencseq,query,query_readmode,
-                        query_totallength,ggemi);
+  gt_greedy_extend_init(&ufsr,&vfsr,
+                        dbes,queryes,query_readmode,
+                        query_seqlen,ggemi);
   maxiterations = greedyextension ? 1 : ggemi->perc_mat_history;
   gt_assert(best_polished_point != NULL);
-  for (iteration = 0; iteration < maxiterations; iteration++)
+  for (iteration = 0; iteration <= maxiterations; iteration++)
   {
+    GtTrimmingStrategy trimstrategy;
 #ifdef SKDEBUG
     printf("%s: iteration " GT_WU "\n",__func__,iteration);
 #endif
+    if (iteration == maxiterations)
+    {
+      trimstrategy = GT_OUTSENSE_TRIM_NEVER;
+    } else
+    {
+      trimstrategy = ggemi->trimstrategy;
+    }
     gt_assert(iteration < ggemi->perc_mat_history);
     distance = front_prune_edist_inplace(rightextension,
                                          &ggemi->frontspace_reservoir,
-                                         NULL, /* trimstat */
                                          best_polished_point,
                                          front_trace,
                                          ggemi->pol_info,
+                                         trimstrategy,
                                          ggemi->history,
                                          ggemi->perc_mat_history - iteration,
                                          ggemi->maxalignedlendifference
                                            + iteration,
+                                         ggemi->showfrontinfo,
                                          seedlength,
                                          &ufsr,
                                          ustart,
                                          ulen,
-                                         (query == NULL || query->seq != NULL)
-                                           ? 0 : queryseqstartpos,
+                                         vseqstartpos,
                                          &vfsr,
                                          vstart,
-                                         vlen);
+                                         vlen,
+                                         ggemi->cam_generic,
+                                         NULL); /* trimstat */
     if (distance < ulen + vlen + 1)
     {
 #ifdef SKDEBUG
@@ -706,7 +830,7 @@ GtUword gt_align_front_prune_edist(bool rightextension,
           rightextension ? "right" : "left",
           u_ext + v_ext,
           u_ext,
-          (GtWord) best_polished_point->distance);
+          best_polished_point->distance);
 #endif
       break;
     }
@@ -718,9 +842,10 @@ GtUword gt_align_front_prune_edist(bool rightextension,
     best_polished_point->row = 0;
     best_polished_point->distance = 0;
     best_polished_point->trimleft = 0;
+    best_polished_point->max_mismatches = 0;
   }
-  gt_assert(distance >= best_polished_point->distance);
-  return distance;
+  gt_assert(distance >= best_polished_point->distance &&
+            distance < ulen + vlen + 1);
 }
 
 GtUword gt_minidentity2errorpercentage(GtUword minidentity)
@@ -743,7 +868,7 @@ GtUword gt_minidentity2errorpercentage(GtUword minidentity)
 char *gt_seed_extend_params_keystring(bool use_greedy,
                                       bool forxdrop,
                                       unsigned int seedlength,
-                                      unsigned int userdefinedleastlength,
+                                      GtUword userdefinedleastlength,
                                       GtUword minidentity,
                                       GtUword maxalignedlendifference,
                                       GtUword perc_mat_history,
@@ -759,7 +884,7 @@ char *gt_seed_extend_params_keystring(bool use_greedy,
     GT_SEED_EXTEND_PARAMS_APPEND("%s",use_greedy ? "greedy-" : "xdrop-");
   }
   GT_SEED_EXTEND_PARAMS_APPEND("%u",seedlength);
-  GT_SEED_EXTEND_PARAMS_APPEND("-%u",userdefinedleastlength);
+  GT_SEED_EXTEND_PARAMS_APPEND("-" GT_WU,userdefinedleastlength);
   if (use_greedy || forxdrop)
   {
     GT_SEED_EXTEND_PARAMS_APPEND("-" GT_WU,100 -
@@ -803,160 +928,158 @@ static void gt_seqabstract_reinit_generic(bool rightextension,
                                           const GtSeqorEncseq *seqorencseq,
                                           GtUword len,
                                           GtUword offset,
-                                          GtUword queryseqstartpos,
-                                          GtUword query_totallength)
+                                          GtUword seqstartpos,
+                                          GtUword seqlength)
 {
-  if (seqorencseq->seq != NULL)
-  {
-    gt_seqabstract_reinit_gtuchar(rightextension,
-                                  query_readmode,
-                                  seqabstract,
-                                  seqorencseq->seq,
-                                  len,
-                                  offset,
-                                  query_totallength);
-  } else
+  if (seqorencseq->encseq != NULL)
   {
     /* it is important to set it before the next call */
-    gt_seqabstract_seqstartpos_set(seqabstract,queryseqstartpos);
-    gt_seqabstract_totallength_set(seqabstract,query_totallength);
+    if (GT_ISDIRREVERSE(query_readmode))
+    {
+      gt_seqabstract_seqstartpos_set(seqabstract,seqstartpos);
+      gt_seqabstract_totallength_set(seqabstract,seqlength);
+    }
     gt_seqabstract_reinit_encseq(rightextension,
                                  query_readmode,
                                  seqabstract,
                                  seqorencseq->encseq,
                                  len,
                                  offset);
+  } else
+  {
+    gt_seqabstract_reinit_gtuchar(rightextension,
+                                  query_readmode,
+                                  seqabstract,
+                                  seqorencseq->seq,
+                                  len,
+                                  offset,
+                                  seqlength);
   }
 }
 
-static const GtQuerymatch *gt_extend_sesp(bool forxdrop,
-                                          void *info,
-                                          const GtEncseq *dbencseq,
-                                          const GtSeqorEncseq *query,
-                                          const GtSeedextendSeqpair *sesp)
+static bool gt_extend_sesp(bool forxdrop,
+                           void *info,
+                           const GtSeqorEncseq *dbes,
+                           const GtSeqorEncseq *queryes,
+                           const GtSeedextendSeqpair *sesp)
 {
-  GtProcessinfo_and_querymatchspaceptr *processinfo_and_querymatchspaceptr
+  GtProcessinfo_and_querymatchspaceptr *info_querymatch
     = (GtProcessinfo_and_querymatchspaceptr *) info;
   GtGreedyextendmatchinfo *greedyextendmatchinfo = NULL;
   GtXdropmatchinfo *xdropmatchinfo = NULL;
-  GtUword u_left_ext, v_left_ext, u_right_ext, v_right_ext,
-          ulen, vlen, urightbound, vrightbound;
-  GtXdropscore score = 0;
-  FTsequenceResources ufsr, vfsr;
-  Polished_point left_best_polished_point = {0,0,0},
-                 right_best_polished_point = {0,0,0};
+  GtUword u_left_ext, v_left_ext, u_right_ext, v_right_ext, r_urightbound;
+  GtXdropscore total_score = 0;
+  GtFTsequenceResources ufsr, vfsr;
+  GtFtPolished_point left_best_polished_point = {0,0,0,0,0},
+                     right_best_polished_point = {0,0,0,0,0};
   const bool rightextension = true;
+  const GtUword vseqstartpos = queryes->encseq != NULL
+                                  ? sesp->query_seqstart : 0;
 
-  if (query == NULL)
+  if (sesp->same_encseq && sesp->dbseqnum == sesp->queryseqnum &&
+      sesp->dbstart_relative + sesp->seedlength - 1 >=
+      sesp->querystart_relative)
   {
-    gt_assert(sesp->seedpos1 < sesp->seedpos2);
-    if (sesp->seedpos1 + sesp->seedlen >= sesp->seedpos2)
-    {
-      /* overlapping seeds */
-      return NULL;
-    }
-  } else
-  {
-    if (GT_ISDIRREVERSE(sesp->query_readmode) && sesp->selfmatch &&
-       sesp->seedpos1 + sesp->seedlen >= sesp->seedpos2)
-    {
-      return NULL;
-    }
+    return NULL;
   }
   if (forxdrop)
   {
-    xdropmatchinfo = processinfo_and_querymatchspaceptr->processinfo;
+    xdropmatchinfo = info_querymatch->processinfo;
+    xdropmatchinfo->best_left.ivalue = 0;
+    xdropmatchinfo->best_left.jvalue = 0;
+    xdropmatchinfo->best_left.score = 0;
+    xdropmatchinfo->best_right.ivalue = 0;
+    xdropmatchinfo->best_right.jvalue = 0;
+    xdropmatchinfo->best_right.score = 0;
   } else
   {
-    greedyextendmatchinfo = processinfo_and_querymatchspaceptr->processinfo;
-    gt_greedy_extend_init(&ufsr,&vfsr,dbencseq, query, sesp->query_readmode,
-                          sesp->query_totallength, greedyextendmatchinfo);
+    greedyextendmatchinfo = info_querymatch->processinfo;
+    gt_greedy_extend_init(&ufsr,
+                          &vfsr,
+                          dbes,
+                          queryes,
+                          sesp->query_readmode,
+                          sesp->query_seqlen,
+                          greedyextendmatchinfo);
   }
-  if (sesp->seedpos1 > sesp->dbseqstartpos &&
-      sesp->seedpos2 > sesp->queryseqstartpos)
+  if (sesp->dbstart_relative > 0 && sesp->querystart_relative > 0)
   { /* there is something to align on the left of the seed */
-    GtUword uoffset, voffset;
-
-    ulen = sesp->seedpos1 - sesp->dbseqstartpos;
-    uoffset = sesp->dbseqstartpos;
-    if (forxdrop)
-    {
-      gt_seqabstract_reinit_encseq(!rightextension,GT_READMODE_FORWARD,
-                                   xdropmatchinfo->useq, dbencseq,ulen,uoffset);
-    }
-    if (query == NULL)
-    {
-      voffset = MAX(sesp->seedpos1 + sesp->seedlen, sesp->queryseqstartpos);
+    const GtUword uoffset = sesp->db_seqstart,
+                  ulen = sesp->dbstart_relative,
       /* stop extension at left instance of seed or querystart,
          whichever is larger */
-      vlen = sesp->seedpos2 - voffset;
-      if (forxdrop)
-      {
-        gt_seqabstract_reinit_encseq(!rightextension,
-                                     sesp->query_readmode,
-                                     xdropmatchinfo->vseq,
-                                     dbencseq,
-                                     vlen,
-                                     voffset);
-      }
-    } else
+      r_voffset = (sesp->same_encseq &&
+                   sesp->dbseqnum == sesp->queryseqnum)
+                     ? sesp->dbstart_relative + sesp->seedlength : 0;
+    GtUword vlen;
+
+    gt_assert(r_voffset <= sesp->querystart_relative);
+    vlen = sesp->querystart_relative - r_voffset;
+    if (ulen > 0 && vlen > 0)
     {
-      voffset = sesp->queryseqstartpos;
-      vlen = sesp->seedpos2 - voffset;
       if (forxdrop)
       {
         gt_seqabstract_reinit_generic(!rightextension,
+                                      GT_READMODE_FORWARD,
+                                      xdropmatchinfo->useq,
+                                      dbes,
+                                      ulen,
+                                      uoffset,
+                                      sesp->db_seqstart,
+                                      sesp->dbseqlength);
+        gt_seqabstract_reinit_generic(!rightextension,
                                       sesp->query_readmode,
                                       xdropmatchinfo->vseq,
-                                      query,
+                                      queryes,
                                       vlen,
-                                      voffset,
-                                      sesp->queryseqstartpos,
-                                      sesp->query_totallength);
+                                      sesp->query_seqstart + r_voffset,
+                                      sesp->query_seqstart,
+                                      sesp->query_seqlen);
+  #ifdef SKDEBUG
+        gt_xdrop_show_context(!rightextension,xdropmatchinfo);
+  #endif
+        gt_evalxdroparbitscoresextend(!rightextension,
+                                      &xdropmatchinfo->best_left,
+                                      xdropmatchinfo->res,
+                                      xdropmatchinfo->useq,
+                                      xdropmatchinfo->vseq,
+                                      xdropmatchinfo->belowscore);
+      } else
+      {
+        (void) front_prune_edist_inplace(!rightextension,
+                                         &greedyextendmatchinfo->
+                                            frontspace_reservoir,
+                                         &left_best_polished_point,
+                                         greedyextendmatchinfo->
+                                             left_front_trace,
+                                         greedyextendmatchinfo->pol_info,
+                                         greedyextendmatchinfo->trimstrategy,
+                                         greedyextendmatchinfo->history,
+                                         greedyextendmatchinfo->
+                                             perc_mat_history,
+                                         greedyextendmatchinfo->
+                                            maxalignedlendifference,
+                                         greedyextendmatchinfo->showfrontinfo,
+                                         sesp->seedlength,
+                                         &ufsr,
+                                         uoffset,
+                                         ulen,
+                                         /* as the readmode for the
+                                            sequence u is always forward,
+                                            we do not need the start position
+                                            of the sequence for u. As the
+                                            readmode for v can be reversed,
+                                            we need the start of the sequence
+                                            to correctly obtain the offset
+                                            when using the reverse mode */
+                                         vseqstartpos,
+                                         &vfsr,
+                                         sesp->query_seqstart + r_voffset,
+                                         vlen,
+                                         greedyextendmatchinfo->cam_generic,
+                                         greedyextendmatchinfo->trimstat);
       }
     }
-    if (forxdrop)
-    {
-#ifdef SKDEBUG
-      gt_xdrop_show_context(!rightextension,xdropmatchinfo);
-#endif
-      gt_evalxdroparbitscoresextend(!rightextension,
-                                    &xdropmatchinfo->best_left,
-                                    xdropmatchinfo->res,
-                                    xdropmatchinfo->useq,
-                                    xdropmatchinfo->vseq,
-                                    xdropmatchinfo->belowscore);
-    } else
-    {
-      (void) front_prune_edist_inplace(!rightextension,
-                                       &greedyextendmatchinfo->
-                                          frontspace_reservoir,
-                                       greedyextendmatchinfo->trimstat,
-                                       &left_best_polished_point,
-                                       greedyextendmatchinfo->left_front_trace,
-                                       greedyextendmatchinfo->pol_info,
-                                       greedyextendmatchinfo->history,
-                                       greedyextendmatchinfo->perc_mat_history,
-                                       greedyextendmatchinfo->
-                                          maxalignedlendifference,
-                                       sesp->seedlen,
-                                       &ufsr,
-                                       uoffset,
-                                       ulen,
-                                       (query == NULL || query->seq != NULL)
-                                         ? 0 : sesp->queryseqstartpos,
-                                       &vfsr,
-                                       voffset,
-                                       vlen);
-    }
-  } else
-  {
-    if (forxdrop)
-    {
-      xdropmatchinfo->best_left.ivalue = 0;
-      xdropmatchinfo->best_left.jvalue = 0;
-      xdropmatchinfo->best_left.score = 0;
-    }
   }
   if (forxdrop)
   {
@@ -976,49 +1099,45 @@ static const GtQuerymatch *gt_extend_sesp(bool forxdrop,
                          (GtWord) left_best_polished_point.distance);
 #endif
   }
-  if (query == NULL)
+  if (sesp->same_encseq && sesp->dbseqnum == sesp->queryseqnum)
   {
-    gt_assert(sesp->seedpos2 >= v_left_ext);
-    urightbound = MIN(sesp->dbseqstartpos + sesp->dbseqlength,
-                      sesp->seedpos2 - v_left_ext);
+    gt_assert(sesp->querystart_relative >= v_left_ext);
+    r_urightbound = MIN(sesp->dbseqlength,
+                         sesp->querystart_relative - v_left_ext);
   } else
   {
-    urightbound = sesp->dbseqstartpos + sesp->dbseqlength;
+    r_urightbound = sesp->dbseqlength;
   }
-  vrightbound = sesp->queryseqstartpos + sesp->query_totallength;
-  if (sesp->seedpos1 + sesp->seedlen < urightbound &&
-      sesp->seedpos2 + sesp->seedlen < vrightbound)
+  if (sesp->dbstart_relative + sesp->seedlength < r_urightbound &&
+      sesp->querystart_relative + sesp->seedlength < sesp->query_seqlen)
   { /* there is something to align on the right of the seed */
     /* stop extension at right instance of extended seed */
-    ulen = urightbound - (sesp->seedpos1 + sesp->seedlen);
-    vlen = vrightbound - (sesp->seedpos2 + sesp->seedlen);
+    const GtUword ulen = r_urightbound -
+                         (sesp->dbstart_relative + sesp->seedlength);
+    const GtUword vlen = sesp->query_seqlen -
+                         (sesp->querystart_relative + sesp->seedlength);
     if (forxdrop)
     {
-      gt_seqabstract_reinit_encseq(rightextension,
-                                   GT_READMODE_FORWARD,
-                                   xdropmatchinfo->useq,
-                                   dbencseq,
-                                   ulen,
-                                   sesp->seedpos1 + sesp->seedlen);
-      if (query == NULL)
-      {
-        gt_seqabstract_reinit_encseq(rightextension,
-                                     sesp->query_readmode,
-                                     xdropmatchinfo->vseq,
-                                     dbencseq,
-                                     vlen,
-                                     sesp->seedpos2 + sesp->seedlen);
-      } else
-      {
-        gt_seqabstract_reinit_generic(rightextension,
-                                      sesp->query_readmode,
-                                      xdropmatchinfo->vseq,
-                                      query,
-                                      vlen,
-                                      sesp->seedpos2 + sesp->seedlen,
-                                      sesp->queryseqstartpos,
-                                      sesp->query_totallength);
-      }
+      gt_seqabstract_reinit_generic(rightextension,
+                                    GT_READMODE_FORWARD,
+                                    xdropmatchinfo->useq,
+                                    dbes,
+                                    ulen,
+                                    sesp->db_seqstart +
+                                         gt_sesp_db_seedpos(sesp) +
+                                         sesp->seedlength,
+                                    sesp->db_seqstart,
+                                    sesp->dbseqlength);
+      gt_seqabstract_reinit_generic(rightextension,
+                                    sesp->query_readmode,
+                                    xdropmatchinfo->vseq,
+                                    queryes,
+                                    vlen,
+                                    sesp->query_seqstart +
+                                      gt_sesp_query_seedpos(sesp) +
+                                      sesp->seedlength,
+                                    sesp->query_seqstart,
+                                    sesp->query_seqlen);
 #ifdef SKDEBUG
       gt_xdrop_show_context(rightextension,xdropmatchinfo);
 #endif
@@ -1033,31 +1152,29 @@ static const GtQuerymatch *gt_extend_sesp(bool forxdrop,
       (void) front_prune_edist_inplace(rightextension,
                                        &greedyextendmatchinfo->
                                           frontspace_reservoir,
-                                       greedyextendmatchinfo->trimstat,
                                        &right_best_polished_point,
                                        greedyextendmatchinfo->right_front_trace,
                                        greedyextendmatchinfo->pol_info,
+                                       greedyextendmatchinfo->trimstrategy,
                                        greedyextendmatchinfo->history,
                                        greedyextendmatchinfo->perc_mat_history,
                                        greedyextendmatchinfo->
                                           maxalignedlendifference,
-                                       sesp->seedlen,
+                                       greedyextendmatchinfo->showfrontinfo,
+                                       sesp->seedlength,
                                        &ufsr,
-                                       sesp->seedpos1 + sesp->seedlen,
+                                       sesp->db_seqstart +
+                                         gt_sesp_db_seedpos(sesp) +
+                                         sesp->seedlength,
                                        ulen,
-                                       (query == NULL || query->seq != NULL)
-                                         ? 0 : sesp->queryseqstartpos,
+                                       vseqstartpos,
                                        &vfsr,
-                                       sesp->seedpos2 + sesp->seedlen,
-                                       vlen);
-    }
-  } else
-  {
-    if (forxdrop)
-    {
-      xdropmatchinfo->best_right.ivalue = 0;
-      xdropmatchinfo->best_right.jvalue = 0;
-      xdropmatchinfo->best_right.score = 0;
+                                       sesp->query_seqstart +
+                                         gt_sesp_query_seedpos(sesp) +
+                                         sesp->seedlength,
+                                       vlen,
+                                       greedyextendmatchinfo->cam_generic,
+                                       greedyextendmatchinfo->trimstat);
     }
   }
   if (forxdrop)
@@ -1068,9 +1185,10 @@ static const GtQuerymatch *gt_extend_sesp(bool forxdrop,
     extensioncoords_show(true,rightextension,u_right_ext,v_right_ext,
                          xdropmatchinfo->best_right.score);
 #endif
-    score = (GtXdropscore) sesp->seedlen * xdropmatchinfo->arbitscores.mat +
-            xdropmatchinfo->best_left.score +
-            xdropmatchinfo->best_right.score;
+    total_score
+      = (GtXdropscore) sesp->seedlength * xdropmatchinfo->arbitscores.mat +
+        xdropmatchinfo->best_left.score +
+        xdropmatchinfo->best_right.score;
   } else
   {
     u_right_ext = right_best_polished_point.row;
@@ -1091,322 +1209,283 @@ static const GtQuerymatch *gt_extend_sesp(bool forxdrop,
   }
   return gt_combine_extensions(
                  forxdrop,
-                 processinfo_and_querymatchspaceptr->querymatchspaceptr,
-                 dbencseq,
-                 query,
+                 info_querymatch,
+                 dbes,
+                 queryes,
                  sesp,
                  u_left_ext,
                  v_left_ext,
                  u_right_ext,
                  v_right_ext,
-                 forxdrop ? score : 0,
+                 forxdrop ? total_score : 0,
                  forxdrop ? 0 : (left_best_polished_point.distance +
                                  right_best_polished_point.distance),
-                 forxdrop ? xdropmatchinfo->silent
-                          : greedyextendmatchinfo->silent);
+                 forxdrop ? 0 : (left_best_polished_point.max_mismatches +
+                                 right_best_polished_point.max_mismatches));
 }
 
-const GtQuerymatch *gt_extend_selfmatch(bool forxdrop,
-                                        void *info,
-                                        const GtEncseq *encseq,
-                                        GtUword len,
-                                        GtUword pos1,
-                                        GtUword pos2)
+static bool gt_extend_seed_relative(bool forxdrop,
+                                    void *info,
+                                    const GtSeqorEncseq *dbes,
+                                    GtUword dbseqnum,
+                                    GtUword dbstart_relative,
+                                    const GtSeqorEncseq *queryes,
+                                    bool same_encseq,
+                                    GtUword queryseqnum,
+                                    GtUword querystart_relative,
+                                    GtUword len,
+                                    GtReadmode query_readmode)
+{
+  GtSeedextendSeqpair sesp;
+
+  sesp.db_seqstart = (dbes->encseq != NULL) ?  dbes->seqstartpos : 0;
+  sesp.dbseqlength = dbes->seqlength;
+  sesp.query_seqstart = (queryes->encseq != NULL) ? queryes->seqstartpos : 0;
+  sesp.query_seqlen = queryes->seqlength;
+  gt_sesp_from_relative(&sesp,
+                        dbseqnum,
+                        dbstart_relative,
+                        same_encseq,
+                        queryseqnum,
+                        querystart_relative,
+                        len,
+                        query_readmode);
+  return gt_extend_sesp(forxdrop, info, dbes, queryes, &sesp);
+}
+
+bool gt_xdrop_extend_seed_relative(void *info,
+                                   const GtSeqorEncseq *dbes,
+                                   GtUword dbseqnum,
+                                   GtUword dbstart_relative,
+                                   const GtSeqorEncseq *queryes,
+                                   bool same_encseq,
+                                   GtUword queryseqnum,
+                                   GtUword querystart_relative,
+                                   GtUword len,
+                                   GtReadmode query_readmode)
+{
+  return gt_extend_seed_relative(true,
+                                 info,
+                                 dbes,
+                                 dbseqnum,
+                                 dbstart_relative,
+                                 queryes,
+                                 same_encseq,
+                                 queryseqnum,
+                                 querystart_relative,
+                                 len,
+                                 query_readmode);
+}
+
+bool gt_greedy_extend_seed_relative(void *info,
+                                    const GtSeqorEncseq *dbes,
+                                    GtUword dbseqnum,
+                                    GtUword dbstart_relative,
+                                    const GtSeqorEncseq *queryes,
+                                    bool same_encseq,
+                                    GtUword queryseqnum,
+                                    GtUword querystart_relative,
+                                    GtUword len,
+                                    GtReadmode query_readmode)
+{
+  return gt_extend_seed_relative(false,
+                                 info,
+                                 dbes,
+                                 dbseqnum,
+                                 dbstart_relative,
+                                 queryes,
+                                 same_encseq,
+                                 queryseqnum,
+                                 querystart_relative,
+                                 len,
+                                 query_readmode);
+}
+
+static bool gt_rf_extend_selfmatch(bool forxdrop,
+                                   void *info,
+                                   const GtEncseq *encseq,
+                                   GtUword len,
+                                   GtUword pos1,
+                                   GtUword pos2)
 {
   GtSeedextendSeqpair sesp;
+  GtSeqorEncseq queryes;
 
-  gt_sesp_from_absolute(&sesp,encseq, pos1, encseq, pos2, len,true);
-  return gt_extend_sesp (forxdrop,info, encseq, NULL, &sesp);
+  gt_sesp_from_absolute(&sesp, encseq, pos1, encseq, true, pos2, len);
+  GT_SEQORENCSEQ_INIT_ENCSEQ(&queryes,encseq);
+  return gt_extend_sesp (forxdrop,info, &queryes, &queryes, &sesp);
 }
 
-static void gt_extend_prettyprint(bool forxdrop,const GtQuerymatch *querymatch,
-                                  void *info)
+static void gt_rf_seed_extend_prettyprint(bool forxdrop,void *info)
 {
-  GtProcessinfo_and_querymatchspaceptr *processinfo_and_querymatchspaceptr
+  GtProcessinfo_and_querymatchspaceptr *info_querymatch
     = (GtProcessinfo_and_querymatchspaceptr *) info;
-  GtUword errorpercentage, userdefinedleastlength;
+  GtUword userdefinedleastlength, errorpercentage;
+  double evalue, bit_score, evalue_threshold;
 
+  gt_assert(info_querymatch != NULL);
   if (forxdrop)
   {
-    GtXdropmatchinfo *xdropmatchinfo
-      = processinfo_and_querymatchspaceptr->processinfo;
-    errorpercentage = xdropmatchinfo->errorpercentage;
+    GtXdropmatchinfo *xdropmatchinfo = info_querymatch->processinfo;
     userdefinedleastlength = xdropmatchinfo->userdefinedleastlength;
+    errorpercentage = xdropmatchinfo->errorpercentage;
+    evalue_threshold = xdropmatchinfo->evalue_threshold;
   } else
   {
-    GtGreedyextendmatchinfo *ggemi
-      = processinfo_and_querymatchspaceptr->processinfo;
-    errorpercentage = ggemi->errorpercentage;
+    GtGreedyextendmatchinfo *ggemi = info_querymatch->processinfo;
     userdefinedleastlength = ggemi->userdefinedleastlength;
+    errorpercentage = ggemi->errorpercentage;
+    evalue_threshold = ggemi->evalue_threshold;
   }
-  if (gt_querymatch_check_final(querymatch,errorpercentage,
-                                userdefinedleastlength))
-  {
-    gt_querymatch_prettyprint(querymatch);
-  }
-}
-
-static int gt_extend_selfmatch_with_output(bool forxdrop,
-                                    void *info,
-                                    const GtEncseq *encseq,
-                                    GtUword len,
-                                    GtUword pos1,
-                                    GtUword pos2,
-                                    GT_UNUSED GtError *err)
-{
-  const GtQuerymatch *querymatch = gt_extend_selfmatch(forxdrop,
-                                                       info,
-                                                       encseq,
-                                                       len,
-                                                       pos1,
-                                                       pos2);
-  if (querymatch != NULL)
+  if (gt_querymatch_check_final(&evalue,
+                                &bit_score,
+                                info_querymatch->karlin_altschul_stat,
+                                info_querymatch->querymatchspaceptr,
+                                userdefinedleastlength,
+                                errorpercentage,
+                                evalue_threshold))
   {
-    gt_extend_prettyprint(forxdrop,querymatch,info);
+    gt_querymatch_prettyprint(evalue,bit_score,
+                              info_querymatch->out_display_flag,
+                              info_querymatch->querymatchspaceptr);
   }
-  return 0;
 }
 
-static const GtQuerymatch *gt_extend_selfmatch_relative(bool forxdrop,
+static int gt_rf_extend_selfmatch_with_output(bool forxdrop,
                                               void *info,
                                               const GtEncseq *encseq,
-                                              GtUword dbseqnum,
-                                              GtUword dbstart_relative,
-                                              GtUword queryseqnum,
-                                              GtUword querystart_relative,
                                               GtUword len,
-                                              GtReadmode query_readmode)
+                                              GtUword pos1,
+                                              GtUword pos2,
+                                              GT_UNUSED GtError *err)
 {
-  GtSeedextendSeqpair sesp;
-  const GtUword query_totallength = 0;
-  GtSeqorEncseq query;
-
-  gt_sesp_from_relative(&sesp,encseq,dbseqnum,dbstart_relative,
-                        encseq,queryseqnum,querystart_relative,
-                        query_totallength,
-                        len,
-                        true,
-                        query_readmode);
-  if (query_readmode != GT_READMODE_FORWARD)
+  if (gt_rf_extend_selfmatch(forxdrop,
+                             info,
+                             encseq,
+                             len,
+                             pos1,
+                             pos2))
   {
-    query.seq = NULL;
-    query.encseq = encseq;
+    gt_rf_seed_extend_prettyprint(forxdrop,info);
   }
-  return gt_extend_sesp(forxdrop,info, encseq,
-                        query_readmode != GT_READMODE_FORWARD ? &query
-                                                              : NULL,
-                        &sesp);
+  return 0;
 }
 
-const GtQuerymatch *gt_xdrop_extend_selfmatch_relative(void *info,
-                                              const GtEncseq *encseq,
-                                              GtUword dbseqnum,
-                                              GtUword dbstart_relative,
-                                              GtUword queryseqnum,
-                                              GtUword querystart_relative,
-                                              GtUword len,
-                                              GtReadmode query_readmode)
+int gt_rf_xdrop_extend_selfmatch_with_output(void *info,
+                                             const GtEncseq *encseq,
+                                             GtUword len,
+                                             GtUword pos1,
+                                             GtUword pos2,
+                                             GtError *err)
 {
-  return gt_extend_selfmatch_relative(true,
-                                      info,
-                                      encseq,
-                                      dbseqnum,
-                                      dbstart_relative,
-                                      queryseqnum,
-                                      querystart_relative,
-                                      len,
-                                      query_readmode);
+  return gt_rf_extend_selfmatch_with_output(true,
+                                            info,
+                                            encseq,
+                                            len,
+                                            pos1,
+                                            pos2,
+                                            err);
 }
 
-const GtQuerymatch *gt_greedy_extend_selfmatch_relative(void *info,
+int gt_rf_greedy_extend_selfmatch_with_output(void *info,
                                               const GtEncseq *encseq,
-                                              GtUword dbseqnum,
-                                              GtUword dbstart_relative,
-                                              GtUword queryseqnum,
-                                              GtUword querystart_relative,
                                               GtUword len,
-                                              GtReadmode query_readmode)
+                                              GtUword pos1,
+                                              GtUword pos2,
+                                              GtError *err)
 {
-  return gt_extend_selfmatch_relative(false,
-                                      info,
-                                      encseq,
-                                      dbseqnum,
-                                      dbstart_relative,
-                                      queryseqnum,
-                                      querystart_relative,
-                                      len,
-                                      query_readmode);
+  return gt_rf_extend_selfmatch_with_output(false,
+                                            info,
+                                            encseq,
+                                            len,
+                                            pos1,
+                                            pos2,
+                                            err);
 }
 
-int gt_xdrop_extend_selfmatch_with_output(void *info,
-                                          const GtEncseq *encseq,
-                                          GtUword len,
-                                          GtUword pos1,
-                                          GtUword pos2,
-                                          GT_UNUSED GtError *err)
-{
-  return gt_extend_selfmatch_with_output(true,
-                                         info,
-                                         encseq,
-                                         len,
-                                         pos1,
-                                         pos2,
-                                         err);
-}
-
-int gt_greedy_extend_selfmatch_with_output(void *info,
-                                           const GtEncseq *encseq,
-                                           GtUword len,
-                                           GtUword pos1,
-                                           GtUword pos2,
-                                           GT_UNUSED GtError *err)
-{
-  return gt_extend_selfmatch_with_output(false,
-                                         info,
-                                         encseq,
-                                         len,
-                                         pos1,
-                                         pos2,
-                                         err);
-}
-
-static const GtQuerymatch* gt_extend_querymatch(bool forxdrop,
-                                                void *info,
-                                                const GtEncseq *dbencseq,
-                                                const GtQuerymatch *exactseed,
-                                                const GtSeqorEncseq *query)
+static bool gt_rf_extend_querymatch(bool forxdrop,
+                                    void *info,
+                                    const GtEncseq *dbencseq,
+                                    const GtQuerymatch *exactseed,
+                                    const GtSeqorEncseq *queryes,
+                                    bool same_encseq)
 {
-  GtSeedextendSeqpair sesp;
-  GtUword dbseqnum = gt_querymatch_dbseqnum(exactseed),
-          dbstart = gt_querymatch_dbstart(exactseed),
-          dbseqstartpos = gt_encseq_seqstartpos(dbencseq,dbseqnum);
-
-  gt_assert(query != NULL);
+  GtSeedextendSeqpair sesp = {0,0,0,0,0,0,0,0,0,GT_READMODE_FORWARD,false};
+  GtSeqorEncseq dbes;
+
+  gt_assert(queryes != NULL && dbencseq != NULL);
+  gt_querymatch_db_coordinates(&sesp.dbseqnum,&sesp.db_seqstart,
+                               &sesp.dbseqlength,exactseed);
+  gt_querymatch_query_coordinates(&sesp.queryseqnum,&sesp.query_seqstart,
+                                  &sesp.query_seqlen,exactseed);
+  if (queryes->encseq == NULL)
+  {
+    gt_assert(sesp.query_seqstart == 0);
+    gt_assert(sesp.query_seqlen == queryes->seqlength);
+  }
   gt_sesp_from_relative(&sesp,
-                        dbencseq,
-                        dbseqnum,
-                        dbstart - dbseqstartpos,
-                        query->encseq,
-                        gt_querymatch_queryseqnum(exactseed),
+                        sesp.dbseqnum,
+                        gt_querymatch_dbstart_relative(exactseed),
+                        same_encseq,
+                        sesp.queryseqnum,
                         gt_querymatch_querystart(exactseed),
-                        gt_querymatch_query_totallength(exactseed),
                         gt_querymatch_querylen(exactseed),
-                        gt_querymatch_selfmatch(exactseed),
                         gt_querymatch_query_readmode(exactseed));
-  return gt_extend_sesp(forxdrop, info, dbencseq, query, &sesp);
+  GT_SEQORENCSEQ_INIT_ENCSEQ(&dbes,dbencseq);
+  return gt_extend_sesp(forxdrop, info, &dbes, queryes, &sesp);
 }
 
-static const GtQuerymatch* gt_extend_querymatch_relative(bool forxdrop,
-                                                  void *info,
-                                                  const GtEncseq *dbencseq,
-                                                  GtUword dbseqnum,
-                                                  GtUword dbstart_relative,
-                                                  const GtEncseq *queryencseq,
-                                                  GtUword queryseqnum,
-                                                  GtUword querystart_relative,
-                                                  GtUword len,
-                                                  GtReadmode query_readmode)
-{
-  GtSeedextendSeqpair sesp;
-  const GtUword query_totallength = 0;
-  GtSeqorEncseq query;
-
-  gt_sesp_from_relative(&sesp,
-                        dbencseq,
-                        dbseqnum,
-                        dbstart_relative,
-                        queryencseq,
-                        queryseqnum,
-                        querystart_relative,
-                        query_totallength,
-                        len,
-                        dbencseq == queryencseq ? true : false,
-                        query_readmode);
-  query.encseq = queryencseq;
-  query.seq = NULL;
-  return gt_extend_sesp(forxdrop, info, dbencseq, &query, &sesp);
-}
-
-const GtQuerymatch* gt_xdrop_extend_querymatch_relative(
-                                                  void *info,
-                                                  const GtEncseq *dbencseq,
-                                                  GtUword dbseqnum,
-                                                  GtUword dbstart_relative,
-                                                  const GtEncseq *queryencseq,
-                                                  GtUword queryseqnum,
-                                                  GtUword querystart_relative,
-                                                  GtUword len,
-                                                  GtReadmode query_readmode)
+static void gt_rf_extend_querymatch_with_output(bool forxdrop,
+                                                void *info,
+                                                const GtEncseq *dbencseq,
+                                                const GtQuerymatch *exactseed,
+                                                const GtSeqorEncseq *queryes,
+                                                bool same_encseq)
 {
-  return gt_extend_querymatch_relative(true,
-                                       info,
-                                       dbencseq,
-                                       dbseqnum,
-                                       dbstart_relative,
-                                       queryencseq,
-                                       queryseqnum,
-                                       querystart_relative,
-                                       len,
-                                       query_readmode);
+  if (gt_rf_extend_querymatch(forxdrop,info, dbencseq, exactseed, queryes,
+                              same_encseq))
+  {
+    gt_rf_seed_extend_prettyprint(forxdrop,info);
+  }
 }
 
-const GtQuerymatch* gt_greedy_extend_querymatch_relative(
-                                                  void *info,
-                                                  const GtEncseq *dbencseq,
-                                                  GtUword dbseqnum,
-                                                  GtUword dbstart_relative,
-                                                  const GtEncseq *queryencseq,
-                                                  GtUword queryseqnum,
-                                                  GtUword querystart_relative,
-                                                  GtUword len,
-                                                  GtReadmode query_readmode)
+void gt_rf_xdrop_extend_querymatch_with_output(void *info,
+                                               const GtEncseq *dbencseq,
+                                               const GtQuerymatch *exactseed,
+                                               const GtSeqorEncseq *queryes,
+                                               bool same_encseq)
 {
-  return gt_extend_querymatch_relative(false,
-                                       info,
-                                       dbencseq,
-                                       dbseqnum,
-                                       dbstart_relative,
-                                       queryencseq,
-                                       queryseqnum,
-                                       querystart_relative,
-                                       len,
-                                       query_readmode);
+  gt_rf_extend_querymatch_with_output(true,
+                                      info,
+                                      dbencseq,
+                                      exactseed,
+                                      queryes,
+                                      same_encseq);
 }
 
-static void gt_extend_querymatch_with_output(bool forxdrop,
-                                             void *info,
-                                             const GtEncseq *dbencseq,
-                                             const GtQuerymatch *exactseed,
-                                             const GtSeqorEncseq *query)
+void gt_rf_greedy_extend_querymatch_with_output(void *info,
+                                                const GtEncseq *dbencseq,
+                                                const GtQuerymatch *exactseed,
+                                                const GtSeqorEncseq *queryes,
+                                                bool same_encseq)
 {
-  const GtQuerymatch *querymatch
-    = gt_extend_querymatch(forxdrop,info, dbencseq, exactseed, query);
-  if (querymatch != NULL)
-  {
-    gt_extend_prettyprint(forxdrop,querymatch,info);
-  }
+  gt_rf_extend_querymatch_with_output(false,
+                                      info,
+                                      dbencseq,
+                                      exactseed,
+                                      queryes,
+                                      same_encseq);
 }
 
-void gt_xdrop_extend_querymatch_with_output(void *info,
-                                            const GtEncseq *dbencseq,
-                                            const GtQuerymatch *exactseed,
-                                            const GtSeqorEncseq *query)
+GtUword gt_greedy_extend_perc_mat_history(const GtGreedyextendmatchinfo *ggemi)
 {
-  gt_extend_querymatch_with_output(true,
-                                   info,
-                                   dbencseq,
-                                   exactseed,
-                                   query);
+  gt_assert(ggemi != NULL);
+  return ggemi->perc_mat_history;
 }
 
-void gt_greedy_extend_querymatch_with_output(void *info,
-                                             const GtEncseq *dbencseq,
-                                             const GtQuerymatch *exactseed,
-                                             const GtSeqorEncseq *query)
+GtUword gt_greedy_extend_maxalignedlendifference(
+                                     const GtGreedyextendmatchinfo *ggemi)
 {
-  gt_extend_querymatch_with_output(false,
-                                   info,
-                                   dbencseq,
-                                   exactseed,
-                                   query);
+  gt_assert(ggemi != NULL);
+  return ggemi->maxalignedlendifference;
 }
diff --git a/src/match/seed-extend.h b/src/match/seed-extend.h
index bdef10c..7164235 100644
--- a/src/match/seed-extend.h
+++ b/src/match/seed-extend.h
@@ -20,7 +20,6 @@
 #include "core/unused_api.h"
 #include "querymatch.h"
 #include "xdrop.h"
-#include "ft-front-prune.h"
 
 /* This header file describes the interface to two different
    methods for extending seeds, namely the xdrop-based method based on
@@ -77,10 +76,22 @@ typedef struct
 {
   void *processinfo;
   GtQuerymatch *querymatchspaceptr;
-} GtProcessinfo_and_querymatchspaceptr;;
+  const GtKarlinAltschulStat *karlin_altschul_stat;
+  const GtSeedExtendDisplayFlag *out_display_flag;
+  GtUword previous_match_a_start,
+          previous_match_a_end,
+          previous_match_b_start,
+          previous_match_b_end,
+          previous_match_distance,
+          previous_match_mismatches;
+} GtProcessinfo_and_querymatchspaceptr;
+
+#define Initializer_GtProcessinfo_and_querymatchspaceptr\
+        {NULL,NULL,NULL,NULL,0,0,0,0,0,0}
 
 GtXdropmatchinfo *gt_xdrop_matchinfo_new(GtUword userdefinedleastlength,
                                          GtUword errorpercentage,
+                                         double evalue_threshold,
                                          GtXdropscore xdropbelowscore,
                                          GtUword sensitivity);
 
@@ -97,10 +108,6 @@ void gt_xdrop_matchinfo_delete(GtXdropmatchinfo *xdropmatchinfo);
 
 GtWord gt_optimalxdropbelowscore(GtUword errorpercentage,GtUword sensitivity);
 
-/* Set the silent flag in the matchinfo object. */
-
-void gt_xdrop_matchinfo_silent_set(GtXdropmatchinfo *xdropmatchinfo);
-
 /* The following function is used for extending a seed obtained
    in a self comparison of the given <encseq>. The extension is performed
    using the xdrop strategy. The seed is specified
@@ -112,11 +119,11 @@ void gt_xdrop_matchinfo_silent_set(GtXdropmatchinfo *xdropmatchinfo);
    in the <GtXdropmatchinfo>-object, passed as part of the
    <GtProcessinfo_and_querymatchspaceptr>-object. */
 
-const GtQuerymatch *gt_xdrop_extend_selfmatch(void *info,
-                                              const GtEncseq *encseq,
-                                              GtUword len,
-                                              GtUword pos1,
-                                              GtUword pos2);
+bool gt_xdrop_extend_selfmatch(void *info,
+                               const GtEncseq *encseq,
+                               GtUword len,
+                               GtUword pos1,
+                               GtUword pos2);
 
 /*
    The following function performs an xdrop extension (using
@@ -126,54 +133,31 @@ const GtQuerymatch *gt_xdrop_extend_selfmatch(void *info,
    The function always returns 0, so the <GtError>-object <err> is not used.
 */
 
-int gt_xdrop_extend_selfmatch_with_output(void *info,
-                                          const GtEncseq *encseq,
-                                          GtUword len,
-                                          GtUword pos1,
-                                          GtUword pos2,
-                                          GT_UNUSED GtError *err);
-
-/* The following function is identical to <gt_xdrop_extend_selfmatch>
-   except that the positions of the seeds are defined by the number
-   of the sequence they occur (dbseqnum for the first instance and querysenum
-   for the second instance) and the relative position in that sequence
-   (dbstart_relative for the first instance and querystart_relative
-   for the second instance). */
-
-const GtQuerymatch *gt_xdrop_extend_selfmatch_relative(void *info,
-                                              const GtEncseq *encseq,
-                                              GtUword dbseqnum,
-                                              GtUword dbstart_relative,
-                                              GtUword queryseqnum,
-                                              GtUword querystart_relative,
-                                              GtUword len,
-                                              GtReadmode query_readmode);
+int gt_rf_xdrop_extend_selfmatch_with_output(void *info,
+                                             const GtEncseq *encseq,
+                                             GtUword len,
+                                             GtUword pos1,
+                                             GtUword pos2,
+                                             GT_UNUSED GtError *err);
 
 /* The following function is used for extending a seed obtained
-   in a comparison of the given sequence <query>
-   against <encseq>. So here a byte sequence is compared against an
+   in a comparison of the given sequence <queryes>
+   against <encseq>. So here the query which is either represented by an
+   encoded sequence (queryes->encseq != NULL) or a byte sequence
+   (queryes->seq != NULL) is compared against an
    encoded sequence and the seed is specified by <exactseed>.
    A <GtProcessinfo_and_querymatchspaceptr>-object is passed via the
    void pointer <info>.
-   After the extension is performed and satisfies
-   certain criteria, the resulting
-   coordinates are returned as a reference to a <GtQuerymatch>-object. */
+   After the extension is performed and the match is not redundant
+   the resulting are output. */
 
-const GtQuerymatch *gt_xdrop_extend_querymatch(void *info,
+void gt_rf_xdrop_extend_querymatch_with_output(void *info,
                                                const GtEncseq *encseq,
                                                const GtQuerymatch *exactseed,
-                                               const GtSeqorEncseq *query);
-
-/*
-   The following function performs an xdrop extension (as the previous function)
-   and outputs the formatted match to stdout if
-   the previous function returns a pointer different from NULL.
-*/
+                                               const GtSeqorEncseq *queryes,
+                                               bool same_encseq);
 
-void gt_xdrop_extend_querymatch_with_output(void *info,
-                                            const GtEncseq *encseq,
-                                            const GtQuerymatch *exactseed,
-                                            const GtSeqorEncseq *query);
+GtUword gt_xdrop_extend_belowscore(const GtXdropmatchinfo *xdropmatchinfo);
 
 /* The following functions are used for the greedy extension. */
 
@@ -207,14 +191,17 @@ typedef struct GtGreedyextendmatchinfo GtGreedyextendmatchinfo;
    */
 
 GtGreedyextendmatchinfo *gt_greedy_extend_matchinfo_new(
-                                   GtUword errorpercentage,
                                    GtUword maxalignedlendifference,
                                    GtUword history,
                                    GtUword perc_mat_history,
                                    GtUword userdefinedleastlength,
-                                   GtExtendCharAccess extend_char_access,
+                                   GtUword errorpercentage,
+                                   double evalue_threshold,
+                                   GtExtendCharAccess a_extend_char_access,
+                                   GtExtendCharAccess b_extend_char_access,
+                                   bool cam_generic,
                                    GtUword sensitivity,
-                                   const Polishing_info *pol_info);
+                                   const GtFtPolishing_info *pol_info);
 
 /* the destructor-method for the gven object. */
 
@@ -225,13 +212,10 @@ void gt_greedy_extend_matchinfo_delete(GtGreedyextendmatchinfo *ggemi);
 void gt_greedy_extend_matchinfo_check_extend_symmetry_set(
                         GtGreedyextendmatchinfo *ggemi);
 
-/* Set the silent flag in the matchinfo object. */
-
-void gt_greedy_extend_matchinfo_silent_set(GtGreedyextendmatchinfo *ggemi);
-
 /* Set the trimstat in the matchinfo object. */
 
-void gt_greedy_extend_matchinfo_trimstat_set(GtGreedyextendmatchinfo *ggemi);
+void gt_greedy_extend_matchinfo_trimstat_set(GtGreedyextendmatchinfo *ggemi,
+                                             GtFtTrimstat *trimstat);
 
 /* If <arg_maxalignedlendifference> and <arg_perc_mat_history> are 0, then
    an optimal value for the maximal alignment length difference and
@@ -256,12 +240,15 @@ void gt_optimal_maxalilendiff_perc_mat_history(
                 GtUword sensitivity);
 
 /* This function converts a string given as argument for option -cam
-   and converts it to the given enum type <GtExtendCharAccess>. This
+   and converts it to the given enum types <GtExtendCharAccess>, which
+   are stored at the given addresses. This
    option is used in the tool gt_repfind and gt_seedextend.
-   In case of error, -1 is returned. */
+   In case of error, are value different from 0 is returned. */
 
-GtExtendCharAccess gt_greedy_extend_char_access(const char *cam_string,
-                                                GtError *err);
+int gt_greedy_extend_char_access(GtExtendCharAccess *cam_a,
+                                 GtExtendCharAccess *cam_b,
+                                 const char *full_cam_string,
+                                 GtError *err);
 
 /* The following function returns a string specifying the possible arguments
    for the mentioned option -cam. */
@@ -280,11 +267,11 @@ const char *gt_cam_extendgreedy_comment(void);
    the cooordinates are delivered as a <GtQuerymatch>-object.
 */
 
-const GtQuerymatch *gt_greedy_extend_selfmatch(void *info,
-                                               const GtEncseq *encseq,
-                                               GtUword len,
-                                               GtUword pos1,
-                                               GtUword pos2);
+bool gt_greedy_extend_selfmatch(void *info,
+                                const GtEncseq *encseq,
+                                GtUword len,
+                                GtUword pos1,
+                                GtUword pos2);
 
 /*
    The following function performs a greedy extension (as the previous function)
@@ -292,12 +279,12 @@ const GtQuerymatch *gt_greedy_extend_selfmatch(void *info,
    The function always returns 0, so the <GtError>-object <err> is not used.
 */
 
-int gt_greedy_extend_selfmatch_with_output(void *info,
-                                           const GtEncseq *encseq,
-                                           GtUword len,
-                                           GtUword pos1,
-                                           GtUword pos2,
-                                           GT_UNUSED GtError *err);
+int gt_rf_greedy_extend_selfmatch_with_output(void *info,
+                                              const GtEncseq *encseq,
+                                              GtUword len,
+                                              GtUword pos1,
+                                              GtUword pos2,
+                                              GT_UNUSED GtError *err);
 
 /* The following function is identical to <gt_greedy_extend_selfmatch>
    except that the positions of the seeds are defined by the number
@@ -306,78 +293,50 @@ int gt_greedy_extend_selfmatch_with_output(void *info,
    (dbstart_relative for the first instance and querystart_relative
    for the second instance). */
 
-const GtQuerymatch *gt_greedy_extend_selfmatch_relative(void *info,
-                                              const GtEncseq *encseq,
-                                              GtUword dbseqnum,
-                                              GtUword dbstart_relative,
-                                              GtUword queryseqnum,
-                                              GtUword querystart_relative,
-                                              GtUword len,
-                                              GtReadmode query_readmode);
-
-typedef const GtQuerymatch *(*GtExtendSelfmatchRelativeFunc)(void *,
-                                                             const GtEncseq *,
-                                                             GtUword,
-                                                             GtUword,
-                                                             GtUword,
-                                                             GtUword,
-                                                             GtUword,
-                                                     GtReadmode query_readmode);
-
-const GtQuerymatch* gt_xdrop_extend_querymatch_relative(
-                                                  void *info,
-                                                  const GtEncseq *dbencseq,
-                                                  GtUword dbseqnum,
-                                                  GtUword dbstart_relative,
-                                                  const GtEncseq *queryencseq,
-                                                  GtUword queryseqnum,
-                                                  GtUword querystart_relative,
-                                                  GtUword len,
-                                                  GtReadmode query_readmode);
-
-const GtQuerymatch* gt_greedy_extend_querymatch_relative(
-                                                  void *info,
-                                                  const GtEncseq *dbencseq,
-                                                  GtUword dbseqnum,
-                                                  GtUword dbstart_relative,
-                                                  const GtEncseq *queryencseq,
-                                                  GtUword queryseqnum,
-                                                  GtUword querystart_relative,
-                                                  GtUword len,
-                                                  GtReadmode query_readmode);
-
-typedef const GtQuerymatch *(*GtExtendQuerymatchRelativeFunc)(void *,
-                                                             const GtEncseq *,
-                                                             GtUword,
-                                                             GtUword,
-                                                             const GtEncseq *,
-                                                             GtUword,
-                                                             GtUword,
-                                                             GtUword,
-                                                             GtReadmode);
-
-GtUword gt_align_front_prune_edist(bool rightextension,
-                                   Polished_point *best_polished_point,
-                                   GtFronttrace *front_trace,
-                                   const GtEncseq *encseq,
-                                   const GtSeqorEncseq *query,
-                                   GtReadmode query_readmode,
-                                   GtUword query_seqstartpos,
-                                   GtUword query_totallength,
-                                   GtGreedyextendmatchinfo *ggemi,
-                                   bool greedyextension,
-                                   GtUword seedlength,
-                                   GtUword ustart,
-                                   GtUword ulen,
-                                   GtUword vstart,
-                                   GtUword vlen);
+bool gt_xdrop_extend_seed_relative(void *info,
+                                   const GtSeqorEncseq *dbes,
+                                   GtUword dbseqnum,
+                                   GtUword dbstart_relative,
+                                   const GtSeqorEncseq *queryes,
+                                   bool same_encseq,
+                                   GtUword queryseqnum,
+                                   GtUword querystart_relative,
+                                   GtUword len,
+                                   GtReadmode query_readmode);
+
+bool gt_greedy_extend_seed_relative(void *info,
+                                    const GtSeqorEncseq *dbes,
+                                    GtUword dbseqnum,
+                                    GtUword dbstart_relative,
+                                    const GtSeqorEncseq *queryes,
+                                    bool same_encseq,
+                                    GtUword queryseqnum,
+                                    GtUword querystart_relative,
+                                    GtUword len,
+                                    GtReadmode query_readmode);
+
+void gt_align_front_prune_edist(bool rightextension,
+                                GtFtPolished_point *best_polished_point,
+                                GtFrontTrace *front_trace,
+                                const GtSeqorEncseq *dbes,
+                                const GtSeqorEncseq *queryes,
+                                GtReadmode query_readmode,
+                                GtUword query_seqstart,
+                                GtUword query_seqlen,
+                                GtGreedyextendmatchinfo *ggemi,
+                                bool greedyextension,
+                                GtUword seedlength,
+                                GtUword ustart,
+                                GtUword ulen,
+                                GtUword vstart,
+                                GtUword vlen);
 
 GtUword gt_minidentity2errorpercentage(GtUword minidentity);
 
 char *gt_seed_extend_params_keystring(bool use_greedy,
                                       bool forxdrop,
                                       unsigned int seedlength,
-                                      unsigned int userdefinedleastlength,
+                                      GtUword userdefinedleastlength,
                                       GtUword minidentity,
                                       GtUword maxalignedlendifference,
                                       GtUword perc_mat_history,
@@ -385,11 +344,20 @@ char *gt_seed_extend_params_keystring(bool use_greedy,
                                       GtUword extendxdrop,
                                       GtUword xdropbelowscore);
 
-void gt_greedy_extend_querymatch_with_output(void *info,
-                                             const GtEncseq *dbencseq,
-                                             const GtQuerymatch *exactseed,
-                                             const GtSeqorEncseq *query);
+void gt_rf_greedy_extend_querymatch_with_output(void *info,
+                                                const GtEncseq *dbencseq,
+                                                const GtQuerymatch *exactseed,
+                                                const GtSeqorEncseq *queryes,
+                                                bool same_encseq);
 
 double gt_greedy_dna_sequence_bias_get(const GtEncseq *encseq);
 
+GtUword gt_greedy_extend_maxalignedlendifference(
+                                     const GtGreedyextendmatchinfo *ggemi);
+
+GtUword gt_greedy_extend_maxalignedlendifference(
+                                     const GtGreedyextendmatchinfo *ggemi);
+
+GtUword gt_greedy_extend_perc_mat_history(const GtGreedyextendmatchinfo *ggemi);
+
 #endif
diff --git a/src/match/seed_extend_parts.c b/src/match/seed_extend_parts.c
new file mode 100644
index 0000000..d4ed50d
--- /dev/null
+++ b/src/match/seed_extend_parts.c
@@ -0,0 +1,325 @@
+/*
+  Copyright (c) 2016-2016 Stefan Kurtz <kurtz at zbh.uni-hamburg.de>
+  Copyright (c) 2016-2016 Center for Bioinformatics, University of Hamburg
+
+  Permission to use, copy, modify, and distribute this software for any
+  purpose with or without fee is hereby granted, provided that the above
+  copyright notice and this permission notice appear in all copies.
+
+  THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+  WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+  MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+  ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+  WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+  ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+  OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+*/
+
+#include "core/range_api.h"
+#include "match/seed_extend_parts.h"
+
+typedef struct
+{
+  GtUword start,      /* index number of first sequence in part */
+          end,        /* index number of last sequence in part */
+          max_length; /* length of longest sequence in range */
+} GtSequenceRangeWithMaxLength;
+
+struct GtSequencePartsInfo
+{
+  GtSequenceRangeWithMaxLength *ranges;
+  GtUword *ssptab,
+          same_length,
+          totallength,
+          numofsequences,
+          parts_number;
+};
+
+GtUword gt_sequence_parts_info_seqstartpos(const GtSequencePartsInfo *spi,
+                                           GtUword seqnum)
+{
+  if (spi->ssptab != NULL)
+  {
+    return seqnum > 0 ? (spi->ssptab[seqnum - 1] + 1) : 0;
+  } else
+  {
+    return seqnum * (spi->same_length + 1);
+  }
+}
+
+GtUword gt_sequence_parts_info_seqendpos(const GtSequencePartsInfo *spi,
+                                         GtUword seqnum)
+{
+  if (spi->ssptab != NULL)
+  {
+    return seqnum < spi->numofsequences - 1 ? (spi->ssptab[seqnum] - 1)
+                                            : (spi->totallength - 1);
+  } else
+  {
+    return (seqnum + 1) * (spi->same_length + 1) - 2;
+  }
+}
+
+GtUword gt_sequence_parts_info_partlength(const GtSequencePartsInfo *spi,
+                                          GtUword fromseq,
+                                          GtUword toseq)
+{
+  return gt_sequence_parts_info_seqendpos(spi,toseq) -
+         gt_sequence_parts_info_seqstartpos(spi,fromseq) + 1;
+}
+
+static GtUword gt_encseq_next_larger_width(const GtSequencePartsInfo *spi,
+                                           GtUword startseqnum,
+                                           GtUword width,
+                                           GtUword numofsequences)
+{
+  GtUword left, right, found = GT_UWORD_MAX,
+          start_segment = gt_sequence_parts_info_seqstartpos(spi,startseqnum);
+
+  left = startseqnum;
+  gt_assert(numofsequences > 0);
+  right = numofsequences - 1;
+  while (left <= right)
+  {
+    GtUword mid = left + (right - left + 1)/2, mid_end, this_width;
+
+    gt_assert(mid < numofsequences);
+    mid_end = gt_sequence_parts_info_seqendpos(spi,mid);
+    gt_assert(mid_end > start_segment);
+    this_width = mid_end - start_segment;
+    if (this_width > width)
+    {
+      found = mid;
+      if (right == 0)
+      {
+        break;
+      }
+      right = mid - 1;
+    } else
+    {
+      if (left == numofsequences - 1)
+      {
+        break;
+      }
+      left = mid + 1;
+    }
+  }
+  return found;
+}
+
+GtSequencePartsInfo *gt_sequence_parts_info_new(const GtEncseq *encseq,
+                                                GtUword numofsequences,
+                                                GtUword numparts)
+{
+  GtSequencePartsInfo *spi = gt_malloc(sizeof *spi);
+  spi->ranges = gt_malloc(sizeof *spi->ranges * numparts);
+  spi->ssptab = gt_all_sequence_separators_get(encseq);
+  spi->totallength = gt_encseq_total_length(encseq);
+  spi->numofsequences = gt_encseq_num_of_sequences(encseq);
+
+  if (spi->ssptab == NULL)
+  {
+    spi->same_length = gt_encseq_seqlength(encseq,0);
+  } else
+  {
+    spi->same_length = 0;
+  }
+  if (numparts >= numofsequences)
+  { /* assign one seq for each part */
+    GtUword idx;
+
+    for (idx = 0; idx < numofsequences; ++idx) {
+      spi->ranges[idx].start = spi->ranges[idx].end = idx;
+      spi->ranges[idx].max_length
+        = gt_sequence_parts_info_partlength(spi,idx,idx);
+    }
+    spi->parts_number = numofsequences;
+  } else
+  {
+    GtUword seqnum, idx, effective_num_parts;
+    const GtUword partwidth = spi->totallength/numparts;
+
+    for (idx = 0, seqnum = 0; idx < numparts && seqnum < numofsequences; idx++)
+    {
+      const GtUword seqnum_next_width
+        = gt_encseq_next_larger_width(spi,seqnum,partwidth,
+                                      numofsequences);
+      spi->ranges[idx].start = seqnum;
+      if (seqnum_next_width == GT_UWORD_MAX)
+      {
+        spi->ranges[idx].end = numofsequences - 1;
+        idx++;
+        break;
+      }
+      spi->ranges[idx].end = seqnum_next_width;
+      seqnum = seqnum_next_width + 1;
+    }
+    gt_assert(idx > 0 &&
+              spi->ranges[idx-1].end == numofsequences - 1);
+    effective_num_parts = idx;
+    if (effective_num_parts == 1)
+    {
+      spi->ranges[0].max_length = gt_encseq_max_seq_length(encseq);
+    } else
+    {
+      if (spi->ssptab == NULL)
+      {
+        for (idx = 0; idx < effective_num_parts; idx++)
+        {
+          spi->ranges[idx].max_length = spi->same_length;
+        }
+      } else
+      {
+        GtUword currentstart = 0, idx = 0, currentlength, maxlength = 0;
+
+        gt_assert(numofsequences > 1);
+        for (seqnum = 0; seqnum < numofsequences - 1; seqnum++)
+        {
+          gt_assert(currentstart < spi->ssptab[seqnum]);
+          currentlength = spi->ssptab[seqnum] - currentstart;
+          if (maxlength < currentlength)
+          {
+            maxlength = currentlength;
+          }
+          if (seqnum == spi->ranges[idx].end)
+          {
+            spi->ranges[idx].max_length = maxlength;
+            idx++;
+            maxlength = 0;
+          }
+          currentstart = spi->ssptab[seqnum] + 1;
+        }
+        currentlength = spi->totallength - currentstart;
+        if (maxlength < currentlength)
+        {
+          maxlength = currentlength;
+        }
+        gt_assert(idx + 1 == effective_num_parts &&
+                  seqnum == spi->ranges[idx].end);
+        spi->ranges[idx].max_length = maxlength;
+      }
+    }
+    spi->parts_number = effective_num_parts;
+  }
+  return spi;
+}
+
+GtUword gt_sequence_parts_info_number(const GtSequencePartsInfo *spi)
+{
+  gt_assert(spi != NULL);
+  return spi->parts_number;
+}
+
+void gt_sequence_parts_info_delete(GtSequencePartsInfo *spi)
+{
+  if (spi != NULL)
+  {
+    gt_free(spi->ssptab);
+    gt_free(spi->ranges);
+    gt_free(spi);
+  }
+}
+
+GtUword gt_sequence_parts_info_start_get(const GtSequencePartsInfo *spi,
+                                         GtUword idx)
+{
+  gt_assert(spi != NULL && idx < spi->parts_number);
+  return spi->ranges[idx].start;
+}
+
+GtUword gt_sequence_parts_info_end_get(const GtSequencePartsInfo *spi,
+                                       GtUword idx)
+{
+  gt_assert(spi != NULL && idx < spi->parts_number);
+  return spi->ranges[idx].end;
+}
+
+GtUword gt_sequence_parts_info_numofsequences_get(
+                        const GtSequencePartsInfo *spi,GtUword idx)
+{
+  gt_assert(spi != NULL && idx < spi->parts_number);
+  return gt_sequence_parts_info_end_get(spi,idx) -
+         gt_sequence_parts_info_start_get(spi,idx) + 1;
+}
+
+GtUword gt_sequence_parts_info_max_length_get(const GtSequencePartsInfo *spi,
+                                              GtUword idx)
+{
+  gt_assert(spi != NULL && idx < spi->parts_number);
+  return spi->ranges[idx].max_length;
+}
+
+bool gt_sequence_parts_info_overlap(const GtSequencePartsInfo *spia,
+                                    GtUword aidx,
+                                    const GtSequencePartsInfo *spib,
+                                    GtUword bidx)
+{
+  GtRange range_a, range_b;
+
+  range_a.start = gt_sequence_parts_info_start_get(spia,aidx);
+  range_a.end = gt_sequence_parts_info_end_get(spia,aidx);
+  range_b.start = gt_sequence_parts_info_start_get(spib,bidx);
+  range_b.end = gt_sequence_parts_info_end_get(spib,bidx);
+  return gt_range_overlap(&range_a,&range_b);
+}
+
+bool gt_sequence_parts_info_equal(const GtSequencePartsInfo *spia,
+                                  GtUword aidx,
+                                  const GtSequencePartsInfo *spib,
+                                  GtUword bidx)
+{
+  return (gt_sequence_parts_info_start_get(spia,aidx) ==
+          gt_sequence_parts_info_start_get(spib,bidx)) &&
+         (gt_sequence_parts_info_end_get(spia,aidx) ==
+          gt_sequence_parts_info_end_get(spib,bidx)) ? true : false;
+
+}
+
+void gt_sequence_parts_info_variance_show(const GtSequencePartsInfo *spi)
+{
+  GtUword variance_sum = 0, idx, avgpartlength;
+
+  avgpartlength = spi->totallength/spi->parts_number;
+  for (idx = 0; idx < spi->parts_number; idx++)
+  {
+    const GtUword partlength
+      = gt_sequence_parts_info_partlength(
+             spi,
+             gt_sequence_parts_info_start_get(spi,idx),
+             gt_sequence_parts_info_end_get(spi,idx));
+    if (partlength > avgpartlength)
+    {
+      GtUword diff = partlength - avgpartlength;
+      variance_sum += diff * diff;
+    } else
+    {
+      GtUword diff = avgpartlength - partlength;
+      variance_sum += diff * diff;
+    }
+    printf("# Part " GT_WU ": sequence " GT_WU "..." GT_WU ", total length="
+           GT_WU ", max_length=" GT_WU "\n",idx+1,
+           gt_sequence_parts_info_start_get(spi,idx),
+           gt_sequence_parts_info_end_get(spi,idx),
+           partlength,
+           gt_sequence_parts_info_max_length_get(spi,idx));
+  }
+  printf("# Variance of parts is %.2e\n",
+           (double) variance_sum/spi->parts_number);
+}
+
+GtUchar *gt_sequence_parts_info_seq_extract(const GtEncseq *encseq,
+                                            const GtSequencePartsInfo *spi,
+                                            GtUword idx)
+{
+  GtUchar *byte_sequence;
+  const GtUword
+    firstseqnum = gt_sequence_parts_info_start_get(spi,idx),
+    lastseqnum = gt_sequence_parts_info_end_get(spi,idx),
+    firstpos = gt_sequence_parts_info_seqstartpos(spi,firstseqnum),
+    lastpos = gt_sequence_parts_info_seqendpos(spi,lastseqnum);
+
+  gt_assert(firstpos <= lastpos);
+  byte_sequence = gt_malloc(sizeof *byte_sequence * (lastpos - firstpos + 1));
+  gt_encseq_extract_encoded(encseq,byte_sequence,firstpos,lastpos);
+  return byte_sequence;
+}
diff --git a/src/match/seed_extend_parts.h b/src/match/seed_extend_parts.h
new file mode 100644
index 0000000..3f74453
--- /dev/null
+++ b/src/match/seed_extend_parts.h
@@ -0,0 +1,73 @@
+/*
+  Copyright (c) 2016-2016 Stefan Kurtz <kurtz at zbh.uni-hamburg.de>
+  Copyright (c) 2016-2016 Center for Bioinformatics, University of Hamburg
+
+  Permission to use, copy, modify, and distribute this software for any
+  purpose with or without fee is hereby granted, provided that the above
+  copyright notice and this permission notice appear in all copies.
+
+  THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+  WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+  MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+  ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+  WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+  ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+  OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+*/
+
+#ifndef SEED_EXTEND_PARTS_H
+#define SEED_EXTEND_PARTS_H
+
+#include "core/ma_api.h"
+#include "core/encseq.h"
+
+typedef struct GtSequencePartsInfo GtSequencePartsInfo;
+
+GtSequencePartsInfo *gt_sequence_parts_info_new(const GtEncseq *encseq,
+                                                GtUword numofsequences,
+                                                GtUword numparts);
+
+void gt_sequence_parts_info_delete(GtSequencePartsInfo *spi);
+
+GtUword gt_sequence_parts_info_number(const GtSequencePartsInfo *spi);
+
+GtUword gt_sequence_parts_info_start_get(const GtSequencePartsInfo *spi,
+                                         GtUword idx);
+
+GtUword gt_sequence_parts_info_end_get(const GtSequencePartsInfo *spi,
+                                       GtUword idx);
+
+GtUword gt_sequence_parts_info_numofsequences_get(
+                                       const GtSequencePartsInfo *spi,
+                                       GtUword idx);
+
+GtUword gt_sequence_parts_info_max_length_get(const GtSequencePartsInfo *spi,
+                                              GtUword idx);
+
+bool gt_sequence_parts_info_overlap(const GtSequencePartsInfo *spia,
+                                    GtUword aidx,
+                                    const GtSequencePartsInfo *spib,
+                                    GtUword bidx);
+
+bool gt_sequence_parts_info_equal(const GtSequencePartsInfo *spia,
+                                  GtUword aidx,
+                                  const GtSequencePartsInfo *spib,
+                                  GtUword bidx);
+
+GtUword gt_sequence_parts_info_seqstartpos(const GtSequencePartsInfo *spi,
+                                           GtUword seqnum);
+
+GtUword gt_sequence_parts_info_seqendpos(const GtSequencePartsInfo *spi,
+                                         GtUword seqnum);
+
+GtUword gt_sequence_parts_info_partlength(const GtSequencePartsInfo *spi,
+                                          GtUword fromseq,
+                                          GtUword toseq);
+
+void gt_sequence_parts_info_variance_show(const GtSequencePartsInfo *spi);
+
+GtUchar *gt_sequence_parts_info_seq_extract(const GtEncseq *encseq,
+                                            const GtSequencePartsInfo *spi,
+                                            GtUword idx);
+
+#endif
diff --git a/src/match/seq_or_encseq.h b/src/match/seq_or_encseq.h
index e3d0572..dc753fb 100644
--- a/src/match/seq_or_encseq.h
+++ b/src/match/seq_or_encseq.h
@@ -1,9 +1,43 @@
 #ifndef SEQ_OR_ENCSEQ_H
 #define SEQ_OR_ENCSEQ_H
+#include "core/assert_api.h"
 #include "core/encseq_api.h"
+
+#define GT_SEQORENCSEQ_INIT_ENCSEQ(SORE,ENCSEQ)\
+        (SORE)->encseq = ENCSEQ;\
+        (SORE)->seq = NULL;\
+        (SORE)->desc = NULL;\
+        (SORE)->seqlength = GT_UWORD_MAX;\
+        (SORE)->seqstartpos = GT_UWORD_MAX;\
+        (SORE)->characters = NULL;\
+        (SORE)->wildcardshow = 0;\
+        (SORE)->haswildcards = true
+
+#define GT_SEQORENCSEQ_ADD_SEQ_COORDS(SORE,SEQSTARTPOS,SEQLENGTH)\
+        gt_assert((SORE)->encseq != NULL);\
+        (SORE)->seqstartpos = SEQSTARTPOS;\
+        (SORE)->seqlength = SEQLENGTH
+
+#define GT_SEQORENCSEQ_INIT_SEQ(SORE,SEQ,SEQDESC,SEQLENGTH,CHARACTERS,\
+                                WILDCARDSHOW,HASWILDCARDS)\
+        (SORE)->encseq = NULL;\
+        (SORE)->seq = SEQ;\
+        (SORE)->desc = SEQDESC;\
+        (SORE)->seqlength = SEQLENGTH;\
+        (SORE)->seqstartpos = 0;\
+        (SORE)->characters = CHARACTERS;\
+        (SORE)->wildcardshow = WILDCARDSHOW;\
+        (SORE)->haswildcards = HASWILDCARDS
+
 typedef struct
 {
   const GtUchar *seq;
   const GtEncseq *encseq;
+  const char *desc; /* only used if seq != NULL and display_seq_desc */
+  GtWord seqstartpos, seqlength;
+  const GtUchar *characters;
+  GtUchar wildcardshow;
+  bool haswildcards;
 } GtSeqorEncseq;
+
 #endif
diff --git a/src/match/seqabstract.c b/src/match/seqabstract.c
index ddb5943..6615af5 100644
--- a/src/match/seqabstract.c
+++ b/src/match/seqabstract.c
@@ -48,10 +48,8 @@ struct GtSeqabstract
   } seq;
 };
 
-GtSeqabstract *gt_seqabstract_new_empty(void)
+void gt_seqabstract_reset(GtSeqabstract *sa)
 {
-  GtSeqabstract *sa = gt_malloc(sizeof *sa);
-
   sa->seqtype = GT_SEQABSTRACT_UNDEF;
   sa->len = sa->offset = 0;
   sa->read_seq_left2right = true;
@@ -59,18 +57,14 @@ GtSeqabstract *gt_seqabstract_new_empty(void)
   sa->totallength = GT_SEQABSTRACT_TOTALLENGTH_UNDEF;
   sa->seqstartpos = 0;
   sa->seq.string = NULL;
-  return sa;
 }
 
-void gt_seqabstract_reset(GtSeqabstract *sa)
+GtSeqabstract *gt_seqabstract_new_empty(void)
 {
-  sa->seqtype = GT_SEQABSTRACT_UNDEF;
-  sa->len = sa->offset = 0;
-  sa->read_seq_left2right = true;
-  sa->dir_is_complement = false;
-  sa->totallength = GT_SEQABSTRACT_TOTALLENGTH_UNDEF;
-  sa->seqstartpos = 0;
-  sa->seq.string = NULL;
+  GtSeqabstract *sa = gt_malloc(sizeof *sa);
+
+  gt_seqabstract_reset(sa);
+  return sa;
 }
 
 static void gt_seqabstract_init(GtSeqabstract *sa,
diff --git a/src/match/seqabstract.h b/src/match/seqabstract.h
index d7bd37f..92a22e7 100644
--- a/src/match/seqabstract.h
+++ b/src/match/seqabstract.h
@@ -71,7 +71,7 @@ void           gt_seqabstract_reinit_encseq(bool rightextension,
 /* return the length of <sa> */
 GtUword        gt_seqabstract_length(const GtSeqabstract *sa);
 
-/* return character at positon <idx> (relative to <startpos>) of <sa> */
+/* return character at position <idx> (relative to <startpos>) of <sa> */
 GtUchar        gt_seqabstract_encoded_char(const GtSeqabstract *sa,
                                            GtUword idx);
 
diff --git a/src/match/sfx-diffcov.c b/src/match/sfx-diffcov.c
index e957a62..29a7a74 100644
--- a/src/match/sfx-diffcov.c
+++ b/src/match/sfx-diffcov.c
@@ -491,7 +491,7 @@ static GtUword dc_derivespecialcodesonthefly(GtDifferencecover *dcov,
   return countderived;
 }
 
-static int dc_compareCodeatpositon(const void *vala,const void *valb)
+static int dc_compareCodeatposition(const void *vala,const void *valb)
 {
   const Codeatposition *a = (const Codeatposition *) vala;
   const Codeatposition *b = (const Codeatposition *) valb;
@@ -516,7 +516,7 @@ static int dc_compareCodeatpositon(const void *vala,const void *valb)
   return 0;
 }
 
-static void dc_validate_samplepositons(const GtDifferencecover *dcov)
+static void dc_validate_samplepositions(const GtDifferencecover *dcov)
 {
   GtUword pos;
   unsigned int modvalue;
@@ -1268,7 +1268,7 @@ static void dc_differencecover_sortsample(GtDifferencecover *dcov,
     gt_assert(codelist.spaceCodeatposition != NULL);
     qsort(codelist.spaceCodeatposition,
           (size_t) codelist.nextfreeCodeatposition,
-          sizeof (*codelist.spaceCodeatposition),dc_compareCodeatpositon);
+          sizeof (*codelist.spaceCodeatposition),dc_compareCodeatposition);
   }
   if (dcov->effectivesamplesize > 0)
   {
@@ -1690,7 +1690,7 @@ void gt_differencecover_check(const GtEncseq *encseq,GtReadmode readmode)
     printf("v=%u (size=%u)\n",dcov->vparam,dcov->size);
     if (withcheck)
     {
-      dc_validate_samplepositons(dcov);
+      dc_validate_samplepositions(dcov);
     }
     dc_differencecover_sortsample(dcov,NULL,NULL,NULL,withcheck);
     gt_differencecover_delete(dcov);
diff --git a/src/match/sfx-run.c b/src/match/sfx-run.c
index 78bcda1..45a09d0 100644
--- a/src/match/sfx-run.c
+++ b/src/match/sfx-run.c
@@ -252,7 +252,7 @@ static int suffixeratorwithoutput(Outfileinfo *outfileinfo,
       GtUword totallength = gt_encseq_total_length(encseq);
       unsigned int bitsperentry = gt_determinebitspervalue(totallength);
 
-      bitbuffer = gt_bitbuffer_new(outfileinfo->outfpsuftab,bitsperentry);
+      bitbuffer = gt_bitbuffer_FILE_new(outfileinfo->outfpsuftab,bitsperentry);
     }
     while (true)
     {
diff --git a/src/match/sfx-suffixgetset.c b/src/match/sfx-suffixgetset.c
index e1a00c1..3ca4fe6 100644
--- a/src/match/sfx-suffixgetset.c
+++ b/src/match/sfx-suffixgetset.c
@@ -216,12 +216,7 @@ void gt_suffixsortspace_nooffsets(GT_UNUSED const GtSuffixsortspace *sssp)
 
 GtUword gt_suffixsortspace_getdirect(const GtSuffixsortspace *sssp,GtUword idx)
 {
-  gt_assert(sssp != NULL);
-  if (idx > sssp->maxindex)
-  {
-    printf("idx = " GT_WU " > " GT_WU " = maxindex\n",idx,sssp->maxindex);
-  }
-  gt_assert(idx <= sssp->maxindex);
+  gt_assert(sssp != NULL && idx <= sssp->maxindex);
   if (sssp->ulongtab != NULL)
   {
     return sssp->ulongtab[idx];
@@ -488,11 +483,11 @@ void gt_suffixsortspace_compressed_to_file (const GtSuffixsortspace *sssp,
   gt_assert(sssp != NULL);
   if (sssp->ulongtab != NULL)
   {
-    gt_bitbuffer_next_ulongtab(bb,sssp->ulongtab,numberofsuffixes);
+    gt_bitbuffer_write_ulongtab_FILE(bb,sssp->ulongtab,numberofsuffixes);
   } else
   {
     gt_assert (sssp->uinttab != NULL);
-    gt_bitbuffer_next_uint32tab(bb,sssp->uinttab,numberofsuffixes);
+    gt_bitbuffer_write_uint32tab_FILE(bb,sssp->uinttab,numberofsuffixes);
   }
 }
 
diff --git a/src/match/shu-dfs.h b/src/match/shu-dfs.h
index 297a5a7..d2fc9e8 100644
--- a/src/match/shu-dfs.h
+++ b/src/match/shu-dfs.h
@@ -25,12 +25,12 @@
 #include "match/shu_unitfile.h"
 
 typedef struct ShuNode {
-  bool process;
-  unsigned parentOffset;
+  bool      process;
+  unsigned  parentOffset;
   GtUword **countTermSubtree;
-  GtUword depth,
-                lower,
-                upper;
+  GtUword   depth,
+            lower,
+            upper;
 } ShuNode;
 
 GT_STACK_DECLARESTRUCT(ShuNode, 256UL);
diff --git a/src/match/test-maxpairs.c b/src/match/test-maxpairs.c
index 81e6cc4..ffe8d40 100644
--- a/src/match/test-maxpairs.c
+++ b/src/match/test-maxpairs.c
@@ -103,18 +103,20 @@ typedef struct
   GtUword len,
           dbstart,
           querystart;
-  uint64_t queryseqnum;
+  GtUword queryseqnum;
 } Substringmatch;
 
 static void gt_storemaxmatchquery(void *info, const GtQuerymatch *querymatch)
 {
   GtArray *tab = (GtArray *) info;
   Substringmatch subm;
+  GtUword query_seqlen, query_seqstart;
 
   subm.len = gt_querymatch_querylen(querymatch);
   subm.dbstart = gt_querymatch_dbstart(querymatch);
   subm.querystart = gt_querymatch_querystart(querymatch);
-  subm.queryseqnum = gt_querymatch_queryseqnum(querymatch);
+  gt_querymatch_query_coordinates(&subm.queryseqnum,&query_seqstart,
+                                  &query_seqlen, querymatch);
   gt_array_add(tab,subm);
 }
 
@@ -175,7 +177,7 @@ static int gt_storemaxmatchself(void *info,
         subm.querystart = pos -
                           (maxmatchselfinfo->querymarkpos[queryseqnum-1] + 1);
       }
-      subm.queryseqnum = (uint64_t) queryseqnum;
+      subm.queryseqnum = queryseqnum;
     }
     gt_array_add(maxmatchselfinfo->results,subm);
   }
@@ -227,11 +229,11 @@ static int gt_showSubstringmatch(void *a, GT_UNUSED void *info,
 {
   Substringmatch *m = (Substringmatch *) a;
 
-  printf(""GT_WU" "GT_WU" " Formatuint64_t " "GT_WU"\n",
-           m->len,
-           m->dbstart,
-           PRINTuint64_tcast(m->queryseqnum),
-           m->querystart);
+  printf(GT_WU " " GT_WU " " GT_WU " " GT_WU "\n",
+         m->len,
+         m->dbstart,
+         m->queryseqnum,
+         m->querystart);
   return 0;
 }
 
diff --git a/src/tools/gt_condenseq_compress.c b/src/tools/gt_condenseq_compress.c
index d33b40c..316ffe4 100644
--- a/src/tools/gt_condenseq_compress.c
+++ b/src/tools/gt_condenseq_compress.c
@@ -190,7 +190,7 @@ gt_condenseq_compress_option_parser_new(void *tool_arguments)
   /* -brute_force */
   option = gt_option_new_bool("brute_force", "disable filtering of seeds. "
                               "Incompatible with -diagonals yes "
-                              "or -full_diags yes",
+                              "or -full_diags yes. For benchmarking use.",
                               &arguments->brute, false);
   gt_option_is_development_option(option);
   gt_option_parser_add_option(op, option);
@@ -306,6 +306,10 @@ static int gt_condenseq_compress_runner(GT_UNUSED int argc, const char **argv,
     gt_encseq_loader_delete(es_l);
   }
 
+/* TODO DW: this should be adjusted to reflect the parameter tests done. it
+   could get fairly complicated heuristic, or we leave it as is.
+   setting hard defaults for dna or protein would work, too.
+  carefull: adjusting these might break test cases. */
   if (!had_err) {
     if (arguments->minalignlength == GT_UNDEF_UWORD)
       arguments->minalignlength = arguments->initsize != GT_UNDEF_UWORD ?
diff --git a/src/tools/gt_kmer_database.c b/src/tools/gt_kmer_database.c
index ca6c0fe..006abc5 100644
--- a/src/tools/gt_kmer_database.c
+++ b/src/tools/gt_kmer_database.c
@@ -126,8 +126,8 @@ static GtOptionParser* gt_kmer_database_option_parser_new(void *tool_arguments)
   gt_option_exclude(option_mean_cutoff, option);
 
   /* -disable_prune */
-  option = gt_option_new_bool("disable_prune", "disables the removel of kmers, "
-                              "which occure more often than the cutoff.",
+  option = gt_option_new_bool("disable_prune", "disables the removal of kmers "
+                              "which occur more often than the cutoff.",
                               &arguments->prune, false);
   gt_option_parser_add_option(op, option);
   gt_option_imply(option, option_use_cutoff);
diff --git a/src/tools/gt_readjoiner.c b/src/tools/gt_readjoiner.c
index a894bc6..529d60d 100644
--- a/src/tools/gt_readjoiner.c
+++ b/src/tools/gt_readjoiner.c
@@ -29,6 +29,7 @@
 #include "tools/gt_readjoiner_cgraph.h"
 #include "tools/gt_readjoiner_correct.h"
 #include "tools/gt_readjoiner_cnttest.h"
+#include "tools/gt_readjoiner_gfa.h"
 #include "tools/gt_readjoiner_graph.h"
 #include "tools/gt_readjoiner_spmtest.h"
 
@@ -40,6 +41,7 @@ static void* gt_readjoiner_arguments_new(void)
   gt_toolbox_add_tool(readjoiner_toolbox, "overlap", gt_readjoiner_overlap());
   gt_toolbox_add_tool(readjoiner_toolbox, "assembly", gt_readjoiner_assembly());
   gt_toolbox_add_hidden_tool(readjoiner_toolbox, "asqg", gt_readjoiner_asqg());
+  gt_toolbox_add_hidden_tool(readjoiner_toolbox, "gfa", gt_readjoiner_gfa());
   gt_toolbox_add_hidden_tool(readjoiner_toolbox, "graph",
       gt_readjoiner_graph());
   gt_toolbox_add_hidden_tool(readjoiner_toolbox, "cgraph",
diff --git a/src/tools/gt_readjoiner_asqg.c b/src/tools/gt_readjoiner_asqg.c
index 94def9b..c20ab02 100644
--- a/src/tools/gt_readjoiner_asqg.c
+++ b/src/tools/gt_readjoiner_asqg.c
@@ -284,7 +284,7 @@ static int gt_readjoiner_asqg_runner(GT_UNUSED int argc,
       if (gt_showtime_enabled())
         gt_timer_show_progress(timer, GT_READJOINER_ASQG_MSG_EDGES, stdout);
       gt_logger_log(default_logger, GT_READJOINER_ASQG_MSG_EDGES);
-      had_err = gt_readjoiner_asqg_use_spmfiles(gt_spmproc_show_asgq,
+      had_err = gt_readjoiner_asqg_use_spmfiles(gt_spmproc_show_asqg,
           aw, readset, arguments->minmatchlength, arguments->nspmfiles,
           contained, err);
       gt_readjoiner_asqg_show_current_space(GT_READJOINER_ASQG_MSG_EDGES);
diff --git a/src/tools/gt_readjoiner_asqg.c b/src/tools/gt_readjoiner_gfa.c
similarity index 67%
copy from src/tools/gt_readjoiner_asqg.c
copy to src/tools/gt_readjoiner_gfa.c
index 94def9b..819b085 100644
--- a/src/tools/gt_readjoiner_asqg.c
+++ b/src/tools/gt_readjoiner_gfa.c
@@ -23,14 +23,14 @@
 #include "core/unused_api.h"
 #include "core/showtime.h"
 #include "core/spacecalc.h"
-#include "match/asqg_writer.h"
+#include "match/gfa_writer.h"
 #include "match/rdj-contigpaths.h"
 #include "match/rdj-cntlist.h"
 #include "match/rdj-spmlist.h"
 #include "match/rdj-strgraph.h"
 #include "match/rdj-filesuf-def.h"
 #include "match/rdj-version.h"
-#include "tools/gt_readjoiner_asqg.h"
+#include "tools/gt_readjoiner_gfa.h"
 
 typedef struct {
   bool verbose, quiet;
@@ -38,36 +38,37 @@ typedef struct {
   GtStr  *readset;
   bool gz, sg;
   unsigned int nspmfiles;
-} GtReadjoinerAsqgArguments;
+  bool gfa1;
+} GtReadjoinerGfaArguments;
 
-static void* gt_readjoiner_asqg_arguments_new(void)
+static void* gt_readjoiner_gfa_arguments_new(void)
 {
-  GtReadjoinerAsqgArguments *arguments = gt_calloc((size_t)1,
+  GtReadjoinerGfaArguments *arguments = gt_calloc((size_t)1,
       sizeof *arguments);
   arguments->readset = gt_str_new();
   return arguments;
 }
 
-static void gt_readjoiner_asqg_arguments_delete(void *tool_arguments)
+static void gt_readjoiner_gfa_arguments_delete(void *tool_arguments)
 {
-  GtReadjoinerAsqgArguments *arguments = tool_arguments;
+  GtReadjoinerGfaArguments *arguments = tool_arguments;
   if (!arguments)
     return;
   gt_str_delete(arguments->readset);
   gt_free(arguments);
 }
 
-static GtOptionParser* gt_readjoiner_asqg_option_parser_new(
+static GtOptionParser* gt_readjoiner_gfa_option_parser_new(
     void *tool_arguments)
 {
-  GtReadjoinerAsqgArguments *arguments = tool_arguments;
+  GtReadjoinerGfaArguments *arguments = tool_arguments;
   GtOptionParser *op;
   GtOption *option, *v_option;
   gt_assert(arguments != NULL);
 
   /* init */
   op = gt_option_parser_new("[option ...]",
-      "Output string graph in SGA asqg format.");
+      "Output string graph in SGA gfa format.");
 
   /* -readset */
   option = gt_option_new_string("readset", "specify the readset name",
@@ -95,11 +96,17 @@ static GtOptionParser* gt_readjoiner_asqg_option_parser_new(
 
   /* -sg */
   option = gt_option_new_bool("sg", "first construct a Readjoiner string "
-      "graph, then convert it into SGA format",
+      "graph, then convert it into GFA format",
       &arguments->sg, false);
   gt_option_is_development_option(option);
   gt_option_parser_add_option(op, option);
 
+  /* -1 */
+  option = gt_option_new_bool("1", "output GFA1 "
+      "(default: output GFA2)", &arguments->gfa1, false);
+  gt_option_hide_default(option);
+  gt_option_parser_add_option(op, option);
+
   /* -v */
   v_option = gt_option_new_verbose(&arguments->verbose);
   gt_option_parser_add_option(op, v_option);
@@ -116,26 +123,26 @@ static GtOptionParser* gt_readjoiner_asqg_option_parser_new(
   return op;
 }
 
-#define GT_READJOINER_ASQG_MSG_INIT \
+#define GT_READJOINER_GFA_MSG_INIT \
   "initialization"
-#define GT_READJOINER_ASQG_MSG_CNT \
+#define GT_READJOINER_GFA_MSG_CNT \
   "parse lists of contained reads"
 
-/* encseq + spm -> asqg */
-#define GT_READJOINER_ASQG_MSG_VERTICES \
-  "output vertices in asqg format"
-#define GT_READJOINER_ASQG_MSG_EDGES \
-  "output edges in asqg format"
+/* encseq + spm -> gfa */
+#define GT_READJOINER_GFA_MSG_VERTICES \
+  "output vertices in gfa format"
+#define GT_READJOINER_GFA_MSG_EDGES \
+  "output edges in gfa format"
 
-/* encseq + sg -> asqg */
-#define GT_READJOINER_ASQG_MSG_COUNT \
+/* encseq + sg -> gfa */
+#define GT_READJOINER_GFA_MSG_COUNT \
   "build string graph (counting phase)"
-#define GT_READJOINER_ASQG_MSG_INSERT \
+#define GT_READJOINER_GFA_MSG_INSERT \
   "build string graph (insertion phase)"
-#define GT_READJOINER_ASQG_MSG_OUTPUT \
-  "output string graph in asqg format"
+#define GT_READJOINER_GFA_MSG_OUTPUT \
+  "output string graph in gfa format"
 
-static int gt_readjoiner_asqg_use_spmfiles(GtSpmproc proc, void *procdata,
+static int gt_readjoiner_gfa_use_spmfiles(GtSpmproc proc, void *procdata,
     const char *readset, unsigned int minmatchlength, unsigned int nspmfiles,
     GtBitsequence *contained, GtError *err)
 {
@@ -165,7 +172,7 @@ static int gt_readjoiner_asqg_use_spmfiles(GtSpmproc proc, void *procdata,
   return had_err;
 }
 
-static inline void gt_readjoiner_asqg_show_current_space(const char *label)
+static inline void gt_readjoiner_gfa_show_current_space(const char *label)
 {
   GtUword m, f;
   if (gt_ma_bookkeeping_enabled())
@@ -178,11 +185,11 @@ static inline void gt_readjoiner_asqg_show_current_space(const char *label)
   }
 }
 
-static int gt_readjoiner_asqg_runner(GT_UNUSED int argc,
+static int gt_readjoiner_gfa_runner(GT_UNUSED int argc,
     GT_UNUSED const char **argv, GT_UNUSED int parsed_args,
     void *tool_arguments, GtError *err)
 {
-  GtReadjoinerAsqgArguments *arguments = tool_arguments;
+  GtReadjoinerGfaArguments *arguments = tool_arguments;
   GtLogger *verbose_logger, *default_logger;
   GtEncseqLoader *el;
   GtEncseq *reads;
@@ -197,7 +204,7 @@ static int gt_readjoiner_asqg_runner(GT_UNUSED int argc,
   if (gt_showtime_enabled())
   {
     timer = gt_timer_new_with_progress_description(
-        GT_READJOINER_ASQG_MSG_INIT);
+        GT_READJOINER_GFA_MSG_INIT);
     gt_timer_start(timer);
     gt_timer_show_cpu_time_by_progress(timer);
   }
@@ -205,7 +212,7 @@ static int gt_readjoiner_asqg_runner(GT_UNUSED int argc,
   gt_error_check(err);
   default_logger = gt_logger_new(!arguments->quiet, GT_LOGGER_DEFLT_PREFIX,
       stdout);
-  gt_logger_log(default_logger, "gt readjoiner asqg");
+  gt_logger_log(default_logger, "gt readjoiner gfa");
   verbose_logger = gt_logger_new(arguments->verbose, GT_LOGGER_DEFLT_PREFIX,
       stdout);
   gt_logger_log(verbose_logger, "verbose output activated");
@@ -213,6 +220,10 @@ static int gt_readjoiner_asqg_runner(GT_UNUSED int argc,
   if (arguments->minmatchlength > 0)
     gt_logger_log(verbose_logger, "SPM length cutoff = %u",
         arguments->minmatchlength);
+  if (arguments->gfa1)
+    gt_logger_log(verbose_logger, "GFA version = 1.0");
+  else
+    gt_logger_log(verbose_logger, "GFA version = 2.0");
 
   el = gt_encseq_loader_new();
   gt_encseq_loader_drop_description_support(el);
@@ -221,15 +232,15 @@ static int gt_readjoiner_asqg_runner(GT_UNUSED int argc,
   nreads = gt_encseq_num_of_sequences(reads);
   gt_assert(reads != NULL);
   eqlen = gt_encseq_accesstype_get(reads) == GT_ACCESS_TYPE_EQUALLENGTH;
-  gt_readjoiner_asqg_show_current_space(GT_READJOINER_ASQG_MSG_INIT);
+  gt_readjoiner_gfa_show_current_space(GT_READJOINER_GFA_MSG_INIT);
   if (!eqlen)
   {
     unsigned int i;
     GtUword nofreads;
     GtStr *filename = gt_str_clone(arguments->readset);
     if (gt_showtime_enabled())
-      gt_timer_show_progress(timer, GT_READJOINER_ASQG_MSG_CNT, stdout);
-    gt_logger_log(default_logger, GT_READJOINER_ASQG_MSG_CNT);
+      gt_timer_show_progress(timer, GT_READJOINER_GFA_MSG_CNT, stdout);
+    gt_logger_log(default_logger, GT_READJOINER_GFA_MSG_CNT);
     gt_str_append_cstr(filename, ".0" GT_READJOINER_SUFFIX_CNTLIST);
     had_err = gt_cntlist_parse(gt_str_get(filename), true, &contained,
         &nofreads, err);
@@ -246,18 +257,18 @@ static int gt_readjoiner_asqg_runner(GT_UNUSED int argc,
       gt_assert(nofreads == nofreads_i);
     }
     gt_str_delete(filename);
-    gt_readjoiner_asqg_show_current_space(GT_READJOINER_ASQG_MSG_CNT);
+    gt_readjoiner_gfa_show_current_space(GT_READJOINER_GFA_MSG_CNT);
   }
   if (!arguments->sg)
   {
     GtStr *filename = NULL;
     GtFile *file = NULL;
-    GtAsqgWriter *aw = NULL;
+    GtGfaWriter *gw = NULL;
     if (had_err == 0)
     {
       filename = gt_str_clone(arguments->readset);
       gt_str_append_cstr(filename, arguments->gz ?
-          GT_READJOINER_SUFFIX_SG_ASQG_GZ : GT_READJOINER_SUFFIX_SG_ASQG);
+          GT_READJOINER_SUFFIX_SG_GFA_GZ : GT_READJOINER_SUFFIX_SG_GFA);
       file = gt_file_open(arguments->gz ? GT_FILE_MODE_GZIP :
           GT_FILE_MODE_UNCOMPRESSED, gt_str_get(filename), "w", err);
       if (file == NULL)
@@ -265,52 +276,53 @@ static int gt_readjoiner_asqg_runner(GT_UNUSED int argc,
     }
     if (had_err == 0)
     {
-      aw = gt_asqg_writer_new(file, reads);
+      gw = gt_gfa_writer_new(file, reads, arguments->gfa1 ?
+          GT_GFA_VERSION_1_0 : GT_GFA_VERSION_2_0);
       if (gt_showtime_enabled())
-        gt_timer_show_progress(timer, GT_READJOINER_ASQG_MSG_VERTICES,
+        gt_timer_show_progress(timer, GT_READJOINER_GFA_MSG_VERTICES,
             stdout);
-      gt_logger_log(default_logger, GT_READJOINER_ASQG_MSG_VERTICES);
-      had_err = gt_asqg_writer_show_header(aw, 0.0,
+      gt_logger_log(default_logger, GT_READJOINER_GFA_MSG_VERTICES);
+      had_err = gt_gfa_writer_show_header(gw,
           (GtUword)arguments->minmatchlength,
           gt_str_get(arguments->readset), false, false, err);
     }
     if (had_err == 0)
     {
-      had_err = gt_asqg_writer_show_vertices(aw, err);
-      gt_readjoiner_asqg_show_current_space(GT_READJOINER_ASQG_MSG_VERTICES);
+      had_err = gt_gfa_writer_show_segments(gw, err);
+      gt_readjoiner_gfa_show_current_space(GT_READJOINER_GFA_MSG_VERTICES);
     }
     if (had_err == 0)
     {
       if (gt_showtime_enabled())
-        gt_timer_show_progress(timer, GT_READJOINER_ASQG_MSG_EDGES, stdout);
-      gt_logger_log(default_logger, GT_READJOINER_ASQG_MSG_EDGES);
-      had_err = gt_readjoiner_asqg_use_spmfiles(gt_spmproc_show_asgq,
-          aw, readset, arguments->minmatchlength, arguments->nspmfiles,
+        gt_timer_show_progress(timer, GT_READJOINER_GFA_MSG_EDGES, stdout);
+      gt_logger_log(default_logger, GT_READJOINER_GFA_MSG_EDGES);
+      had_err = gt_readjoiner_gfa_use_spmfiles(gt_spmproc_show_gfa,
+          gw, readset, arguments->minmatchlength, arguments->nspmfiles,
           contained, err);
-      gt_readjoiner_asqg_show_current_space(GT_READJOINER_ASQG_MSG_EDGES);
+      gt_readjoiner_gfa_show_current_space(GT_READJOINER_GFA_MSG_EDGES);
     }
     gt_str_delete(filename);
     gt_file_delete(file);
-    gt_asqg_writer_delete(aw);
+    gt_gfa_writer_delete(gw);
   }
   else
   {
     if (had_err == 0)
     {
       if (gt_showtime_enabled())
-        gt_timer_show_progress(timer, GT_READJOINER_ASQG_MSG_COUNT, stdout);
-      gt_logger_log(default_logger, GT_READJOINER_ASQG_MSG_COUNT);
+        gt_timer_show_progress(timer, GT_READJOINER_GFA_MSG_COUNT, stdout);
+      gt_logger_log(default_logger, GT_READJOINER_GFA_MSG_COUNT);
       strgraph = gt_strgraph_new(nreads);
-      had_err = gt_readjoiner_asqg_use_spmfiles(gt_spmproc_strgraph_count,
+      had_err = gt_readjoiner_gfa_use_spmfiles(gt_spmproc_strgraph_count,
           strgraph, readset, arguments->minmatchlength, arguments->nspmfiles,
           contained, err);
-      gt_readjoiner_asqg_show_current_space(GT_READJOINER_ASQG_MSG_COUNT);
+      gt_readjoiner_gfa_show_current_space(GT_READJOINER_GFA_MSG_COUNT);
     }
     if (had_err == 0)
     {
       if (gt_showtime_enabled())
-        gt_timer_show_progress(timer, GT_READJOINER_ASQG_MSG_INSERT, stdout);
-      gt_logger_log(default_logger, GT_READJOINER_ASQG_MSG_INSERT);
+        gt_timer_show_progress(timer, GT_READJOINER_GFA_MSG_INSERT, stdout);
+      gt_logger_log(default_logger, GT_READJOINER_GFA_MSG_INSERT);
       gt_strgraph_allocate_graph(strgraph,
           eqlen ? gt_encseq_seqlength(reads, 0) : 0,
           eqlen ? NULL : reads);
@@ -318,19 +330,22 @@ static int gt_readjoiner_asqg_runner(GT_UNUSED int argc,
           (GtUword)arguments->minmatchlength, false,
           contained, readset, arguments->nspmfiles,
           GT_READJOINER_SUFFIX_SPMLIST, err);
-      gt_readjoiner_asqg_show_current_space(GT_READJOINER_ASQG_MSG_INSERT);
+      gt_readjoiner_gfa_show_current_space(GT_READJOINER_GFA_MSG_INSERT);
     }
     if (had_err == 0)
     {
       if (gt_showtime_enabled())
-        gt_timer_show_progress(timer, GT_READJOINER_ASQG_MSG_OUTPUT, stdout);
-      gt_logger_log(default_logger, GT_READJOINER_ASQG_MSG_OUTPUT);
+        gt_timer_show_progress(timer, GT_READJOINER_GFA_MSG_OUTPUT, stdout);
+      gt_logger_log(default_logger, GT_READJOINER_GFA_MSG_OUTPUT);
       gt_strgraph_set_encseq(strgraph, reads);
-      gt_strgraph_show(strgraph, arguments->gz ? GT_STRGRAPH_ASQG_GZ :
-          GT_STRGRAPH_ASQG, gt_str_get(arguments->readset),
-          arguments->gz ? GT_READJOINER_SUFFIX_SG_ASQG_GZ :
-          GT_READJOINER_SUFFIX_SG_ASQG, false);
-      gt_readjoiner_asqg_show_current_space(GT_READJOINER_ASQG_MSG_OUTPUT);
+      gt_strgraph_show(strgraph,
+          arguments->gfa1 ?
+           (arguments->gz ? GT_STRGRAPH_GFA1_GZ : GT_STRGRAPH_GFA1) :
+           (arguments->gz ? GT_STRGRAPH_GFA2_GZ : GT_STRGRAPH_GFA2),
+          gt_str_get(arguments->readset),
+          arguments->gz ? GT_READJOINER_SUFFIX_SG_GFA_GZ :
+          GT_READJOINER_SUFFIX_SG_GFA, false);
+      gt_readjoiner_gfa_show_current_space(GT_READJOINER_GFA_MSG_OUTPUT);
     }
   }
   if (gt_showtime_enabled())
@@ -347,10 +362,10 @@ static int gt_readjoiner_asqg_runner(GT_UNUSED int argc,
   return had_err;
 }
 
-GtTool* gt_readjoiner_asqg(void)
+GtTool* gt_readjoiner_gfa(void)
 {
-  return gt_tool_new(gt_readjoiner_asqg_arguments_new,
-                  gt_readjoiner_asqg_arguments_delete,
-                  gt_readjoiner_asqg_option_parser_new,
-                  NULL, gt_readjoiner_asqg_runner);
+  return gt_tool_new(gt_readjoiner_gfa_arguments_new,
+                  gt_readjoiner_gfa_arguments_delete,
+                  gt_readjoiner_gfa_option_parser_new,
+                  NULL, gt_readjoiner_gfa_runner);
 }
diff --git a/src/match/lua_tools.h b/src/tools/gt_readjoiner_gfa.h
similarity index 78%
copy from src/match/lua_tools.h
copy to src/tools/gt_readjoiner_gfa.h
index 99158d4..6e33f10 100644
--- a/src/match/lua_tools.h
+++ b/src/tools/gt_readjoiner_gfa.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (c) 2011 Dirk Willrodt <willrodt at zbh.uni-hamburg.de>
+  Copyright (c) 2011 Giorgio Gonnella <gonnella at zbh.uni-hamburg.de>
   Copyright (c) 2011 Center for Bioinformatics, University of Hamburg
 
   Permission to use, copy, modify, and distribute this software for any
@@ -15,13 +15,12 @@
   OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 */
 
-#ifndef LUA_TOOLS_H
-#define LUA_TOOLS_H
+#ifndef GT_READJOINER_GFA_H
+#define GT_READJOINER_GFA_H
 
-#include "lauxlib.h"
-#include "lua.h"
-#include "lualib.h"
+#include "core/tool_api.h"
 
-void gt_lua_stack_dump(lua_State *L);
+/* the readjoiner_gfa tool */
+GtTool* gt_readjoiner_gfa(void);
 
 #endif
diff --git a/src/tools/gt_repfind.c b/src/tools/gt_repfind.c
index 248af89..6796726 100644
--- a/src/tools/gt_repfind.c
+++ b/src/tools/gt_repfind.c
@@ -15,6 +15,7 @@
   OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 */
 
+#include <float.h>
 #include "core/error_api.h"
 #include "core/format64.h"
 #include "core/log_api.h"
@@ -29,6 +30,7 @@
 #include "core/encseq.h"
 #include "core/showtime.h"
 #include "core/timer_api.h"
+#include "core/encseq_metadata.h"
 #include "match/esa-maxpairs.h"
 #include "match/esa-mmsearch.h"
 #include "match/querymatch.h"
@@ -45,7 +47,7 @@ typedef struct
   GtUword samples,
           extendxdrop,
           maxfreq,
-          history,        /* number of bits used for history of alignments */
+          historysize,   /* number of bits used for history of alignments */
           perc_mat_history, /* percent of matches in history */
           minidentity, /* We prefer to specify the minidentity. The use of the
            notion of error percentage may be misleading, as in Myers paper it
@@ -53,22 +55,20 @@ typedef struct
            reasons, the option -err is used, then the minidentity contains the
            error rate, a value in the range from 1 to 30. */
           maxalignedlendifference, /* maxfrontdist */
-          extendgreedy, /* determines which of the tables in
+          extendgreedy; /* determines which of the tables in
                            seed-extend-params.h is used */
-          alignmentwidth; /* 0 for no alignment display and otherwidth number
-                             of columns of alignment per line displayed. */
   bool scanfile, beverbose, forward, reverse, reverse_complement, searchspm,
-       check_extend_symmetry, silent, trimstat, seed_display, seqlength_display,
-       noxpolish, verify_alignment;
-  GtStr *indexname, *query_indexname, *cam_string; /* parse this using
-                                    gt_greedy_extend_char_access*/
+       check_extend_symmetry, trimstat_on, noxpolish, verify_alignment;
+  GtStr *indexname, *query_indexname, *cam_string;
   GtStrArray *query_files;
   GtOption *refforwardoption,
            *refseedlengthoption,
            *refuserdefinedleastlengthoption,
            *refextendxdropoption,
            *refextendgreedyoption,
-           *refalignmentoutoption;
+           *ref_op_evalue;
+  GtStrArray *display_args;
+  double evalue_threshold;
 } GtMaxpairsoptions;
 
 static int gt_exact_selfmatch_with_output(void *info,
@@ -78,55 +78,62 @@ static int gt_exact_selfmatch_with_output(void *info,
                                           GtUword pos2,
                                           GT_UNUSED GtError *err)
 {
-  GtUword queryseqnum, queryseqstartpos, query_totallength, dbseqnum,
-          dbseqstartpos, dbseqlen;
+  GtUword queryseqnum, query_seqstart, query_seqlen, dbseqnum,
+          db_seqstart, dbseqlen;
   const GtEncseq *encseq;
-  GtProcessinfo_and_querymatchspaceptr *processinfo_and_querymatchspaceptr
+  GtProcessinfo_and_querymatchspaceptr *info_querymatch
     = (GtProcessinfo_and_querymatchspaceptr *) info;
+  GtSeqorEncseq dbes, queryes;
 
   gt_assert(pos1 < pos2 && genericencseq != NULL && genericencseq->hasencseq);
   encseq = genericencseq->seqptr.encseq;
   if (gt_encseq_has_multiseq_support(encseq))
   {
     dbseqnum = gt_encseq_seqnum(encseq,pos1);
-    dbseqstartpos = gt_encseq_seqstartpos(encseq,dbseqnum);
+    db_seqstart = gt_encseq_seqstartpos(encseq,dbseqnum);
     dbseqlen = gt_encseq_seqlength(encseq,dbseqnum);
     queryseqnum = gt_encseq_seqnum(encseq,pos2);
-    queryseqstartpos = gt_encseq_seqstartpos(encseq,queryseqnum);
-    query_totallength = gt_encseq_seqlength(encseq,queryseqnum);
+    query_seqstart = gt_encseq_seqstartpos(encseq,queryseqnum);
+    query_seqlen = gt_encseq_seqlength(encseq,queryseqnum);
   } else
   {
     dbseqnum = 0;
-    dbseqstartpos = 0;
+    db_seqstart = 0;
     dbseqlen = 0;
     queryseqnum = 0;
-    queryseqstartpos = 0;
-    query_totallength = 0;
+    query_seqstart = 0;
+    query_seqlen = 0;
   }
-  gt_assert(pos2 >= queryseqstartpos);
-  if (gt_querymatch_complete(processinfo_and_querymatchspaceptr->
-                                  querymatchspaceptr,
+  gt_assert(pos2 >= query_seqstart);
+  GT_SEQORENCSEQ_INIT_ENCSEQ(&dbes,encseq);
+  GT_SEQORENCSEQ_INIT_ENCSEQ(&queryes,encseq);
+  if (gt_querymatch_complete(info_querymatch->querymatchspaceptr,
+                             info_querymatch->out_display_flag,
                              len,
-                             pos1,
                              dbseqnum,
-                             pos1 - dbseqstartpos,
+                             pos1 - db_seqstart,
+                             db_seqstart,
                              dbseqlen,
-                             0,
-                             0,
+                             0, /* score */
+                             0, /* edist */
+                             0, /* mismatches */
                              true,
                              (uint64_t) queryseqnum,
                              len,
-                             pos2 - queryseqstartpos,
-                             encseq,
-                             NULL,
-                             query_totallength,
-                             pos1,
-                             pos2,
+                             pos2 - query_seqstart,
+                             &dbes,
+                             &queryes,
+                             query_seqstart,
+                             query_seqlen,
+                             pos1 - db_seqstart,
+                             pos2 - query_seqstart,
                              len,
                              false))
   {
-    gt_querymatch_prettyprint(processinfo_and_querymatchspaceptr->
-                                         querymatchspaceptr);
+    /* for exact matches we do not output evalues and bitscores */
+    gt_querymatch_prettyprint(DBL_MAX,DBL_MAX,
+                              info_querymatch->out_display_flag,
+                              info_querymatch->querymatchspaceptr);
   }
   return 0;
 }
@@ -185,6 +192,7 @@ static void *gt_repfind_arguments_new(void)
   arguments->query_indexname = gt_str_new();
   arguments->cam_string = gt_str_new();
   arguments->query_files = gt_str_array_new();
+  arguments->display_args = gt_str_array_new();
   return arguments;
 }
 
@@ -200,12 +208,13 @@ static void gt_repfind_arguments_delete(void *tool_arguments)
   gt_str_delete(arguments->query_indexname);
   gt_str_delete(arguments->cam_string);
   gt_str_array_delete(arguments->query_files);
+  gt_str_array_delete(arguments->display_args);
   gt_option_delete(arguments->refforwardoption);
   gt_option_delete(arguments->refseedlengthoption);
   gt_option_delete(arguments->refuserdefinedleastlengthoption);
   gt_option_delete(arguments->refextendxdropoption);
   gt_option_delete(arguments->refextendgreedyoption);
-  gt_option_delete(arguments->refalignmentoutoption);
+  gt_option_delete(arguments->ref_op_evalue);
   gt_free(arguments);
 }
 
@@ -220,8 +229,8 @@ static GtOptionParser *gt_repfind_option_parser_new(void *tool_arguments)
            *maxalilendiffoption, *leastlength_option, *char_access_mode_option,
            *check_extend_symmetry_option, *xdropbelowoption, *historyoption,
            *percmathistoryoption, *errorpercentageoption, *optiontrimstat,
-           *withalignmentoption, *optionseed_display, *optionseqlength_display,
-           *optionnoxpolish, *verify_alignment_option, *option_query_indexname;
+           *optionnoxpolish, *verify_alignment_option, *option_query_indexname,
+           *op_evalue;
   GtMaxpairsoptions *arguments = tool_arguments;
 
   op = gt_option_parser_new("[options] -ii indexname",
@@ -337,7 +346,7 @@ static GtOptionParser *gt_repfind_option_parser_new(void *tool_arguments)
     = gt_option_new_uword_min_max("history",
                                   "Specify size of history in range [1..64] "
                                   "(trimming for greedy extension)",
-                                  &arguments->history,
+                                  &arguments->historysize,
                                   60,
                                   0,
                                   64);
@@ -354,18 +363,6 @@ static GtOptionParser *gt_repfind_option_parser_new(void *tool_arguments)
   gt_option_parser_add_option(op, percmathistoryoption);
   gt_option_is_development_option(percmathistoryoption);
 
-  withalignmentoption
-    = gt_option_new_uword_min("a",
-                              "show alignments/sequences for exact matches "
-                              "(optional argument is number of columns per "
-                              "line)",
-                              &arguments->alignmentwidth,
-                              70,
-                              20);
-  gt_option_argument_is_optional(withalignmentoption);
-  gt_option_parser_add_option(op, withalignmentoption);
-  arguments->refalignmentoutoption = gt_option_ref(withalignmentoption);
-
   option = gt_option_new_string("ii",
                                 "Specify input index",
                                 arguments->indexname, NULL);
@@ -374,14 +371,26 @@ static GtOptionParser *gt_repfind_option_parser_new(void *tool_arguments)
 
   char_access_mode_option = gt_option_new_string("cam",
                                                  gt_cam_extendgreedy_comment(),
-                                                 arguments->cam_string,"");
+                                                 arguments->cam_string,
+                                                 "any,any");
   gt_option_parser_add_option(op, char_access_mode_option);
   gt_option_is_development_option(char_access_mode_option);
 
-  option = gt_option_new_bool("silent","do not report matches",
-                               &arguments->silent, false);
+  /* -outfmt */
+  option = gt_option_new_string_array("outfmt",
+                                      gt_querymatch_display_help(),
+                                      arguments->display_args);
   gt_option_parser_add_option(op, option);
-  gt_option_is_development_option(option);
+
+  /* -evalue */
+  op_evalue = gt_option_new_double("evalue","switch on evalue filtering of "
+                                            "matches (optional argument "
+                                            "specifies evalue threshold)",
+                                   &arguments->evalue_threshold,
+                                   10.0);
+  gt_option_parser_add_option(op, op_evalue);
+  gt_option_argument_is_optional(op_evalue);
+  arguments->ref_op_evalue = gt_option_ref(op_evalue);
 
   optionnoxpolish
     = gt_option_new_bool("noxpolish","do not polish X-drop extensions",
@@ -396,24 +405,10 @@ static GtOptionParser *gt_repfind_option_parser_new(void *tool_arguments)
   gt_option_is_development_option(verify_alignment_option);
 
   optiontrimstat = gt_option_new_bool("trimstat","show trimming statistics",
-                                      &arguments->trimstat, false);
+                                      &arguments->trimstat_on, false);
   gt_option_parser_add_option(op, optiontrimstat);
   gt_option_is_development_option(optiontrimstat);
 
-  optionseed_display = gt_option_new_bool("seed-display","display seeds in "
-                                          "#-line",
-                                          &arguments->seed_display, false);
-  gt_option_parser_add_option(op, optionseed_display);
-  gt_option_is_development_option(optionseed_display);
-
-  optionseqlength_display = gt_option_new_bool("seqlength-display",
-                                       "Display length of sequences in which "
-                                       "the two match-instances occur",
-                                       &arguments->seqlength_display,
-                                       false);
-  gt_option_parser_add_option(op, optionseqlength_display);
-  gt_option_is_development_option(optionseqlength_display);
-
   option_query_indexname = gt_option_new_string("qii",
                                                 "Specify name of query index",
                                                 arguments->query_indexname,
@@ -469,15 +464,11 @@ static GtOptionParser *gt_repfind_option_parser_new(void *tool_arguments)
   gt_option_exclude(reverse_complementoption,spmoption);
   gt_option_exclude(extendgreedyoption,extendxdropoption);
   gt_option_exclude(errorpercentageoption,minidentityoption);
-  gt_option_exclude(withalignmentoption,sampleoption);
-  gt_option_exclude(withalignmentoption,spmoption);
-  gt_option_exclude(optionnoxpolish,withalignmentoption);
   gt_option_imply(xdropbelowoption,extendxdropoption);
   gt_option_imply(historyoption,extendgreedyoption);
   gt_option_imply(maxalilendiffoption,extendgreedyoption);
   gt_option_imply(percmathistoryoption,extendgreedyoption);
   gt_option_imply(optiontrimstat,extendgreedyoption);
-  gt_option_imply(verify_alignment_option,withalignmentoption);
   gt_option_imply(optionnoxpolish,extendxdropoption);
   gt_option_imply_either_2(seedlengthoption,extendxdropoption,
                            extendgreedyoption);
@@ -521,6 +512,10 @@ static int gt_repfind_arguments_check(GT_UNUSED int rest_argc,
       }
     }
   }
+  if (!gt_option_is_set(arguments->ref_op_evalue))
+  {
+    arguments->evalue_threshold = DBL_MAX;
+  }
   return 0;
 }
 
@@ -533,12 +528,12 @@ static int gt_generic_extend_selfmatch_xdrop_with_output(
                                            GtError *err)
 {
   gt_assert(genericencseq != NULL && genericencseq->hasencseq);
-  return gt_xdrop_extend_selfmatch_with_output(info,
-                                               genericencseq->seqptr.encseq,
-                                               len,
-                                               pos1,
-                                               pos2,
-                                               err);
+  return gt_rf_xdrop_extend_selfmatch_with_output(info,
+                                                  genericencseq->seqptr.encseq,
+                                                  len,
+                                                  pos1,
+                                                  pos2,
+                                                  err);
 }
 
 static int gt_generic_simplegreedyselfmatchoutput(
@@ -550,18 +545,19 @@ static int gt_generic_simplegreedyselfmatchoutput(
                                            GtError *err)
 {
   gt_assert(genericencseq != NULL && genericencseq->hasencseq);
-  return gt_greedy_extend_selfmatch_with_output(processinfo,
-                                                genericencseq->seqptr.encseq,
-                                                len,
-                                                pos1,
-                                                pos2,
-                                                err);
+  return gt_rf_greedy_extend_selfmatch_with_output(processinfo,
+                                                   genericencseq->seqptr.encseq,
+                                                   len,
+                                                   pos1,
+                                                   pos2,
+                                                   err);
 }
 
-typedef void (*GtXdrop_extend_querymatch_func)(void *,
-                                               const GtEncseq *,
-                                               const GtQuerymatch *,
-                                               const GtSeqorEncseq *);
+typedef void (*Gt_extend_querymatch_func)(void *,
+                                          const GtEncseq *,
+                                          const GtQuerymatch *,
+                                          const GtSeqorEncseq *,
+                                          bool);
 
 static int gt_callenumquerymatches(bool selfmatch,
                                    const char *indexname,
@@ -570,8 +566,10 @@ static int gt_callenumquerymatches(bool selfmatch,
                                    GtReadmode query_readmode,
                                    unsigned int userdefinedleastlength,
                                    GtQuerymatchoutoptions *querymatchoutoptions,
-                                   GtXdrop_extend_querymatch_func eqmf,
+                                   Gt_extend_querymatch_func eqmf,
                                    void *eqmf_data,
+                                   const GtSeedExtendDisplayFlag
+                                      *out_display_flag,
                                    GtLogger *logger,
                                    GtError *err)
 {
@@ -579,6 +577,7 @@ static int gt_callenumquerymatches(bool selfmatch,
   GtQuerysubstringmatchiterator *qsmi = NULL;
   bool haserr = false, query_encseq_own = false;
   GtEncseq *query_encseq = NULL;
+  GtUword totallength = 0;
 
   if (gt_mapsuffixarray(&suffixarray,
                         SARR_ESQTAB | SARR_SUFTAB | SARR_SSPTAB,
@@ -617,7 +616,7 @@ static int gt_callenumquerymatches(bool selfmatch,
   }
   if (!haserr)
   {
-    GtUword totallength = gt_encseq_total_length(suffixarray.encseq);
+    totallength = gt_encseq_total_length(suffixarray.encseq);
     qsmi = gt_querysubstringmatchiterator_new(suffixarray.encseq,
                                               totallength,
                                               suffixarray.suftab,
@@ -638,7 +637,15 @@ static int gt_callenumquerymatches(bool selfmatch,
     int retval;
     GtSeqorEncseq query_seqorencseq;
     GtQuerymatch *exactseed = gt_querymatch_new();
+    bool same_encseq;
 
+    if (query_files == NULL || gt_str_array_size(query_files) == 0)
+    {
+      same_encseq = (suffixarray.encseq == query_encseq) ? true : false;
+    } else
+    {
+      same_encseq = false;
+    }
     if (querymatchoutoptions != NULL)
     {
       gt_querymatch_outoptions_set(exactseed,querymatchoutoptions);
@@ -647,72 +654,90 @@ static int gt_callenumquerymatches(bool selfmatch,
     while (!haserr &&
            (retval = gt_querysubstringmatchiterator_next(qsmi, err)) == 0)
     {
-      GtUword dbstart, dbseqnum, dbseqstartpos, dbseqlen, matchlength,
-              query_totallength, querystart;
+      GtUword dbstart, dbseqnum, db_seqstart, dbseqlen,
+              matchlength, query_seqlen, querystart, query_seqstart;
       uint64_t queryunitnum;
 
       dbstart = gt_querysubstringmatchiterator_dbstart(qsmi);
       if (gt_encseq_has_multiseq_support(suffixarray.encseq))
       {
         dbseqnum = gt_encseq_seqnum(suffixarray.encseq,dbstart);
-        dbseqstartpos = gt_encseq_seqstartpos(suffixarray.encseq, dbseqnum);
         dbseqlen = gt_encseq_seqlength(suffixarray.encseq, dbseqnum);
+        db_seqstart = gt_encseq_seqstartpos(suffixarray.encseq, dbseqnum);
       } else
       {
-        dbseqnum = dbseqstartpos = dbseqlen = 0;
+        dbseqnum = dbseqlen = db_seqstart = 0;
       }
       matchlength = gt_querysubstringmatchiterator_matchlength(qsmi);
-      query_totallength = gt_querysubstringmatchiterator_query_seqlen(qsmi);
+      query_seqlen = gt_querysubstringmatchiterator_query_seqlen(qsmi);
+      queryunitnum = gt_querysubstringmatchiterator_queryunitnum(qsmi);
       if (query_files == NULL || gt_str_array_size(query_files) == 0)
       {
-        query_seqorencseq.seq = NULL;
-        query_seqorencseq.encseq = query_encseq;
+        GT_SEQORENCSEQ_INIT_ENCSEQ(&query_seqorencseq,query_encseq);
+        query_seqstart = gt_encseq_seqstartpos(query_encseq,queryunitnum);
       } else
       {
-        query_seqorencseq.seq = gt_querysubstringmatchiterator_query(qsmi);
-        query_seqorencseq.encseq = NULL;
+        GT_SEQORENCSEQ_INIT_SEQ(&query_seqorencseq,
+                                gt_querysubstringmatchiterator_query(qsmi),
+                                gt_querysubstringmatchiterator_desc(qsmi),
+                                query_seqlen,
+                                NULL,
+                                0,
+                                true);
+        query_seqstart = 0;
       }
       querystart = gt_querysubstringmatchiterator_querystart(qsmi);
-      queryunitnum = gt_querysubstringmatchiterator_queryunitnum(qsmi);
       if (eqmf != NULL)
       {
         gt_querymatch_init(exactseed,
                            matchlength,
-                           dbstart,
                            dbseqnum,
-                           dbstart - dbseqstartpos,
+                           dbstart - db_seqstart,
+                           db_seqstart,
                            dbseqlen,
                            0, /* score */
                            0, /* edist */
+                           0, /* mismatches */
                            selfmatch,
                            queryunitnum,
                            matchlength,
                            querystart,
-                           query_totallength);
-        eqmf(eqmf_data,suffixarray.encseq,exactseed,&query_seqorencseq);
+                           query_seqstart,
+                           query_seqlen,
+                           NULL,
+                           NULL);
+        eqmf(eqmf_data,suffixarray.encseq,exactseed,&query_seqorencseq,
+             same_encseq);
       } else
       {
+        GtSeqorEncseq dbes;
+
+        GT_SEQORENCSEQ_INIT_ENCSEQ(&dbes,suffixarray.encseq);
         if (gt_querymatch_complete(exactseed,
+                                   out_display_flag,
                                    matchlength,
-                                   dbstart,
                                    dbseqnum,
-                                   dbstart - dbseqstartpos,
+                                   dbstart - db_seqstart,
+                                   db_seqstart,
                                    dbseqlen,
                                    0, /* score */
                                    0, /* edist */
+                                   0, /* mismatches */
                                    selfmatch,
                                    queryunitnum,
                                    matchlength,
                                    querystart,
-                                   suffixarray.encseq,
+                                   &dbes,
                                    &query_seqorencseq,
-                                   query_totallength,
-                                   dbstart,
-                                   querystart,
+                                   query_seqstart,
+                                   query_seqlen,
+                                   dbstart - db_seqstart,
+                                   querystart - query_seqstart,
                                    matchlength,
                                    false))
         {
-          gt_querymatch_prettyprint(exactseed);
+          /* for exact matches we do not output evalues and bitscores */
+          gt_querymatch_prettyprint(DBL_MAX,DBL_MAX,out_display_flag,exactseed);
         }
       }
     }
@@ -731,9 +756,7 @@ static int gt_callenumquerymatches(bool selfmatch,
   return haserr ? -1 : 0;
 }
 
-static int gt_repfind_runner(int argc,
-                             GT_UNUSED const char **argv,
-                             int parsed_args,
+static int gt_repfind_runner(int argc,const char **argv, int parsed_args,
                              void *tool_arguments, GtError *err)
 {
   bool haserr = false;
@@ -742,8 +765,22 @@ static int gt_repfind_runner(int argc,
   GtXdropmatchinfo *xdropmatchinfo = NULL;
   GtGreedyextendmatchinfo *greedyextendmatchinfo = NULL;
   GtTimer *repfindtimer = NULL;
-  GtExtendCharAccess extend_char_access = GT_EXTEND_CHAR_ACCESS_ANY;
-  Polishing_info *pol_info = NULL;
+  GtExtendCharAccess cam_a = GT_EXTEND_CHAR_ACCESS_ANY,
+                     cam_b = GT_EXTEND_CHAR_ACCESS_ANY;
+  GtFtPolishing_info *pol_info = NULL;
+  GtQuerymatchoutoptions *querymatchoutoptions;
+  GtKarlinAltschulStat *karlin_altschul_stat = NULL;
+  Gt_extend_querymatch_func eqmf = NULL;
+  void *eqmf_data = NULL;
+  int mode;
+  const int modes[] = {GT_READMODE_FORWARD,
+                       GT_READMODE_REVERSE,
+                       GT_READMODE_REVCOMPL};
+  const bool flags[] = {arguments->forward,
+                        arguments->reverse,
+                        arguments->reverse_complement};
+  GtSeedExtendDisplayFlag *out_display_flag = NULL;
+  GtFtTrimstat *trimstat = NULL;
 
   gt_error_check(err);
   logger = gt_logger_new(arguments->beverbose, GT_LOGGER_DEFLT_PREFIX, stdout);
@@ -757,9 +794,50 @@ static int gt_repfind_runner(int argc,
     gt_error_set(err,"superfluous arguments: \"%s\"",argv[argc-1]);
     haserr = true;
   }
-  if (!haserr && !gt_option_is_set(arguments->refalignmentoutoption))
+  if (!haserr)
   {
-    arguments->alignmentwidth = 0;
+    GtSeedExtendDisplaySetMode setmode;
+
+    if (gt_option_is_set(arguments->refextendxdropoption) ||
+        gt_option_is_set(arguments->refextendgreedyoption))
+    {
+      setmode = GT_SEED_EXTEND_DISPLAY_SET_STANDARD;
+    } else
+    {
+      setmode = GT_SEED_EXTEND_DISPLAY_SET_EXACT;
+    }
+    out_display_flag = gt_querymatch_display_flag_new(arguments->display_args,
+                                                      setmode,err);
+    if (out_display_flag == NULL)
+    {
+      haserr = true;
+    } else
+    {
+      gt_querymatch_Options_output(stdout,argc,argv,true,arguments->minidentity,
+                                   arguments->historysize);
+      gt_querymatch_Fields_output(stdout,out_display_flag);
+    }
+  }
+  if (!haserr)
+  {
+    if (gt_querymatch_evalue_display(out_display_flag) ||
+        gt_querymatch_bitscore_display(out_display_flag) ||
+        arguments->evalue_threshold != DBL_MAX)
+    {
+      GtEncseqMetadata *emd
+        = gt_encseq_metadata_new(gt_str_get(arguments->indexname),err);
+      if (emd == NULL)
+      {
+        haserr = true;
+      } else
+      {
+        karlin_altschul_stat = gt_karlin_altschul_stat_new_gapped(
+                                     gt_encseq_metadata_total_length(emd),
+                                     gt_encseq_metadata_num_of_sequences(emd),
+                                     NULL);
+        gt_encseq_metadata_delete(emd);
+      }
+    }
   }
   if (!haserr && gt_option_is_set(arguments->refextendxdropoption))
   {
@@ -767,24 +845,21 @@ static int gt_repfind_runner(int argc,
       = gt_xdrop_matchinfo_new(arguments->userdefinedleastlength,
                                gt_minidentity2errorpercentage(
                                             arguments->minidentity),
+                               arguments->evalue_threshold,
                                arguments->xdropbelowscore,
                                arguments->extendxdrop);
     gt_assert(xdropmatchinfo != NULL);
-    if (arguments->silent)
-    {
-      gt_xdrop_matchinfo_silent_set(xdropmatchinfo);
-    }
   }
   if (!haserr)
   {
     if (gt_option_is_set(arguments->refextendgreedyoption) ||
-        arguments->alignmentwidth > 0 ||
+        gt_querymatch_alignment_display(out_display_flag) ||
         gt_option_is_set(arguments->refextendxdropoption))
     {
-      extend_char_access
-        = gt_greedy_extend_char_access(gt_str_get(arguments->cam_string),err);
-
-      if ((int) extend_char_access == -1)
+      if (gt_greedy_extend_char_access(&cam_a,
+                                       &cam_b,
+                                       gt_str_get(arguments->cam_string),err)
+         != 0)
       {
         haserr = true;
       }
@@ -796,14 +871,17 @@ static int gt_repfind_runner(int argc,
                                            arguments->minidentity);
     pol_info = polishing_info_new_with_bias(errorpercentage,
                                             GT_DEFAULT_MATCHSCORE_BIAS,
-                                            arguments->history);
+                                            arguments->historysize);
     greedyextendmatchinfo
-      = gt_greedy_extend_matchinfo_new(errorpercentage,
-                                       arguments->maxalignedlendifference,
-                                       arguments->history,
+      = gt_greedy_extend_matchinfo_new(arguments->maxalignedlendifference,
+                                       arguments->historysize,
                                        arguments->perc_mat_history,
                                        arguments->userdefinedleastlength,
-                                       extend_char_access,
+                                       errorpercentage,
+                                       arguments->evalue_threshold,
+                                       cam_a,
+                                       cam_b,
+                                       false,
                                        arguments->extendgreedy,
                                        pol_info);
     if (arguments->check_extend_symmetry)
@@ -811,96 +889,106 @@ static int gt_repfind_runner(int argc,
       gt_greedy_extend_matchinfo_check_extend_symmetry_set(
                                                 greedyextendmatchinfo);
     }
-    if (arguments->silent)
+    if (arguments->trimstat_on)
     {
-      gt_greedy_extend_matchinfo_silent_set(greedyextendmatchinfo);
-    }
-    if (arguments->trimstat)
-    {
-      gt_greedy_extend_matchinfo_trimstat_set(greedyextendmatchinfo);
+      trimstat = gt_ft_trimstat_new();
+      gt_greedy_extend_matchinfo_trimstat_set(greedyextendmatchinfo,trimstat);
     }
   }
   if (!haserr)
   {
-    GtQuerymatchoutoptions *querymatchoutoptions;
-    GtProcessinfo_and_querymatchspaceptr processinfo_and_querymatchspaceptr;
-    GtXdrop_extend_querymatch_func eqmf = NULL;
-    void *eqmf_data = NULL;
-    int mode;
-    const int modes[] = {GT_READMODE_FORWARD,
-                         GT_READMODE_REVERSE,
-                         GT_READMODE_REVCOMPL};
-    const bool flags[] = {arguments->forward,
-                          arguments->reverse,
-                          arguments->reverse_complement};
-    const unsigned int display_flag
-      = gt_querymatch_bool2display_flag(arguments->seed_display,
-                                        arguments->seqlength_display);
-
-    processinfo_and_querymatchspaceptr.processinfo = NULL;
-    if (arguments->alignmentwidth > 0 ||
+    GtEncseq *encseq_for_desc = NULL;
+    GtProcessinfo_and_querymatchspaceptr info_querymatch
+      = Initializer_GtProcessinfo_and_querymatchspaceptr;
+    info_querymatch.karlin_altschul_stat = karlin_altschul_stat;
+    info_querymatch.out_display_flag = out_display_flag;
+    if (gt_querymatch_alignment_display(out_display_flag) ||
+        gt_querymatch_trace_display(out_display_flag) ||
+        gt_querymatch_dtrace_display(out_display_flag) ||
+        gt_querymatch_cigar_display(out_display_flag) ||
+        gt_querymatch_cigarX_display(out_display_flag) ||
         (gt_option_is_set(arguments->refextendxdropoption) &&
          !arguments->noxpolish))
     {
       querymatchoutoptions
-        = gt_querymatchoutoptions_new(true, false,arguments->alignmentwidth);
-
-      if (gt_option_is_set(arguments->refextendxdropoption) ||
-          gt_option_is_set(arguments->refextendgreedyoption))
+        = gt_querymatchoutoptions_new(out_display_flag,
+                                      gt_str_get(arguments->indexname),err);
+      if (querymatchoutoptions == NULL)
       {
+        haserr = true;
+      }
+      if (!haserr && (gt_option_is_set(arguments->refextendxdropoption) ||
+                      gt_option_is_set(arguments->refextendgreedyoption)))
+      {
+        const bool cam_generic = false;
+        const bool weakends = false;
         const GtUword sensitivity
           = gt_option_is_set(arguments->refextendgreedyoption)
               ? arguments->extendgreedy
               : 100;
-
         gt_querymatchoutoptions_extend(querymatchoutoptions,
                                        gt_minidentity2errorpercentage(
                                                arguments->minidentity),
+                                      arguments->evalue_threshold,
                                       arguments->maxalignedlendifference,
-                                      arguments->history,
+                                      arguments->historysize,
                                       arguments->perc_mat_history,
-                                      extend_char_access,
-                                      false,
+                                      cam_a,
+                                      cam_b,
+                                      cam_generic,
+                                      weakends,
                                       sensitivity,
                                       GT_DEFAULT_MATCHSCORE_BIAS,
                                       true,
-                                      display_flag);
+                                      out_display_flag);
       }
     } else
     {
       querymatchoutoptions = NULL;
     }
-    processinfo_and_querymatchspaceptr.querymatchspaceptr = gt_querymatch_new();
-    gt_querymatch_display_set(
-              processinfo_and_querymatchspaceptr.querymatchspaceptr,
-              display_flag);
-    if (querymatchoutoptions != NULL)
-    {
-      gt_querymatch_outoptions_set(
-              processinfo_and_querymatchspaceptr.querymatchspaceptr,
-              querymatchoutoptions);
-    }
-    if (arguments->verify_alignment)
-    {
-      gt_querymatch_verify_alignment_set(
-        processinfo_and_querymatchspaceptr.querymatchspaceptr);
-    }
-    if (gt_option_is_set(arguments->refextendxdropoption))
-    {
-      eqmf = gt_xdrop_extend_querymatch_with_output;
-      processinfo_and_querymatchspaceptr.processinfo = xdropmatchinfo;
-      eqmf_data = (void *) &processinfo_and_querymatchspaceptr;
-    } else
+    if (!haserr)
     {
-      if (gt_option_is_set(arguments->refextendgreedyoption))
+      info_querymatch.querymatchspaceptr = gt_querymatch_new();
+      if (querymatchoutoptions != NULL)
+      {
+        gt_querymatch_outoptions_set(info_querymatch.querymatchspaceptr,
+                                     querymatchoutoptions);
+      }
+      if (arguments->verify_alignment)
+      {
+        gt_querymatch_verify_alignment_set(info_querymatch.querymatchspaceptr);
+      }
+      if (gt_option_is_set(arguments->refextendxdropoption))
+      {
+        eqmf = gt_rf_xdrop_extend_querymatch_with_output;
+        info_querymatch.processinfo = xdropmatchinfo;
+        eqmf_data = (void *) &info_querymatch;
+      } else
       {
-        eqmf = gt_greedy_extend_querymatch_with_output;
-        processinfo_and_querymatchspaceptr.processinfo
-          = greedyextendmatchinfo;
-        eqmf_data = (void *) &processinfo_and_querymatchspaceptr;
+        if (gt_option_is_set(arguments->refextendgreedyoption))
+        {
+          eqmf = gt_rf_greedy_extend_querymatch_with_output;
+          info_querymatch.processinfo = greedyextendmatchinfo;
+          eqmf_data = (void *) &info_querymatch;
+        }
+      }
+      if (gt_querymatch_subjectid_display(out_display_flag))
+      {
+        GtEncseqLoader *encseq_loader = gt_encseq_loader_new();
+        gt_encseq_loader_require_des_tab(encseq_loader);
+        gt_encseq_loader_require_sds_tab(encseq_loader);
+        encseq_for_desc
+          = gt_encseq_loader_load(encseq_loader,
+                                  gt_str_get(arguments->indexname),
+                                  err);
+        gt_encseq_loader_delete(encseq_loader);
+        if (encseq_for_desc == NULL)
+        {
+          haserr = true;
+        }
       }
     }
-    if (gt_str_array_size(arguments->query_files) == 0 &&
+    if (!haserr && gt_str_array_size(arguments->query_files) == 0 &&
         gt_str_length(arguments->query_indexname) == 0)
     {
       if (arguments->samples > 0)
@@ -917,7 +1005,7 @@ static int gt_repfind_runner(int argc,
         }
       } else
       {
-        if (arguments->forward)
+        if (!haserr && arguments->forward)
         {
           GtProcessmaxpairs processmaxpairs;
           void *processmaxpairsdata;
@@ -931,21 +1019,19 @@ static int gt_repfind_runner(int argc,
             if (gt_option_is_set(arguments->refextendxdropoption))
             {
               processmaxpairs = gt_generic_extend_selfmatch_xdrop_with_output;
-              processinfo_and_querymatchspaceptr.processinfo
-                = (void *) xdropmatchinfo;
+              info_querymatch.processinfo = (void *) xdropmatchinfo;
             } else
             {
               if (gt_option_is_set(arguments->refextendgreedyoption))
               {
                 processmaxpairs = gt_generic_simplegreedyselfmatchoutput;
-                processinfo_and_querymatchspaceptr.processinfo
-                  = (void *) greedyextendmatchinfo;
+                info_querymatch.processinfo = (void *) greedyextendmatchinfo;
               } else
               {
                 processmaxpairs = gt_exact_selfmatch_with_output;
               }
             }
-            processmaxpairsdata = (void *) &processinfo_and_querymatchspaceptr;
+            processmaxpairsdata = (void *) &info_querymatch;
           }
           if (gt_callenummaxpairs(gt_str_get(arguments->indexname),
                                   arguments->seedlength,
@@ -968,7 +1054,7 @@ static int gt_repfind_runner(int argc,
             if (flags[mode])
             {
               gt_querymatch_query_readmode_set(
-                   processinfo_and_querymatchspaceptr.querymatchspaceptr,
+                   info_querymatch.querymatchspaceptr,
                    modes[mode]);
               if (gt_callenumquerymatches(true,
                                           gt_str_get(arguments->indexname),
@@ -979,6 +1065,7 @@ static int gt_repfind_runner(int argc,
                                           querymatchoutoptions,
                                           eqmf,
                                           eqmf_data,
+                                          out_display_flag,
                                           logger,
                                           err) != 0)
               {
@@ -994,9 +1081,8 @@ static int gt_repfind_runner(int argc,
       {
         if (flags[mode])
         {
-          gt_querymatch_query_readmode_set(
-            processinfo_and_querymatchspaceptr.querymatchspaceptr,
-            modes[mode]);
+          gt_querymatch_query_readmode_set(info_querymatch.querymatchspaceptr,
+                                           modes[mode]);
           if (gt_callenumquerymatches(false,
                                   gt_str_get(arguments->indexname),
                                   arguments->query_files,
@@ -1006,6 +1092,7 @@ static int gt_repfind_runner(int argc,
                                   querymatchoutoptions,
                                   eqmf,
                                   eqmf_data,
+                                  out_display_flag,
                                   logger,
                                   err) != 0)
           {
@@ -1014,13 +1101,17 @@ static int gt_repfind_runner(int argc,
         }
       }
     }
+    gt_encseq_delete(encseq_for_desc);
     gt_querymatchoutoptions_delete(querymatchoutoptions);
-    gt_querymatch_delete(processinfo_and_querymatchspaceptr.querymatchspaceptr);
+    gt_querymatch_delete(info_querymatch.querymatchspaceptr);
   }
+  gt_karlin_altschul_stat_delete(karlin_altschul_stat);
   gt_xdrop_matchinfo_delete(xdropmatchinfo);
   gt_greedy_extend_matchinfo_delete(greedyextendmatchinfo);
+  gt_ft_trimstat_delete(trimstat);
   polishing_info_delete(pol_info);
   gt_logger_delete(logger);
+  gt_querymatch_display_flag_delete(out_display_flag);
   if (repfindtimer != NULL)
   {
     char *keystring = gt_seed_extend_params_keystring(
diff --git a/src/tools/gt_seed_extend.c b/src/tools/gt_seed_extend.c
index 336edc5..3288683 100644
--- a/src/tools/gt_seed_extend.c
+++ b/src/tools/gt_seed_extend.c
@@ -1,6 +1,7 @@
 /*
   Copyright (c) 2015-2016 Joerg Winkler <j.winkler at posteo.de>
-  Copyright (c) 2015-2016 Center for Bioinformatics, University of Hamburg
+  Copyright (c) 2016-2017 Stefan Kurtz  <kurtz at zbh.uni-hamburg.de>
+  Copyright (c) 2015-2017 Center for Bioinformatics, University of Hamburg
 
   Permission to use, copy, modify, and distribute this software for any
   purpose with or without fee is hereby granted, provided that the above
@@ -16,6 +17,7 @@
 */
 
 #include <limits.h>
+#include <float.h>
 #include "core/alphabet_api.h"
 #include "core/arraydef.h"
 #include "core/cstr_api.h"
@@ -35,13 +37,19 @@
 #include "match/xdrop.h"
 #include "match/ft-polish.h"
 #include "match/initbasepower.h"
+#include "match/seed_extend_parts.h"
 #include "tools/gt_seed_extend.h"
+#ifdef GT_THREADS_ENABLED
+#include "core/thread_api.h"
+#endif
 
 typedef struct {
   /* diagbandseed options */
   GtStr *dbs_indexname;
   GtStr *dbs_queryname;
+  unsigned int dbs_spacedseedweight;
   unsigned int dbs_seedlength;
+  bool spacedseed;
   GtUword dbs_logdiagbandwidth;
   GtUword dbs_mincoverage;
   GtUword dbs_maxfreq;
@@ -49,8 +57,10 @@ typedef struct {
   GtUword dbs_memlimit;
   GtUword dbs_parts;
   GtRange seedpairdistance;
-  GtStr *dbs_pick_str;
-  GtStr *dbs_memlimit_str;
+  GtStr *dbs_pick_str,
+        *diagband_statistics_arg,
+        *chainarguments,
+        *dbs_memlimit_str;
   bool dbs_debug_kmer;
   bool dbs_debug_seedpair;
   bool dbs_verify;
@@ -58,32 +68,38 @@ typedef struct {
   bool onlyseeds;
   bool overlappingseeds;
   /* xdrop extension options */
-  GtOption *se_option_xdrop;
   GtUword se_extendxdrop;
   GtXdropscore se_xdropbelowscore;
   /* greedy extension options */
-  GtOption *se_option_greedy;
   GtUword se_extendgreedy;
   GtUword se_historysize;
   GtUword se_maxalilendiff;
   GtUword se_perc_match_hist;
-  GtStr *char_access_mode;
+  GtStr *char_access_mode, *splt_string;
   bool bias_parameters;
   bool relax_polish;
+  bool verify_alignment;
+  bool only_selected_seqpairs;
+  bool cam_generic;
   /* general options */
-  GtOption *se_option_withali;
   GtUword se_alignlength;
   GtUword se_minidentity;
-  GtUword se_alignmentwidth;
+  double se_evalue_threshold;
+  GtStrArray *display_args;
   bool norev;
   bool nofwd;
   bool benchmark;
   bool verbose;
-  bool seed_display;
-  bool seqlength_display;
-  bool use_apos;
   bool histogram;
   bool use_kmerfile;
+  bool trimstat_on;
+  bool use_apos, use_apos_track_all, compute_ani;
+  GtUword maxmat;
+  GtOption *se_ref_op_evalue,
+           *se_ref_op_maxmat,
+           *ref_diagband_statistics,
+           *se_ref_op_gre,
+           *se_ref_op_xdr;
 } GtSeedExtendArguments;
 
 static void* gt_seed_extend_arguments_new(void)
@@ -92,8 +108,12 @@ static void* gt_seed_extend_arguments_new(void)
   arguments->dbs_indexname = gt_str_new();
   arguments->dbs_queryname = gt_str_new();
   arguments->dbs_pick_str = gt_str_new();
+  arguments->chainarguments = gt_str_new();
+  arguments->diagband_statistics_arg = gt_str_new();
   arguments->dbs_memlimit_str = gt_str_new();
   arguments->char_access_mode = gt_str_new();
+  arguments->splt_string = gt_str_new();
+  arguments->display_args = gt_str_array_new();
   return arguments;
 }
 
@@ -104,11 +124,17 @@ static void gt_seed_extend_arguments_delete(void *tool_arguments)
     gt_str_delete(arguments->dbs_indexname);
     gt_str_delete(arguments->dbs_queryname);
     gt_str_delete(arguments->dbs_pick_str);
+    gt_str_delete(arguments->chainarguments);
+    gt_str_delete(arguments->diagband_statistics_arg);
     gt_str_delete(arguments->dbs_memlimit_str);
     gt_str_delete(arguments->char_access_mode);
-    gt_option_delete(arguments->se_option_greedy);
-    gt_option_delete(arguments->se_option_xdrop);
-    gt_option_delete(arguments->se_option_withali);
+    gt_str_delete(arguments->splt_string);
+    gt_option_delete(arguments->se_ref_op_gre);
+    gt_option_delete(arguments->se_ref_op_xdr);
+    gt_option_delete(arguments->se_ref_op_evalue);
+    gt_option_delete(arguments->se_ref_op_maxmat);
+    gt_option_delete(arguments->ref_diagband_statistics);
+    gt_str_array_delete(arguments->display_args);
     gt_free(arguments);
   }
 }
@@ -117,12 +143,21 @@ static GtOptionParser* gt_seed_extend_option_parser_new(void *tool_arguments)
 {
   GtSeedExtendArguments *arguments = tool_arguments;
   GtOptionParser *op;
-  GtOption *option, *op_gre, *op_xdr, *op_cam, *op_his, *op_dif, *op_pmh,
-    *op_len, *op_err, *op_xbe, *op_sup, *op_frq, *op_mem, *op_ali, *op_bia,
-    *op_onl, *op_weakends, *op_seed_display, *op_relax_polish, *op_spdist,
-    *op_norev, *op_nofwd, *op_part, *op_pick, *op_seqlength_display, *op_overl;
+  GtOption *option, *op_gre, *op_xdr, *op_cam, *op_splt,
+    *op_his, *op_dif, *op_pmh,
+    *op_seedlength, *op_spacedseed, *op_minlen, *op_minid, *op_evalue, *op_xbe,
+    *op_sup, *op_frq,
+    *op_mem, *op_bia, *op_onlyseeds, *op_weakends, *op_relax_polish,
+    *op_verify_alignment, *op_only_selected_seqpairs, *op_spdist, *op_outfmt,
+    *op_norev, *op_nofwd, *op_part, *op_pick, *op_overl, *op_trimstat,
+    *op_cam_generic, *op_diagbandwidth, *op_mincoverage, *op_maxmat,
+    *op_use_apos, *op_use_apos_track_all, *op_chain, *op_diagband_statistics,
+    *op_ani, *op_benchmark;
 
   static GtRange seedpairdistance_defaults = {1UL, GT_UWORD_MAX};
+  /* When extending the following array, do not forget to update
+     the help message accordingly. */
+  static const char *diagband_statistics_choices[] = {"sum", NULL};
   gt_assert(arguments != NULL);
 
   /* init */
@@ -150,31 +185,54 @@ static GtOptionParser* gt_seed_extend_option_parser_new(void *tool_arguments)
   gt_option_parser_add_option(op, option);
 
   /* -seedlength */
-  op_len = gt_option_new_uint_min_max("seedlength",
+  op_seedlength = gt_option_new_uint_min_max("seedlength",
                                       "Minimum length of a seed\n"
                                       "default: logarithm of input length "
-                                      "to the basis alphabet size",
+                                      "with alphabet size as log-base",
                                       &arguments->dbs_seedlength,
                                       UINT_MAX, 1UL, 32UL);
-  gt_option_hide_default(op_len);
-  gt_option_parser_add_option(op, op_len);
+  gt_option_hide_default(op_seedlength);
+  gt_option_parser_add_option(op, op_seedlength);
+
+  /* -spacedseed */
+  op_spacedseed = gt_option_new_bool("spacedseed",
+                                     "use spaced seed of length specified by "
+                                     "option -seedlength",
+                                     &arguments->spacedseed,
+                                     false);
+  gt_option_parser_add_option(op, op_spacedseed);
 
   /* -diagbandwidth */
-  option = gt_option_new_uword("diagbandwidth",
-                               "Logarithm of diagonal band width (for filter)",
+  op_diagbandwidth = gt_option_new_uword_min_max("diagbandwidth",
+                               "Logarithm of diagonal band width in the "
+                               "range\nfrom 0 to 10 (for filter)",
                                &arguments->dbs_logdiagbandwidth,
-                               6UL);
-  gt_option_parser_add_option(op, option);
+                               6UL,
+                               0,
+                               10);
+  gt_option_parser_add_option(op, op_diagbandwidth);
 
   /* -mincoverage */
-  option = gt_option_new_uword_min("mincoverage",
+  op_mincoverage = gt_option_new_uword_min("mincoverage",
                                    "Minimum coverage in two neighbouring "
                                    "diagonal bands (for filter)\n"
                                    "default: 2.5 x seedlength",
                                    &arguments->dbs_mincoverage,
                                    GT_UWORD_MAX, 1UL);
-  gt_option_hide_default(option);
-  gt_option_parser_add_option(op, option);
+  gt_option_hide_default(op_mincoverage);
+  gt_option_parser_add_option(op, op_mincoverage);
+
+  /* -diagband-stat */
+  op_diagband_statistics = gt_option_new_choice("diagband-stat",
+                                   "Compute statistics from diagonal "
+                                   "band scores; parameter specifies "
+                                   "kind of statistics, possible choices are\n"
+                                   "sum",
+                                   arguments->diagband_statistics_arg,
+                                   diagband_statistics_choices[0],
+                                   diagband_statistics_choices);
+  gt_option_parser_add_option(op, op_diagband_statistics);
+  arguments->ref_diagband_statistics = gt_option_ref(op_diagband_statistics);
 
   /* -maxfreq */
   op_frq = gt_option_new_uword_min("maxfreq",
@@ -227,18 +285,16 @@ static GtOptionParser* gt_seed_extend_option_parser_new(void *tool_arguments)
   gt_option_is_development_option(option);
   gt_option_parser_add_option(op, option);
 
-  /* SEED EXTENSION OPTIONS */
-
   /* -extendxdrop */
   op_xdr = gt_option_new_uword_min_max("extendxdrop",
                                        "Extend seed to both sides using xdrop "
-                                       "algorithm, /noptional parameter "
+                                       "algorithm,\noptional parameter "
                                        "specifies sensitivity",
                                        &arguments->se_extendxdrop,
                                        97UL, 90UL, 100UL);
   gt_option_argument_is_optional(op_xdr);
   gt_option_parser_add_option(op, op_xdr);
-  arguments->se_option_xdrop = gt_option_ref(op_xdr);
+  arguments->se_ref_op_xdr = gt_option_ref(op_xdr);
 
   /* -xdropbelow */
   op_xbe = gt_option_new_word("xdropbelow",
@@ -252,24 +308,24 @@ static GtOptionParser* gt_seed_extend_option_parser_new(void *tool_arguments)
   /* -extendgreedy */
   op_gre = gt_option_new_uword_min_max("extendgreedy",
                                        "Extend seed to both sides using greedy "
-                                       "algorithm, \noptional parameter "
+                                       "algorithm,\noptional parameter "
                                        "specifies sensitivity",
                                        &arguments->se_extendgreedy,
                                        97UL, 90UL, 100UL);
   gt_option_argument_is_optional(op_gre);
   gt_option_exclude(op_gre, op_xdr);
   gt_option_parser_add_option(op, op_gre);
-  arguments->se_option_greedy = gt_option_ref(op_gre);
+  arguments->se_ref_op_gre = gt_option_ref(op_gre);
 
   /* -only-seeds */
-  op_onl = gt_option_new_bool("only-seeds",
+  op_onlyseeds = gt_option_new_bool("only-seeds",
                               "Calculate seeds and do not extend",
                               &arguments->onlyseeds,
                               false);
-  gt_option_exclude(op_onl, op_xdr);
-  gt_option_exclude(op_onl, op_gre);
-  gt_option_is_development_option(op_onl);
-  gt_option_parser_add_option(op, op_onl);
+  gt_option_exclude(op_onlyseeds, op_xdr);
+  gt_option_exclude(op_onlyseeds, op_gre);
+  gt_option_is_development_option(op_onlyseeds);
+  gt_option_parser_add_option(op, op_onlyseeds);
 
   /* -history */
   op_his = gt_option_new_uword_min_max("history",
@@ -277,7 +333,7 @@ static GtOptionParser* gt_seed_extend_option_parser_new(void *tool_arguments)
                                        "..64]\n(trimming for greedy extension)",
                                        &arguments->se_historysize,
                                        60UL, 1UL, 64UL);
-  gt_option_exclude(op_his, op_onl);
+  gt_option_exclude(op_his, op_onlyseeds);
   gt_option_exclude(op_his, op_xdr);
   gt_option_is_development_option(op_his);
   gt_option_parser_add_option(op, op_his);
@@ -287,7 +343,7 @@ static GtOptionParser* gt_seed_extend_option_parser_new(void *tool_arguments)
                                "Maximum difference of alignment length\n"
                                "(trimming for greedy extension)",
                                &arguments->se_maxalilendiff, 0UL);
-  gt_option_exclude(op_dif, op_onl);
+  gt_option_exclude(op_dif, op_onlyseeds);
   gt_option_exclude(op_dif, op_xdr);
   gt_option_hide_default(op_dif);
   gt_option_is_development_option(op_dif);
@@ -299,7 +355,7 @@ static GtOptionParser* gt_seed_extend_option_parser_new(void *tool_arguments)
                                        "history \n(for greedy extension)",
                                        &arguments->se_perc_match_hist,
                                        0UL, 1UL, 100UL);
-  gt_option_exclude(op_pmh, op_onl);
+  gt_option_exclude(op_pmh, op_onlyseeds);
   gt_option_exclude(op_pmh, op_xdr);
   gt_option_hide_default(op_pmh);
   gt_option_is_development_option(op_pmh);
@@ -311,7 +367,7 @@ static GtOptionParser* gt_seed_extend_option_parser_new(void *tool_arguments)
                               "depend on minidentiy and DNA base distribution",
                               &arguments->bias_parameters,
                               false);
-  gt_option_exclude(op_bia, op_onl);
+  gt_option_exclude(op_bia, op_onlyseeds);
   gt_option_exclude(op_bia, op_xdr);
   gt_option_exclude(op_bia, op_pmh);
   gt_option_exclude(op_bia, op_dif);
@@ -322,71 +378,143 @@ static GtOptionParser* gt_seed_extend_option_parser_new(void *tool_arguments)
   op_cam = gt_option_new_string("cam",
                                 gt_cam_extendgreedy_comment(),
                                 arguments->char_access_mode,
-                                "");
+                                "bytes,bytes");
   gt_option_hide_default(op_cam);
   gt_option_is_development_option(op_cam);
   gt_option_parser_add_option(op, op_cam);
 
+  op_cam_generic = gt_option_new_bool("cam_generic",
+                                      "use generic function to access sequence",
+                                      &arguments->cam_generic, false);
+  gt_option_is_development_option(op_cam_generic);
+  gt_option_parser_add_option(op, op_cam_generic);
+
+  /* -splt */
+  op_splt = gt_option_new_string("splt",
+                                 gt_diagbandseed_splt_comment(),
+                                 arguments->splt_string,
+                                 "");
+  gt_option_hide_default(op_splt);
+  gt_option_is_development_option(op_splt);
+  gt_option_parser_add_option(op, op_splt);
+
+  /* -trimstat */
+  op_trimstat = gt_option_new_bool("trimstat","show trimming statistics",
+                                   &arguments->trimstat_on, false);
+  gt_option_is_development_option(op_trimstat);
+  gt_option_parser_add_option(op, op_trimstat);
+  gt_option_exclude(op_trimstat, op_xdr);
+  gt_option_exclude(op_trimstat, op_onlyseeds);
+
+  /* -maxmat */
+  op_maxmat = gt_option_new_ulong("maxmat",
+                                 "compute maximal matches of minimum length "
+                                 "specified by option -l",
+                                 &arguments->maxmat,
+                                 1);
+  arguments->se_ref_op_maxmat = gt_option_ref(op_maxmat);
+  /* will later be included again: gt_option_exclude(op_maxmat, op_bia); */
+  /*gt_option_exclude(op_maxmat, op_diagbandwidth);
+  gt_option_exclude(op_maxmat, op_mincoverage);
+  gt_option_exclude(op_maxmat, op_xdr);
+  gt_option_exclude(op_maxmat, op_xbe);
+  gt_option_exclude(op_maxmat, op_gre);
+  gt_option_exclude(op_maxmat, op_his);
+  gt_option_exclude(op_maxmat, op_dif);
+  gt_option_exclude(op_maxmat, op_pmh);
+  gt_option_exclude(op_maxmat, op_cam);
+  gt_option_exclude(op_maxmat, op_trimstat);*/
+  gt_option_argument_is_optional(op_maxmat);
+  gt_option_parser_add_option(op, op_maxmat);
+
+  op_chain = gt_option_new_string("chain",
+                                  "apply local chaining to maximal matches "
+                                  "derived from k-mer seeds",
+                                  arguments->chainarguments,"");
+  gt_option_argument_is_optional(op_chain);
+  gt_option_is_development_option(op_chain);
+  gt_option_parser_add_option(op, op_chain);
+
+  /* SEED EXTENSION OPTIONS */
+
   /* -l */
-  op_len = gt_option_new_uword_min("l",
-                                   "Minimum alignment length "
-                                   "(for seed extension)",
+  op_minlen = gt_option_new_uword_min("l",
+                                   "Minimum length of aligned sequences ",
                                    &arguments->se_alignlength,
                                    GT_UWORD_MAX, 1UL);
-  gt_option_exclude(op_len, op_onl);
-  gt_option_parser_add_option(op, op_len);
+  gt_option_exclude(op_minlen, op_onlyseeds);
+  gt_option_parser_add_option(op, op_minlen);
+  gt_option_imply(op_maxmat, op_minlen);
 
   /* -minidentity */
-  op_err = gt_option_new_uword_min_max("minidentity",
+  op_minid = gt_option_new_uword_min_max("minidentity",
                                        "Minimum identity of matches "
                                        "(for seed extension)",
                                        &arguments->se_minidentity,
                                        80UL, GT_EXTEND_MIN_IDENTITY_PERCENTAGE,
                                        99UL);
-  gt_option_exclude(op_err, op_onl);
-  gt_option_parser_add_option(op, op_err);
+  gt_option_exclude(op_minid, op_onlyseeds);
+  /* will later be included again: gt_option_exclude(op_maxmat, op_minid); */
+  gt_option_parser_add_option(op, op_minid);
+
+  /* -evalue */
+  op_evalue = gt_option_new_double("evalue","switch on evalue filtering of "
+                                            "matches (optional argument "
+                                            "specifies evalue threshold)",
+                                   &arguments->se_evalue_threshold,
+                                   10.0);
+  gt_option_exclude(op_evalue, op_onlyseeds);
+  gt_option_parser_add_option(op, op_evalue);
+  gt_option_argument_is_optional(op_evalue);
+  gt_option_exclude(op_maxmat, op_evalue);
+  arguments->se_ref_op_evalue = gt_option_ref(op_evalue);
 
   /* OUTPUT OPTIONS */
 
-  /* -a */
-  op_ali = gt_option_new_uword_min("a",
-                                   "show alignments/sequences (optional "
-                                   "argument is number of columns per line)",
-                                   &arguments->se_alignmentwidth,
-                                   70, 20);
-  gt_option_exclude(op_ali, op_onl);
-  gt_option_argument_is_optional(op_ali);
-  gt_option_parser_add_option(op, op_ali);
-  arguments->se_option_withali = gt_option_ref(op_ali);
-
   /* -relax-polish */
   op_relax_polish = gt_option_new_bool("relax-polish",
                                        "do not force alignments to have "
                                        "polished ends",
                                    &arguments->relax_polish,false);
   gt_option_parser_add_option(op, op_relax_polish);
+  /*gt_option_exclude(op_maxmat, op_relax_polish);*/
   gt_option_is_development_option(op_relax_polish);
-  gt_option_imply(op_relax_polish, op_ali);
-
-  /* -seed-display */
-  op_seed_display = gt_option_new_bool("seed-display",
-                                       "Display seeds in #-line and by "
-                                       "character + (instead of |) in middle "
-                                       "row of alignment column",
-                                       &arguments->seed_display,
-                                       false);
-  gt_option_exclude(op_seed_display, op_onl);
-  gt_option_is_development_option(op_seed_display);
-  gt_option_parser_add_option(op, op_seed_display);
-
-  /* -seqlength-display */
-  op_seqlength_display = gt_option_new_bool("seqlength-display",
-                                       "Display length of sequences in which "
-                                       "which the two match-instances occur",
-                                       &arguments->seqlength_display,
-                                       false);
-  gt_option_is_development_option(op_seqlength_display);
-  gt_option_parser_add_option(op, op_seqlength_display);
+
+  /* -verify-alignment */
+  op_verify_alignment
+    = gt_option_new_bool("verify-alignment",
+                         "verify alignment directly after its construction "
+                         "(without knowning the sequences) and later (after the"
+                         "sequence is known), in case the alignment is output",
+                                   &arguments->verify_alignment,false);
+  gt_option_parser_add_option(op, op_verify_alignment);
+  gt_option_exclude(op_maxmat, op_verify_alignment);
+  gt_option_is_development_option(op_verify_alignment);
+
+  /* -only-selected-seqpairs */
+  op_only_selected_seqpairs
+    = gt_option_new_bool("only-selected-seqpairs",
+                         "output only sequence pair numbers with "
+                         "selected seeds",
+                         &arguments->only_selected_seqpairs,false);
+  gt_option_parser_add_option(op, op_only_selected_seqpairs);
+  gt_option_is_development_option(op_only_selected_seqpairs);
+
+  /* -outfmt */
+  op_outfmt = gt_option_new_string_array("outfmt",
+                                          gt_querymatch_display_help(),
+                                          arguments->display_args);
+  gt_option_parser_add_option(op, op_outfmt);
+  gt_option_exclude(op_outfmt,op_onlyseeds);
+
+  /* -ani */
+  op_ani = gt_option_new_bool("ani",
+                              "output average nucleotide identity determined "
+                              "from the computed matches "
+                              "(which are not output)",
+                              &arguments->compute_ani,
+                              false);
+  gt_option_parser_add_option(op, op_ani);
 
   /* -no-reverse */
   op_norev = gt_option_new_bool("no-reverse",
@@ -424,12 +552,12 @@ static GtOptionParser* gt_seed_extend_option_parser_new(void *tool_arguments)
   gt_option_parser_add_option(op, op_spdist);
 
   /* -benchmark */
-  option = gt_option_new_bool("benchmark",
-                              "Measure total running time and be silent",
-                              &arguments->benchmark,
-                              false);
-  gt_option_is_development_option(option);
-  gt_option_parser_add_option(op, option);
+  op_benchmark = gt_option_new_bool("benchmark",
+                                    "Measure total running time and be silent",
+                                    &arguments->benchmark,
+                                    false);
+  gt_option_is_development_option(op_benchmark);
+  gt_option_parser_add_option(op, op_benchmark);
 
   /* -weakends */
   op_weakends = gt_option_new_bool("weakends",
@@ -437,18 +565,26 @@ static GtOptionParser* gt_seed_extend_option_parser_new(void *tool_arguments)
                                    "alignments",
                                    &arguments->weakends,
                                    false);
-  gt_option_exclude(op_weakends, op_onl);
+  gt_option_exclude(op_weakends, op_onlyseeds);
   gt_option_is_development_option(op_weakends);
+  /*gt_option_exclude(op_maxmat, op_weakends);*/
   gt_option_parser_add_option(op, op_weakends);
 
   /* -use-apos */
-  option = gt_option_new_bool("use-apos",
-                              "Discard a seed only if both apos and bpos "
-                              "overlap with previous alignment",
-                              &arguments->use_apos,
-                              false);
-  gt_option_is_development_option(option);
-  gt_option_parser_add_option(op, option);
+  op_use_apos = gt_option_new_bool("use-apos",
+                "Discard a seed only if both apos and bpos overlap with a "
+                "previous successful alignment",
+                &arguments->use_apos,false);
+  gt_option_parser_add_option(op, op_use_apos);
+
+  /* -use-apos-track-all */
+  op_use_apos_track_all = gt_option_new_bool("use-apos-track-all",
+                "Discard a seed only if both apos and bpos overlap with a "
+                "previous alignment",
+                &arguments->use_apos_track_all,false);
+  gt_option_parser_add_option(op, op_use_apos_track_all);
+  gt_option_is_development_option(op_use_apos_track_all);
+  gt_option_exclude(op_use_apos, op_use_apos_track_all);
 
   /* -parts */
   op_part = gt_option_new_uword_min("parts",
@@ -487,6 +623,31 @@ static GtOptionParser* gt_seed_extend_option_parser_new(void *tool_arguments)
   option = gt_option_new_verbose(&arguments->verbose);
   gt_option_parser_add_option(op, option);
 
+  gt_option_exclude(op_diagband_statistics, op_mincoverage);
+  gt_option_exclude(op_diagband_statistics, op_xdr);
+  gt_option_exclude(op_diagband_statistics, op_xbe);
+  gt_option_exclude(op_diagband_statistics, op_gre);
+  gt_option_exclude(op_diagband_statistics, op_his);
+  gt_option_exclude(op_diagband_statistics, op_dif);
+  gt_option_exclude(op_diagband_statistics, op_pmh);
+  gt_option_exclude(op_diagband_statistics, op_cam);
+  gt_option_exclude(op_diagband_statistics, op_trimstat);
+  gt_option_exclude(op_diagband_statistics, op_maxmat);
+  gt_option_exclude(op_diagband_statistics, op_use_apos);
+  gt_option_exclude(op_diagband_statistics, op_use_apos_track_all);
+  gt_option_exclude(op_diagband_statistics, op_minlen);
+  gt_option_exclude(op_diagband_statistics, op_ani);
+  gt_option_exclude(op_ani, op_outfmt);
+  gt_option_exclude(op_ani, op_onlyseeds);
+  gt_option_exclude(op_ani, op_verify_alignment);
+  gt_option_exclude(op_ani, op_only_selected_seqpairs);
+  gt_option_exclude(op_ani, op_benchmark);
+  gt_option_exclude(op_cam, op_xbe);
+  gt_option_exclude(op_cam, op_xdr);
+  gt_option_exclude(op_cam_generic, op_xbe);
+  gt_option_exclude(op_cam_generic, op_xdr);
+  gt_option_exclude(op_maxmat, op_spacedseed);
+
   return op;
 }
 
@@ -503,11 +664,6 @@ static int gt_seed_extend_arguments_check(int rest_argc, void *tool_arguments,
     arguments->dbs_maxfreq = arguments->dbs_suppress - 1;
   }
 
-  /* no alignment output */
-  if (!gt_option_is_set(arguments->se_option_withali)) {
-    arguments->se_alignmentwidth = 0;
-  }
-
   /* parse memlimit argument */
   arguments->dbs_memlimit = GT_UWORD_MAX;
   if (arguments->histogram == true) {
@@ -524,6 +680,13 @@ static int gt_seed_extend_arguments_check(int rest_argc, void *tool_arguments,
       had_err = -1;
     }
   }
+#ifdef GT_THREADS_ENABLED
+  if (!had_err && arguments->compute_ani && gt_jobs > 1)
+  {
+    gt_error_set(err,"option -ani does not work with multiple threads");
+    had_err = -1;
+  }
+#endif
 
   /* minimum maxfreq value for 1 input file */
   if (!had_err && arguments->dbs_maxfreq == 1 &&
@@ -538,6 +701,18 @@ static int gt_seed_extend_arguments_check(int rest_argc, void *tool_arguments,
     had_err = -1;
   }
 
+  if (!gt_option_is_set(arguments->se_ref_op_evalue))
+  {
+    arguments->se_evalue_threshold = DBL_MAX;
+  }
+  if (!gt_option_is_set(arguments->se_ref_op_maxmat))
+  {
+    arguments->maxmat = 0;
+  }
+  if (!gt_option_is_set(arguments->ref_diagband_statistics))
+  {
+    gt_str_set(arguments->diagband_statistics_arg,"");
+  }
   /* no extra arguments */
   if (!had_err && rest_argc > 0) {
     gt_error_set(err, "too many arguments (-help shows correct usage)");
@@ -546,44 +721,13 @@ static int gt_seed_extend_arguments_check(int rest_argc, void *tool_arguments,
   return had_err;
 }
 
-/* Compute sequence ranges for specified number of parts and pick value. */
-static int gt_seed_extend_compute_parts(GtRange *seqranges,
-                                        GtUword *numseqranges,
-                                        const GtEncseq *encseq,
-                                        GtUword pick_value,
-                                        GtError *err)
+static double gt_seed_extend_ani_evaluate(GtUword sum_of_aligned_len,
+                                          GtUword sum_of_distance)
 {
-  GtUword seqnum;
-  const GtUword numparts = *numseqranges;
-  const GtUword maxseqnum = gt_encseq_num_of_sequences(encseq) - 1;
-  const GtUword partsize = maxseqnum / numparts + 1;
-  int had_err = 0;
-  gt_assert(seqranges && numseqranges);
-  *numseqranges = 0;
-
-  if (pick_value == GT_UWORD_MAX) { /* not specified: take all sequences */
-    GtRange *new_range;
-    for (seqnum = 0; seqnum <= maxseqnum; seqnum += partsize) {
-      gt_assert(*numseqranges < numparts);
-      new_range = seqranges + *numseqranges;
-      new_range->start = seqnum;
-      new_range->end = MIN(seqnum + partsize - 1, maxseqnum);
-      (*numseqranges)++;
-    }
-    gt_assert(*numseqranges > 0);
-  } else if (pick_value > numparts) {
-    gt_error_set(err, "arguments to option -pick must not exceed " GT_WU
-                 " (number of parts)", numparts);
-    had_err = -1;
-  } else if (pick_value < 1) {
-    gt_error_set(err, "arguments to option -pick must be at least 1");
-    had_err = -1;
-  } else {
-    seqranges->start = (pick_value - 1) * partsize;
-    seqranges->end = MIN(pick_value * partsize - 1, maxseqnum);
-    *numseqranges = 1;
-  }
-  return had_err;
+  return sum_of_aligned_len > 0
+             ? (100.0 * (1.0 - (double)
+                               (2 * sum_of_distance)/sum_of_aligned_len))
+             : 0.0;
 }
 
 static int gt_seed_extend_runner(int argc,
@@ -595,56 +739,42 @@ static int gt_seed_extend_runner(int argc,
   GtSeedExtendArguments *arguments = tool_arguments;
   GtEncseq *aencseq = NULL, *bencseq = NULL;
   GtTimer *seedextendtimer = NULL;
-  GtExtendCharAccess cam = GT_EXTEND_CHAR_ACCESS_ANY;
+  GtExtendCharAccess cam_a = GT_EXTEND_CHAR_ACCESS_ANY,
+                     cam_b = GT_EXTEND_CHAR_ACCESS_ANY;
+  GtDiagbandseedPairlisttype splt = GT_DIAGBANDSEED_SPLT_UNDEFINED;
   GtUword errorpercentage = 0UL;
   double matchscore_bias = GT_DEFAULT_MATCHSCORE_BIAS;
   bool extendxdrop, extendgreedy = true;
-  unsigned int display_flag = 0;
   unsigned int maxseedlength = 0, nchars = 0;
-  GtUword apick = GT_UWORD_MAX, bpick = GT_UWORD_MAX;
-  GtUword maxseqlength = 0;
+  GtUwordPair pick = {GT_UWORD_MAX, GT_UWORD_MAX};
+  GtUword maxseqlength = 0, a_numofsequences, b_numofsequences;
+  GtSeedExtendDisplayFlag *out_display_flag = NULL;
   int had_err = 0;
+  const GtSeedExtendDisplaySetMode setmode
+    = GT_SEED_EXTEND_DISPLAY_SET_STANDARD;
+  const unsigned int spacedseedweight = 21, spacedseedlength = 30;
+  GtAniAccumulate ani_accumulate[2];
 
   gt_error_check(err);
   gt_assert(arguments != NULL);
-  gt_assert(arguments->se_minidentity >= GT_EXTEND_MIN_IDENTITY_PERCENTAGE &&
-            arguments->se_minidentity <= 100UL);
-
+  ani_accumulate[0].sum_of_aligned_len = 0;
+  ani_accumulate[0].sum_of_distance = 0;
+  ani_accumulate[1].sum_of_aligned_len = 0;
+  ani_accumulate[1].sum_of_distance = 0;
   /* Define, whether greedy extension will be performed */
-  extendxdrop = gt_option_is_set(arguments->se_option_xdrop);
+  extendxdrop = gt_option_is_set(arguments->se_ref_op_xdr);
   if (arguments->onlyseeds || extendxdrop) {
     extendgreedy = false;
   }
 
-  /* Print verbose option string */
-  if (arguments->verbose) {
-    int idx;
-    bool minid_out = false, history_out = false;
-
-    printf("# Options:");
-    for (idx = 1; idx < argc; idx++) {
-      if (strcmp(argv[idx],"-minidentity") == 0) {
-        minid_out = true;
-      }
-      if (strcmp(argv[idx],"-history") == 0) {
-        history_out = true;
-      }
-      printf(" %s", argv[idx]);
-    }
-    if (!minid_out) {
-      printf(" -minidentity " GT_WU,arguments->se_minidentity);
-    }
-    if (!history_out) {
-      printf(" -history " GT_WU,arguments->se_historysize);
-    }
-    printf("\n");
-  }
-
   /* Calculate error percentage from minidentity */
+  gt_assert(arguments->se_minidentity >= GT_EXTEND_MIN_IDENTITY_PERCENTAGE &&
+            arguments->se_minidentity <= 100UL);
   errorpercentage = 100UL - arguments->se_minidentity;
 
   /* Measure whole running time */
-  if (arguments->benchmark || arguments->verbose) {
+  if (arguments->benchmark || arguments->verbose)
+  {
     gt_showtime_enable();
   }
   if (gt_showtime_enabled())
@@ -652,23 +782,71 @@ static int gt_seed_extend_runner(int argc,
     seedextendtimer = gt_timer_new();
     gt_timer_start(seedextendtimer);
   }
+  if (!arguments->compute_ani)
+  {
+    out_display_flag = gt_querymatch_display_flag_new(arguments->display_args,
+                                                      setmode,err);
+    if (out_display_flag == NULL)
+    {
+      had_err = -1;
+    }
+  }
 
-  /* Set display flag */
-  display_flag = gt_querymatch_bool2display_flag(arguments->seed_display,
-                                                 arguments->seqlength_display);
-
+  if (!had_err)
+  {
+    if (!gt_querymatch_gfa2_display(out_display_flag))
+    {
+      const bool idhistout
+        = (arguments->maxmat != 1 &&
+           gt_str_length(arguments->diagband_statistics_arg) == 0)
+          ? true : false;
+      gt_querymatch_Options_output(stdout,argc,argv,idhistout,
+                                   arguments->se_minidentity,
+                                   arguments->se_historysize);
+      if (!arguments->compute_ani  && !arguments->onlyseeds)
+      {
+        gt_querymatch_Fields_output(stdout,out_display_flag);
+      }
+    } else
+    {
+      printf("H\tVN:Z:2.0");
+      if (gt_querymatch_trace_display(out_display_flag))
+      {
+        printf("\tTS:i:" GT_WU "\n",
+               gt_querymatch_trace_delta_display(out_display_flag));
+      } else
+      {
+        fputc('\n',stdout);
+      }
+    }
+  }
   /* Set character access method */
-  if (!arguments->onlyseeds || arguments->se_alignmentwidth > 0) {
-    cam = gt_greedy_extend_char_access(gt_str_get(arguments->char_access_mode),
-                                       err);
-    if ((int) cam == -1) {
+  if (!had_err && !arguments->onlyseeds)
+  {
+    if (gt_greedy_extend_char_access(&cam_a,&cam_b,
+                                     gt_str_get(arguments->char_access_mode),
+                                     err) != 0)
+    {
+      had_err = -1;
+    }
+  }
+  if (!had_err)
+  {
+    splt = gt_diagbandseed_splt_get(gt_str_get(arguments->splt_string),err);
+    if ((int) splt == -1) {
       had_err = -1;
     }
   }
-
   if (!had_err) {
     GtEncseqLoader *encseq_loader = gt_encseq_loader_new();
     gt_encseq_loader_require_multiseq_support(encseq_loader);
+    gt_encseq_loader_require_ssp_tab(encseq_loader);
+    if (out_display_flag != NULL &&
+        gt_querymatch_subjectid_display(out_display_flag))
+    {
+      gt_encseq_loader_require_des_tab(encseq_loader);
+      gt_encseq_loader_require_sds_tab(encseq_loader);
+    }
 
     /* Load encseq A */
     aencseq = gt_encseq_loader_load(encseq_loader,
@@ -676,21 +854,38 @@ static int gt_seed_extend_runner(int argc,
                                     err);
     if (aencseq == NULL) {
       had_err = -1;
-    } else {
-      /* If there is a 2nd read set: Load encseq B */
-      if (strcmp(gt_str_get(arguments->dbs_queryname), "") != 0) {
-        bencseq = gt_encseq_loader_load(encseq_loader,
-                                        gt_str_get(arguments->dbs_queryname),
-                                        err);
-      } else {
-        bencseq = gt_encseq_ref(aencseq);
+    }
+    gt_encseq_loader_delete(encseq_loader);
+  }
+  if (!had_err)
+  {
+    /* If there is a 2nd read set: Load encseq B */
+    if (gt_str_length(arguments->dbs_queryname) == 0) {
+      bencseq = gt_encseq_ref(aencseq);
+    } else
+    {
+      GtEncseqLoader *encseq_loader = gt_encseq_loader_new();
+      gt_encseq_loader_require_multiseq_support(encseq_loader);
+      gt_encseq_loader_require_ssp_tab(encseq_loader);
+      if (out_display_flag != NULL &&
+          gt_querymatch_queryid_display(out_display_flag))
+      {
+        gt_encseq_loader_require_des_tab(encseq_loader);
+        gt_encseq_loader_require_sds_tab(encseq_loader);
       }
-      if (bencseq == NULL) {
+      bencseq = gt_encseq_loader_load(encseq_loader,
+                                      gt_str_get(arguments->dbs_queryname),
+                                      err);
+      if (bencseq == NULL)
+      {
         had_err = -1;
-        gt_encseq_delete(aencseq);
       }
+      gt_encseq_loader_delete(encseq_loader);
+    }
+    if (bencseq == NULL) {
+      had_err = -1;
+      gt_encseq_delete(aencseq);
     }
-    gt_encseq_loader_delete(encseq_loader);
   }
 
   /* Check alphabet sizes */
@@ -711,11 +906,14 @@ static int gt_seed_extend_runner(int argc,
     if (gt_showtime_enabled()) {
       gt_timer_delete(seedextendtimer);
     }
+    gt_querymatch_display_flag_delete(out_display_flag);
     return had_err;
   }
 
   /* Set seedlength */
   gt_assert(aencseq != NULL && bencseq != NULL);
+  a_numofsequences = gt_encseq_num_of_sequences(aencseq);
+  b_numofsequences = gt_encseq_num_of_sequences(bencseq);
   if (gt_encseq_has_twobitencoding(aencseq) &&
       gt_encseq_wildcards(aencseq) == 0 &&
       gt_encseq_has_twobitencoding(bencseq) &&
@@ -727,17 +925,36 @@ static int gt_seed_extend_runner(int argc,
   maxseqlength = MIN(gt_encseq_max_seq_length(aencseq),
                      gt_encseq_max_seq_length(bencseq));
 
-  if (arguments->dbs_seedlength == UINT_MAX) {
-    unsigned int seedlength;
-    double totallength = 0.5 * (gt_encseq_total_length(aencseq) +
-                                gt_encseq_total_length(bencseq));
-    gt_assert(nchars > 0);
-    seedlength = (unsigned int)gt_round_to_long(gt_log_base(totallength,
-                                                            (double)nchars));
-    seedlength = (unsigned int)MIN3(seedlength, maxseqlength, maxseedlength);
-    arguments->dbs_seedlength = MAX(seedlength, 2);
-  }
-  if (arguments->dbs_seedlength > MIN(maxseedlength, maxseqlength)) {
+  arguments->dbs_spacedseedweight = 0;
+  if (arguments->dbs_seedlength == UINT_MAX)
+  {
+    if (arguments->maxmat == 1)
+    {
+      arguments->dbs_seedlength = MIN(maxseedlength, arguments->se_alignlength);
+    } else
+    {
+      if (arguments->spacedseed)
+      {
+        arguments->dbs_seedlength = spacedseedlength;
+        arguments->dbs_spacedseedweight = spacedseedweight;
+      } else
+      {
+        unsigned int local_seedlength, log_avg_totallength;
+        double avg_totallength = 0.5 * (gt_encseq_total_length(aencseq) +
+                                        gt_encseq_total_length(bencseq));
+        gt_assert(nchars > 0);
+        log_avg_totallength
+          = (unsigned int) gt_round_to_long(gt_log_base(avg_totallength,
+                                                        (double) nchars));
+        local_seedlength = (unsigned int) MIN3(log_avg_totallength,
+                                               maxseqlength,maxseedlength);
+        arguments->dbs_seedlength = MAX(local_seedlength, 2);
+      }
+    }
+  }
+  if (!had_err && !arguments->spacedseed &&
+      arguments->dbs_seedlength > MIN(maxseedlength, maxseqlength))
+  {
     if (maxseedlength <= maxseqlength) {
       gt_error_set(err, "maximum seedlength for alphabet of size %u is %u",
                    nchars, maxseedlength);
@@ -747,10 +964,44 @@ static int gt_seed_extend_runner(int argc,
     }
     had_err = -1;
   }
+  if (!had_err)
+  {
+    if (arguments->spacedseed)
+    {
+      arguments->dbs_spacedseedweight = spacedseedweight;
+      if (arguments->dbs_seedlength != spacedseedlength)
+      {
+        gt_error_set(err,"only spaced seeds of length %u supported",
+                     spacedseedlength);
+        had_err = -1;
+      } else
+      {
+        if (nchars != 4)
+        {
+          gt_error_set(err,"spaced seeds only work for sequences over an "
+                           "alphabet of size 4");
+          had_err = -1;
+        }
+      }
+    }
+  }
 
   /* Set mincoverage */
-  if (!had_err && arguments->dbs_mincoverage == GT_UWORD_MAX) {
-    arguments->dbs_mincoverage = (GtUword) (2.5 * arguments->dbs_seedlength);
+  if (!had_err)
+  {
+    if (arguments->dbs_mincoverage == GT_UWORD_MAX)
+    {
+      arguments->dbs_mincoverage = (GtUword) (2.5 * arguments->dbs_seedlength);
+    } else
+    {
+      if (arguments->dbs_mincoverage < arguments->dbs_seedlength)
+      {
+        gt_error_set(err, "argument to option \"-mincoverage\" must be an "
+                          "integer >= %u (seedlength).",
+                          arguments->dbs_seedlength);
+        had_err = -1;
+      }
+    }
   }
 
   /* Set minimum alignment length */
@@ -771,16 +1022,36 @@ static int gt_seed_extend_runner(int argc,
   /* Parse pick option */
   if (!had_err && strcmp(gt_str_get(arguments->dbs_pick_str),
                          "use all combinations successively") != 0) {
+    GtUword apick, bpick;
     char **items = gt_cstr_split(gt_str_get(arguments->dbs_pick_str), ',');
     if (gt_cstr_array_size((const char **)items) != 2 ||
         gt_parse_uword(&apick, items[0]) != 0 ||
         gt_parse_uword(&bpick, items[1]) != 0) {
       gt_error_set(err, "argument to option -pick must satisfy format i,j");
       had_err = -1;
+    } else if (apick > arguments->dbs_parts || bpick > arguments->dbs_parts) {
+      gt_error_set(err, "arguments to option -pick must not exceed " GT_WU
+                   " (number of parts)", arguments->dbs_parts);
+      had_err = -1;
+    } else if (apick < 1 || bpick < 1) {
+      gt_error_set(err, "arguments to option -pick must be at least 1");
+      had_err = -1;
+    } else if (apick > a_numofsequences) {
+      gt_error_set(err, "first argument to option -pick must not be larger than"
+                   " " GT_WU ", which is the number of sequences in the first "
+                   "set", a_numofsequences);
+      had_err = -1;
+    } else if (bpick > b_numofsequences) {
+      gt_error_set(err, "second argument to option -pick must not be larger "
+                   "than " GT_WU ", which is the number of sequences in the "
+                   "second set", b_numofsequences);
+      had_err = -1;
     } else if (aencseq == bencseq && apick > bpick) {
-      GtUword tmp = apick;
-      apick = bpick;
-      bpick = tmp;
+      pick.a = bpick - 1;
+      pick.b = apick - 1;
+    } else {
+      pick.a = apick - 1;
+      pick.b = bpick - 1;
     }
     gt_cstr_array_delete(items);
   }
@@ -798,7 +1069,7 @@ static int gt_seed_extend_runner(int argc,
     arguments->seedpairdistance.end -= gt_encseq_max_seq_length(aencseq);
     if (!arguments->overlappingseeds &&
         arguments->seedpairdistance.start == 1UL) {
-      arguments->seedpairdistance.start = (GtUword)arguments->dbs_seedlength;
+      arguments->seedpairdistance.start = (GtUword) arguments->dbs_seedlength;
     }
   }
 
@@ -807,10 +1078,8 @@ static int gt_seed_extend_runner(int argc,
     GtDiagbandseedExtendParams *extp = NULL;
     GtDiagbandseedInfo *info = NULL;
     GtUword sensitivity = 0;
-    GtUword anum = arguments->dbs_parts;
-    GtUword bnum = arguments->dbs_parts;
-    GtRange *aseqranges = (GtRange *)gt_malloc(anum * sizeof *aseqranges);
-    GtRange *bseqranges = (GtRange *)gt_malloc(bnum * sizeof *bseqranges);
+    GtSequencePartsInfo *aseqranges, *bseqranges;
+    GtUword use_apos_local = 0;
 
     if (extendgreedy) {
       sensitivity = arguments->se_extendgreedy;
@@ -818,71 +1087,102 @@ static int gt_seed_extend_runner(int argc,
       sensitivity = arguments->se_extendxdrop;
     }
 
-    gt_assert(gt_encseq_num_of_sequences(aencseq) > 0);
-    gt_assert(gt_encseq_num_of_sequences(bencseq) > 0);
-
     /* Get sequence ranges */
-    had_err = gt_seed_extend_compute_parts(aseqranges,
-                                           &anum,
-                                           aencseq,
-                                           apick,
-                                           err);
-    if (!had_err) {
-      had_err = gt_seed_extend_compute_parts(bseqranges,
-                                             &bnum,
-                                             bencseq,
-                                             bpick,
-                                             err);
+    aseqranges = gt_sequence_parts_info_new(aencseq,a_numofsequences,
+                                            arguments->dbs_parts);
+    if (arguments->verbose && gt_sequence_parts_info_number(aseqranges) > 1)
+    {
+      gt_sequence_parts_info_variance_show(aseqranges);
     }
-
-    extp = gt_diagbandseed_extend_params_new(errorpercentage,
-                                             arguments->se_alignlength,
+    if (aencseq == bencseq)
+    {
+      bseqranges = aseqranges;
+    } else
+    {
+      bseqranges = gt_sequence_parts_info_new(bencseq,b_numofsequences,
+                                              arguments->dbs_parts);
+      if (arguments->verbose && gt_sequence_parts_info_number(bseqranges) > 1)
+      {
+        gt_sequence_parts_info_variance_show(bseqranges);
+      }
+    }
+    gt_assert(pick.a < gt_sequence_parts_info_number(aseqranges) ||
+              pick.a == GT_UWORD_MAX);
+    gt_assert(pick.b < gt_sequence_parts_info_number(bseqranges) ||
+              pick.b == GT_UWORD_MAX);
+
+    if (arguments->use_apos)
+    {
+      gt_assert(!arguments->use_apos_track_all);
+      use_apos_local = 1;
+    } else
+    {
+      if (arguments->use_apos_track_all)
+      {
+        use_apos_local = 2;
+      }
+    }
+    extp = gt_diagbandseed_extend_params_new(arguments->se_alignlength,
+                                             errorpercentage,
+                                             arguments->se_evalue_threshold,
                                              arguments->dbs_logdiagbandwidth,
                                              arguments->dbs_mincoverage,
-                                             display_flag,
-                                             arguments->use_apos,
+                                             out_display_flag,
+                                             use_apos_local,
                                              arguments->se_xdropbelowscore,
                                              extendgreedy,
                                              extendxdrop,
                                              arguments->se_maxalilendiff,
                                              arguments->se_historysize,
                                              arguments->se_perc_match_hist,
-                                             cam,
+                                             cam_a,
+                                             cam_b,
+                                             arguments->cam_generic,
                                              sensitivity,
                                              matchscore_bias,
                                              arguments->weakends,
                                              arguments->benchmark,
-                                             arguments->se_alignmentwidth,
-                                             !arguments->relax_polish);
+                                             !arguments->relax_polish,
+                                             arguments->verify_alignment,
+                                             arguments->only_selected_seqpairs,
+                                             arguments->compute_ani
+                                               ? &ani_accumulate[0]
+                                               : NULL);
 
     info = gt_diagbandseed_info_new(aencseq,
                                     bencseq,
                                     arguments->dbs_maxfreq,
                                     arguments->dbs_memlimit,
+                                    arguments->dbs_spacedseedweight,
                                     arguments->dbs_seedlength,
                                     arguments->norev,
                                     arguments->nofwd,
                                     &arguments->seedpairdistance,
+                                    splt,
                                     arguments->dbs_verify,
                                     arguments->verbose,
                                     arguments->dbs_debug_kmer,
                                     arguments->dbs_debug_seedpair,
                                     arguments->use_kmerfile,
-                                    extp,
-                                    anum,
-                                    bnum);
+                                    arguments->trimstat_on,
+                                    arguments->maxmat,
+                                    arguments->chainarguments,
+                                    arguments->diagband_statistics_arg,
+                                    extp);
 
     /* Start algorithm */
-    if (!had_err) {
-      had_err = gt_diagbandseed_run(info,
-                                    aseqranges,
-                                    bseqranges,
-                                    err);
-    }
+    had_err = gt_diagbandseed_run(info,
+                                  aseqranges,
+                                  bseqranges,
+                                  &pick,
+                                  err);
 
     /* clean up */
-    gt_free(aseqranges);
-    gt_free(bseqranges);
+    if (bseqranges != aseqranges)
+    {
+      gt_sequence_parts_info_delete(bseqranges);
+    }
+    gt_sequence_parts_info_delete(aseqranges);
     gt_diagbandseed_extend_params_delete(extp);
     gt_diagbandseed_info_delete(info);
   }
@@ -909,6 +1209,23 @@ static int gt_seed_extend_runner(int argc,
   if (gt_showtime_enabled()) {
     gt_timer_delete(seedextendtimer);
   }
+  gt_querymatch_display_flag_delete(out_display_flag);
+  if (arguments->compute_ani)
+  {
+    int idx;
+
+    printf("ANI %s %s",gt_str_get(arguments->dbs_indexname),
+                       gt_str_length(arguments->dbs_queryname) > 0
+                         ? gt_str_get(arguments->dbs_queryname)
+                         : gt_str_get(arguments->dbs_indexname));
+    for (idx = 0; idx < 2; idx++)
+    {
+      printf(" %.4f",gt_seed_extend_ani_evaluate(
+                          ani_accumulate[idx].sum_of_aligned_len,
+                          ani_accumulate[idx].sum_of_distance));
+    }
+    printf("\n");
+  }
   return had_err;
 }
 
diff --git a/src/tools/gt_seqorder.c b/src/tools/gt_seqorder.c
index 4f1939d..b2a01ca 100644
--- a/src/tools/gt_seqorder.c
+++ b/src/tools/gt_seqorder.c
@@ -31,7 +31,8 @@
 #include "tools/gt_seqorder.h"
 
 typedef struct {
-  bool invert, sort, revsort, shuffle, sorthdr, sorthdrnum;
+  bool invert, sort, revsort, shuffle, sorthdr, sorthdrnum,
+       sort_length;
 } GtSeqorderArguments;
 
 static void* gt_seqorder_arguments_new(void)
@@ -52,7 +53,7 @@ static GtOptionParser* gt_seqorder_option_parser_new(void *tool_arguments)
   GtSeqorderArguments *arguments = tool_arguments;
   GtOptionParser *op;
   GtOption *invert_option, *sort_option, *sorthdr_option, *sorthdrnum_option,
-           *revsort_option, *shuffle_option;
+           *revsort_option, *shuffle_option, *sort_length_option;
   gt_assert(arguments);
 
   /* init */
@@ -87,8 +88,8 @@ static GtOptionParser* gt_seqorder_option_parser_new(void *tool_arguments)
                                       "sort sequences lexicographically "
                                       "by sequence header",
                                       &arguments->sorthdr, false);
-  gt_option_exclude(sorthdr_option, sort_option);
   gt_option_exclude(sorthdr_option, invert_option);
+  gt_option_exclude(sorthdr_option, sort_option);
   gt_option_exclude(sorthdr_option, revsort_option);
   gt_option_parser_add_option(op, sorthdr_option);
 
@@ -97,8 +98,8 @@ static GtOptionParser* gt_seqorder_option_parser_new(void *tool_arguments)
                                          "sort sequences numerically "
                                          "by sequence header",
                                          &arguments->sorthdrnum, false);
-  gt_option_exclude(sorthdrnum_option, sort_option);
   gt_option_exclude(sorthdrnum_option, invert_option);
+  gt_option_exclude(sorthdrnum_option, sort_option);
   gt_option_exclude(sorthdrnum_option, revsort_option);
   gt_option_exclude(sorthdrnum_option, sorthdr_option);
   gt_option_parser_add_option(op, sorthdrnum_option);
@@ -110,8 +111,21 @@ static GtOptionParser* gt_seqorder_option_parser_new(void *tool_arguments)
   gt_option_exclude(shuffle_option, invert_option);
   gt_option_exclude(shuffle_option, sort_option);
   gt_option_exclude(shuffle_option, revsort_option);
+  gt_option_exclude(shuffle_option, sorthdr_option);
+  gt_option_exclude(shuffle_option, sorthdrnum_option);
   gt_option_parser_add_option(op, shuffle_option);
 
+  /* -sortlength */
+  sort_length_option = gt_option_new_bool("sortlength",
+                                          "sort by decreasing length",
+                                          &arguments->sort_length, false);
+  gt_option_exclude(sort_length_option, invert_option);
+  gt_option_exclude(sort_length_option, sort_option);
+  gt_option_exclude(sort_length_option, revsort_option);
+  gt_option_exclude(sort_length_option, sorthdr_option);
+  gt_option_exclude(sort_length_option, sorthdrnum_option);
+  gt_option_exclude(sort_length_option, shuffle_option);
+  gt_option_parser_add_option(op, sort_length_option);
   gt_option_parser_set_min_max_args(op, 1U, 1U);
 
   return op;
@@ -127,13 +141,13 @@ static int gt_seqorder_arguments_check(GT_UNUSED int rest_argc,
   gt_assert(arguments != NULL);
 
   if (!(arguments->invert || arguments->sort || arguments->revsort ||
-        arguments->shuffle || arguments->sorthdr || arguments->sorthdrnum))
+        arguments->sorthdr || arguments->sorthdrnum || arguments->shuffle ||
+        arguments->sort_length))
   {
     had_err = 1;
-    gt_error_set(err, "order option needed: -invert|-sort|-revsort|-shuffle|"
-                      "-sorthdr|-sorthdrnum");
+    gt_error_set(err, "order option needed: -invert|-sort|-revsort|"
+                      "-sorthdr|-sorthdrnum|shuffle|sort_length");
   }
-
   return had_err;
 }
 
@@ -167,23 +181,34 @@ static void gt_seqorder_get_shuffled_seqnums(GtUword nofseqs,
 
 static int seqorder_str_compare_lex(const void *v1, const void *v2, void *data)
 {
-  GtUword n1 = *(GtUword*) v1,
-          n2 = *(GtUword*) v2,
+  GtUword n1 = *(const GtUword*) v1,
+          n2 = *(const GtUword*) v2,
           desclen1, desclen2;
   const char *desc1, *desc2;
-  int rval = 0;
+  int rval;
+
   desc1 = gt_encseq_description((GtEncseq*) data, &desclen1, n1);
   desc2 = gt_encseq_description((GtEncseq*) data, &desclen2, n2);
-  rval = strncmp(desc1, desc2, MIN(desclen1, desclen2) * sizeof (char));
+  rval = strncmp(desc1, desc2, MIN(desclen1, desclen2) * sizeof *desc1);
   if (rval == 0)
-    rval = desclen1-desclen2;
+  {
+    if (desclen1 > desclen2)
+    {
+      return 1;
+    }
+    if (desclen1 < desclen2)
+    {
+      return -1;
+    }
+    return 0;
+  }
   return rval;
 }
 
 static int seqorder_str_compare_num(const void *v1, const void *v2, void *data)
 {
-  GtUword n1 = *(GtUword*) v1,
-          n2 = *(GtUword*) v2,
+  GtUword n1 = *(const GtUword*) v1,
+          n2 = *(const GtUword*) v2,
           desclen1, desclen2,
           anum, bnum;
   int arval, brval, rval = 0;
@@ -208,20 +233,24 @@ static int seqorder_str_compare_num(const void *v1, const void *v2, void *data)
   return rval;
 }
 
-static void gt_seqorder_get_hdrsorted_seqnums(const GtEncseq *encseq,
-                                              GtUword *seqnums,
-                                              GtCompareWithData cmpfunc)
+static int seqorder_length_compare(const void *v1, const void *v2, void *data)
 {
-  GtUword i;
-  gt_assert(encseq != NULL);
+  GtUword n1 = *(const GtUword*) v1,
+          n2 = *(const GtUword*) v2;
+  const GtUword *lengthtab = (const GtUword *) data;
 
-  for (i = 0UL; i < gt_encseq_num_of_sequences(encseq); i++)
-    seqnums[i] = i;
-  (void) gt_qsort_r(seqnums, gt_encseq_num_of_sequences(encseq),
-                    sizeof (GtUword), (void*) encseq, cmpfunc);
+  if (lengthtab[n1] < lengthtab[n2])
+  {
+    return 1;
+  }
+  if (lengthtab[n1] > lengthtab[n2])
+  {
+    return -1;
+  }
+  return 0;
 }
 
-static void gt_seqorder_output(GtUword seqnum, GtEncseq *encseq)
+static void gt_seqorder_output(GtUword seqnum,const GtEncseq *encseq)
 {
   GtEncseqReader *esr;
   GtUword startpos, len, desclen = 0;
@@ -247,6 +276,103 @@ static void gt_seqorder_output(GtUword seqnum, GtEncseq *encseq)
   gt_xfputc('\n', stdout);
 }
 
+static void gt_seqorder_handle_cases(const GtEncseq *encseq,
+                                     const GtSeqorderArguments *arguments)
+{
+  GtUword i, nofseqs = gt_encseq_num_of_sequences(encseq);
+  GtSuffixsortspace *suffixsortspace = NULL;
+
+  if (arguments->invert)
+  {
+    for (i = nofseqs; i > 0; i--)
+    {
+      gt_seqorder_output(i - 1, encseq);
+    }
+    return;
+  }
+  if (arguments->shuffle || arguments->sorthdr || arguments->sorthdrnum ||
+      arguments->sort_length)
+  {
+    const GtUword numofsequences = gt_encseq_num_of_sequences(encseq);
+    GtUword *seqnums = gt_malloc(sizeof (GtUword) * nofseqs);
+    if (arguments->shuffle)
+    {
+      gt_seqorder_get_shuffled_seqnums(nofseqs, seqnums);
+    } else
+    {
+      GtCompareWithData seqordercmpfunc;
+      void *data;
+
+      for (i = 0UL; i < numofsequences; i++)
+      {
+        seqnums[i] = i;
+      }
+      if (arguments->sort_length)
+      {
+        seqordercmpfunc = seqorder_length_compare;
+        data = (void *) gt_all_sequence_lengths_get(encseq);
+      } else
+      {
+        data = (void *) encseq;
+        if (arguments->sorthdr)
+        {
+          seqordercmpfunc = seqorder_str_compare_lex;
+        } else
+        {
+          if (arguments->sorthdrnum)
+          {
+            seqordercmpfunc = seqorder_str_compare_num;
+          } else
+          {
+            gt_assert(false);
+            seqordercmpfunc = NULL;
+          }
+        }
+      }
+      if (data != NULL)
+      {
+        gt_assert(seqordercmpfunc != NULL);
+        (void) gt_qsort_r(seqnums, numofsequences,sizeof *seqnums,
+                          data,seqordercmpfunc);
+      }
+      if (arguments->sort_length && data != NULL)
+      {
+        gt_free(data);
+      }
+    }
+    for (i = 0; i < nofseqs; i++)
+    {
+      gt_seqorder_output(seqnums[i], encseq);
+    }
+    gt_free(seqnums);
+    return;
+  }
+  gt_assert(arguments->sort || arguments->revsort);
+  suffixsortspace
+    = gt_suffixsortspace_new(nofseqs,
+                             /* Use iterator over sequence separators:
+                                saves a lot of binary searches */
+                             gt_encseq_seqstartpos(encseq, nofseqs-1),
+                             false,NULL);
+  gt_seqorder_sort(suffixsortspace, encseq);
+  if (arguments->sort)
+  {
+    for (i = 0; i < nofseqs; i++)
+    {
+      GtUword pos = gt_suffixsortspace_getdirect(suffixsortspace,i);
+      gt_seqorder_output(gt_encseq_seqnum(encseq,pos),encseq);
+    }
+  } else
+  {
+    for (i = nofseqs; i > 0; i--)
+    {
+      GtUword pos = gt_suffixsortspace_getdirect(suffixsortspace,i - 1);
+      gt_seqorder_output(gt_encseq_seqnum(encseq,pos),encseq);
+    }
+  }
+  gt_suffixsortspace_delete(suffixsortspace, false);
+}
+
 static int gt_seqorder_runner(GT_UNUSED int argc,
                               const char **argv,
                               int parsed_args,
@@ -257,7 +383,6 @@ static int gt_seqorder_runner(GT_UNUSED int argc,
   int had_err = 0;
   GtEncseq *encseq;
   GtEncseqLoader *loader;
-  GtUword i, nofseqs;
 
   gt_error_check(err);
   gt_assert(arguments != NULL);
@@ -265,77 +390,19 @@ static int gt_seqorder_runner(GT_UNUSED int argc,
   /* load encseq */
   loader = gt_encseq_loader_new();
   encseq = gt_encseq_loader_load(loader, argv[parsed_args], err);
+  gt_encseq_loader_delete(loader);
   if (encseq == NULL)
+  {
     had_err = -1;
+  }
   if (had_err == 0 && !gt_encseq_has_description_support(encseq))
+  {
     gt_warning("%s has no description support", argv[parsed_args]);
+  }
   if (!had_err)
   {
-    nofseqs = gt_encseq_num_of_sequences(encseq);
-    if (arguments->invert)
-    {
-      for (i = nofseqs; i > 0; i--)
-        gt_seqorder_output(i - 1, encseq);
-    }
-    else if (arguments->shuffle)
-    {
-      GtUword *seqnums;
-      seqnums = gt_malloc(sizeof (GtUword) * nofseqs);
-      gt_seqorder_get_shuffled_seqnums(nofseqs, seqnums);
-      for (i = 0; i < nofseqs; i++)
-        gt_seqorder_output(seqnums[i], encseq);
-      gt_free(seqnums);
-    }
-    else if (arguments->sorthdr)
-    {
-      GtUword *seqnums;
-      seqnums = gt_malloc(sizeof (GtUword) * nofseqs);
-      gt_seqorder_get_hdrsorted_seqnums(encseq, seqnums,
-                                        seqorder_str_compare_lex);
-      for (i = 0; i < nofseqs; i++)
-        gt_seqorder_output(seqnums[i], encseq);
-      gt_free(seqnums);
-    }
-    else if (arguments->sorthdrnum)
-    {
-      GtUword *seqnums;
-      seqnums = gt_malloc(sizeof (GtUword) * nofseqs);
-      gt_seqorder_get_hdrsorted_seqnums(encseq, seqnums,
-                                        seqorder_str_compare_num);
-      for (i = 0; i < nofseqs; i++)
-        gt_seqorder_output(seqnums[i], encseq);
-      gt_free(seqnums);
-    }
-    else
-    {
-      GtSuffixsortspace *suffixsortspace;
-      gt_assert(arguments->sort || arguments->revsort);
-      suffixsortspace
-        = gt_suffixsortspace_new(nofseqs,
-                                 /* Use iterator over sequence separators:
-                                    saves a lot of binary searches */
-                                 gt_encseq_seqstartpos(encseq, nofseqs-1),
-                                 false,NULL);
-      gt_seqorder_sort(suffixsortspace, encseq);
-      if (arguments->sort)
-        for (i = 0; i < nofseqs; i++)
-          gt_seqorder_output(gt_encseq_seqnum(
-                                   encseq,
-                                   gt_suffixsortspace_getdirect(suffixsortspace,
-                                                                i)),
-                             encseq);
-      else
-        for (i = nofseqs; i > 0; i--)
-          gt_seqorder_output(gt_encseq_seqnum(
-                                   encseq,
-                                   gt_suffixsortspace_getdirect(suffixsortspace,
-                                                                i - 1)),
-                             encseq);
-      gt_suffixsortspace_delete(suffixsortspace, false);
-    }
+    gt_seqorder_handle_cases(encseq,arguments);
   }
-
-  gt_encseq_loader_delete(loader);
   gt_encseq_delete(encseq);
   return had_err;
 }
diff --git a/src/tools/gt_seqstat.c b/src/tools/gt_seqstat.c
index 5445272..d6fb016 100644
--- a/src/tools/gt_seqstat.c
+++ b/src/tools/gt_seqstat.c
@@ -29,10 +29,13 @@
 #include "core/versionfunc.h"
 #include "core/seq_iterator_sequence_buffer_api.h"
 #include "core/seq_iterator_fastq_api.h"
+#include "core/str_array_api.h"
 #include "core/unused_api.h"
+#include "core/undef_api.h"
 #include "core/versionfunc.h"
 #include "core/xansi_api.h"
 #include "core/progressbar.h"
+#include "core/parseutils.h"
 #include "core/format64.h"
 #include "core/unused_api.h"
 #include "core/types_api.h"
@@ -55,17 +58,22 @@ typedef struct
        showestimsize;
   unsigned int bucketsize;
   GtUword genome_length;
+  GtStrArray *nstats;
 } SeqstatArguments;
 
 static void* gt_seqstat_arguments_new(void)
 {
-  return gt_calloc((size_t) 1, sizeof (SeqstatArguments));
+  SeqstatArguments *arguments =  gt_calloc((size_t) 1,
+                                           sizeof (SeqstatArguments));
+  arguments->nstats = gt_str_array_new();
+  return arguments;
 }
 
 static void gt_seqstat_arguments_delete(void *tool_arguments)
 {
   SeqstatArguments *arguments = tool_arguments;
   if (!arguments) return;
+  gt_str_array_delete(arguments->nstats);
   gt_free(arguments);
 }
 
@@ -75,7 +83,7 @@ static GtOptionParser* gt_seqstat_option_parser_new(void *tool_arguments)
   GtOptionParser *op;
   GtOption *optionverbose, *optiondistlen, *optionbucketsize,
            *optioncontigs, *optionastretch, *optionestimsize,
-           *optionbinarydistlen, *optiongenome;
+           *optionbinarydistlen, *optiongenome, *optionnstats;
 
   gt_assert(arguments);
 
@@ -112,6 +120,13 @@ static GtOptionParser* gt_seqstat_option_parser_new(void *tool_arguments)
                                    &arguments->docstats,true);
   gt_option_parser_add_option(op, optioncontigs);
 
+  optionnstats = gt_option_new_string_array("nstats",
+                                   "list of N-values to calculate statistics "
+                                   "for, terminated by '--'; if none given, "
+                                   "N50 and N80 will be calculated",
+                                   arguments->nstats);
+  gt_option_parser_add_option(op, optionnstats);
+
   optionastretch = gt_option_new_bool("astretch",
                                    "show distribution of A-substrings",
                                    &arguments->doastretch,false);
@@ -395,8 +410,28 @@ static int gt_seqstat_runner(int argc, const char **argv, int parsed_args,
   }
   if (!had_err && arguments->docstats)
   {
+    GtUword i;
     asc_logger = gt_logger_new(true, GT_LOGGER_DEFLT_PREFIX, stdout);
-    gt_assembly_stats_calculator_show(asc, asc_logger);
+    if (gt_str_array_size(arguments->nstats) == 0) {
+      had_err = gt_assembly_stats_calculator_register_nstat(asc, 50, err);
+      gt_assert(!had_err); /* 50 and 80 are sane */
+      had_err = gt_assembly_stats_calculator_register_nstat(asc, 80, err);
+      gt_assert(!had_err); /* 50 and 80 are sane */
+    }
+    for (i = 0; !had_err && i < gt_str_array_size(arguments->nstats); i++) {
+      GtUword val = GT_UNDEF_UWORD;
+      if (gt_parse_uword(&val, gt_str_array_get(arguments->nstats, i)) != 0) {
+        gt_error_set(err, "could not parse nstat value '%s'",
+                     gt_str_array_get(arguments->nstats, i));
+        had_err = -1;
+        break;
+      }
+      gt_assert(val != GT_UNDEF_UWORD);
+      had_err = gt_assembly_stats_calculator_register_nstat(asc, val, err);
+      if (had_err) break;
+    }
+    if (!had_err)
+      gt_assembly_stats_calculator_show(asc, asc_logger);
     gt_logger_delete(asc_logger);
   }
   if (asc != NULL)
diff --git a/src/tools/gt_sfxmap.c b/src/tools/gt_sfxmap.c
index bb243f7..6850ad6 100644
--- a/src/tools/gt_sfxmap.c
+++ b/src/tools/gt_sfxmap.c
@@ -1005,19 +1005,19 @@ static int gt_sfxmap_compresslcp(const char *indexname,
        haserr = true;
     } else
     {
-      bitbuffer = gt_bitbuffer_new(fpcompressedlcp,bitsperentry);
+      bitbuffer = gt_bitbuffer_FILE_new(fpcompressedlcp,bitsperentry);
     }
     if (bitsperentry > 0)
     {
       if (!haserr)
       {
-        gt_bitbuffer_next_fixed_bits_value (bitbuffer,0UL);
+        gt_bitbuffer_write_fixed_bits_FILE(bitbuffer,0UL);
         while (true)
         {
           GtUword currentlcp;
 
           SSAR_NEXTSEQUENTIALLCPTABVALUE(currentlcp,ssar);
-          gt_bitbuffer_next_fixed_bits_value (bitbuffer,currentlcp);
+          gt_bitbuffer_write_fixed_bits_FILE (bitbuffer,currentlcp);
           elems++;
         }
       }
diff --git a/src/tools/gt_show_seedext.c b/src/tools/gt_show_seedext.c
index 7576015..6c6780e 100644
--- a/src/tools/gt_show_seedext.c
+++ b/src/tools/gt_show_seedext.c
@@ -19,13 +19,15 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+#include <float.h>
 #include "core/ma_api.h"
 #include "core/minmax.h"
 #include "core/str_api.h"
 #include "core/types_api.h"
 #include "core/unused_api.h"
 #include "core/encseq.h"
-#include "match/revcompl.h"
+#include "core/showtime.h"
+#include "core/timer_api.h"
 #include "match/ft-polish.h"
 #include "match/seed-extend.h"
 #include "match/seq_or_encseq.h"
@@ -35,20 +37,19 @@
 
 typedef struct
 {
-  bool show_alignment,
-       seed_display,
-       seqlength_display,
-       relax_polish,
+  bool relax_polish,
        sortmatches,
-       showeoplist,
-       seed_extend;
+       verify_alignment,
+       optimal_alignment;
   GtStr *matchfilename;
+  GtStrArray *display_args;
 } GtShowSeedextArguments;
 
 static void* gt_show_seedext_arguments_new(void)
 {
   GtShowSeedextArguments *arguments = gt_calloc((size_t) 1, sizeof *arguments);
   arguments->matchfilename = gt_str_new();
+  arguments->display_args = gt_str_array_new();
   return arguments;
 }
 
@@ -56,6 +57,7 @@ static void gt_show_seedext_arguments_delete(void *tool_arguments)
 {
   GtShowSeedextArguments *arguments = tool_arguments;
   if (arguments != NULL) {
+    gt_str_array_delete(arguments->display_args);
     gt_str_delete(arguments->matchfilename);
     gt_free(arguments);
   }
@@ -65,8 +67,8 @@ static GtOptionParser* gt_show_seedext_option_parser_new(void *tool_arguments)
 {
   GtShowSeedextArguments *arguments = tool_arguments;
   GtOptionParser *op;
-  GtOption *option, *op_ali, *option_filename, *op_relax_polish,
-           *op_seed_extend, *op_sortmatches, *op_showeoplist;
+  GtOption *option_filename, *op_relax_polish, *op_sortmatches, *op_display,
+           *op_verify_alignment, *op_optimal_alignment;
 
   gt_assert(arguments);
   /* init */
@@ -74,39 +76,11 @@ static GtOptionParser* gt_show_seedext_option_parser_new(void *tool_arguments)
                             "Parse output of a seed extension and show/verify "
                             "the alignment.");
 
-  /* -a */
-  op_ali = gt_option_new_bool("a",
-                              "show alignment",
-                              &arguments->show_alignment,
-                              false);
-  gt_option_parser_add_option(op, op_ali);
-
-  /* -seed-display */
-  option = gt_option_new_bool("seed-display",
-                              "Display seeds in #-line and by "
-                              "character + (instead of |) in middle "
-                              "row of alignment column",
-                              &arguments->seed_display,
-                              false);
-  gt_option_parser_add_option(op, option);
-
-  /* -seqlength-display */
-  option = gt_option_new_bool("seqlength-display",
-                              "Display length of sequences in which "
-                              "the two match-instances occur",
-                              &arguments->seqlength_display,
-                              false);
-  gt_option_is_development_option(option);
-  gt_option_parser_add_option(op, option);
-
-  /* -seed-extend */
-  op_seed_extend = gt_option_new_bool("seed-extend",
-                              "read the seeds from the # seed: -lines and "
-                              "extend them; match lines are ignored; "
-                              "match coordindates are displayed",
-                              &arguments->seed_extend,
-                              false);
-  gt_option_parser_add_option(op, op_seed_extend);
+  /* -outfmt */
+  op_display = gt_option_new_string_array("outfmt",
+                                          gt_querymatch_display_help(),
+                                          arguments->display_args);
+  gt_option_parser_add_option(op, op_display);
 
   /* -relax-polish */
   op_relax_polish = gt_option_new_bool("relax-polish",
@@ -115,19 +89,28 @@ static GtOptionParser* gt_show_seedext_option_parser_new(void *tool_arguments)
                                        &arguments->relax_polish,false);
   gt_option_parser_add_option(op, op_relax_polish);
   gt_option_is_development_option(op_relax_polish);
-  gt_option_imply(op_relax_polish, op_ali);
 
   /* -sort */
   op_sortmatches = gt_option_new_bool("sort","sort matches in ascending order "
-                                             "of their end positon on the "
+                                             "of their end position on the "
                                              "query",
                                       &arguments->sortmatches,false);
   gt_option_parser_add_option(op, op_sortmatches);
 
-  /* -e */
-  op_showeoplist = gt_option_new_bool("e","show list of edit operations",
-                                      &arguments->showeoplist,false);
-  gt_option_parser_add_option(op, op_showeoplist);
+  /* -verify-alignment */
+  op_verify_alignment = gt_option_new_bool("verify-alignment",
+                                           "verify correctned of alignment",
+                                           &arguments->verify_alignment,false);
+  gt_option_parser_add_option(op, op_verify_alignment);
+  gt_option_is_development_option(op_verify_alignment);
+
+  /* -optimal-alignment */
+  op_optimal_alignment = gt_option_new_bool("optimal",
+                                           "compute optimal alignment for "
+                                           "substrings in given coordinates",
+                                           &arguments->optimal_alignment,false);
+  gt_option_parser_add_option(op, op_optimal_alignment);
+  gt_option_is_development_option(op_optimal_alignment);
 
   /* -f */
   option_filename = gt_option_new_filename("f",
@@ -136,8 +119,6 @@ static GtOptionParser* gt_show_seedext_option_parser_new(void *tool_arguments)
   gt_option_is_mandatory(option_filename);
   gt_option_parser_add_option(op, option_filename);
 
-  gt_option_exclude(op_seed_extend, op_sortmatches);
-  gt_option_exclude(op_relax_polish, op_seed_extend);
   return op;
 }
 
@@ -159,113 +140,53 @@ static int gt_show_seedext_arguments_check(GT_UNUSED int rest_argc,
   return had_err;
 }
 
-typedef struct
-{
-  GtUchar *a_sequence, *b_sequence;
-  GtUword a_allocated, b_allocated;
-} GtSequencepairbuffer;
-
-static void gt_show_seed_extend_plain(GtSequencepairbuffer *seqpairbuf,
-                                      GtLinspaceManagement
-                                      *linspace_spacemanager,
-                                      GtScoreHandler *linspace_scorehandler,
-                                      GtAlignment *alignment,
-                                      GtUchar *alignment_show_buffer,
-                                      GtUword alignmentwidth,
-                                      bool showeoplist,
-                                      const GtUchar *characters,
-                                      GtUchar wildcardshow,
-                                      const GtEncseq *aencseq,
-                                      const GtEncseq *bencseq,
-                                      const GtQuerymatch *querymatchptr)
+void gt_querymatch_optimal_alignment(const GtQuerymatch *querymatchptr,
+                                     const GtSequencepairbuffer *seqpairbuf,
+                                     GtLinspaceManagement
+                                       *linspace_spacemanager,
+                                     GtScoreHandler *linspace_scorehandler,
+                                     GtAlignment *alignment,
+                                     GtUchar *alignment_show_buffer,
+                                     const GtSeedExtendDisplayFlag
+                                       *out_display_flag,
+                                     const GtUchar *characters,
+                                     GtUchar wildcardshow)
 {
   GtUword edist;
-  GtReadmode query_readmode = gt_querymatch_query_readmode(querymatchptr);
   const GtUword distance = gt_querymatch_distance(querymatchptr),
-                dblen = gt_querymatch_dblen(querymatchptr),
-                queryseqnum = gt_querymatch_queryseqnum(querymatchptr),
-                querystart_fwdstrand
-                  = gt_querymatch_querystart_fwdstrand(querymatchptr),
-                querylen = gt_querymatch_querylen(querymatchptr);
-
-  const GtUword apos_ab = gt_querymatch_dbstart(querymatchptr);
-  const GtUword bpos_ab = gt_encseq_seqstartpos(bencseq, queryseqnum) +
-                          querystart_fwdstrand;
+                alignmentwidth = gt_querymatch_display_alignmentwidth(
+                                        out_display_flag);
 
-  gt_querymatch_coordinates_out(querymatchptr);
-  if (dblen >= seqpairbuf->a_allocated)
-  {
-    seqpairbuf->a_sequence = gt_realloc(seqpairbuf->a_sequence,
-                                       sizeof *seqpairbuf->a_sequence * dblen);
-    seqpairbuf->a_allocated = dblen;
-  }
-  if (querylen >= seqpairbuf->b_allocated)
-  {
-    seqpairbuf->b_sequence = gt_realloc(seqpairbuf->b_sequence,
-                                       sizeof *seqpairbuf->b_sequence *
-                                       querylen);
-    seqpairbuf->b_allocated = querylen;
-  }
-  gt_encseq_extract_encoded(aencseq, seqpairbuf->a_sequence, apos_ab,
-                            apos_ab + dblen - 1);
-  gt_encseq_extract_encoded(bencseq, seqpairbuf->b_sequence, bpos_ab,
-                            bpos_ab + querylen - 1);
-  if (query_readmode != GT_READMODE_FORWARD)
-  {
-    gt_assert(query_readmode == GT_READMODE_REVCOMPL);
-    gt_inplace_reverse_complement(seqpairbuf->b_sequence,querylen);
-  }
   edist = gt_linearalign_compute_generic(linspace_spacemanager,
                                          linspace_scorehandler,
                                          alignment,
                                          seqpairbuf->a_sequence,
                                          0,
-                                         dblen,
+                                         seqpairbuf->a_len,
                                          seqpairbuf->b_sequence,
                                          0,
-                                         querylen);
+                                         seqpairbuf->b_len);
   if (edist < distance)
   {
-    printf("# edist=" GT_WU " (smaller by " GT_WU ")\n",edist,distance - edist);
+    printf("# edist=" GT_WU " (smaller by " GT_WU ")\n",
+           edist,distance - edist);
   }
   gt_assert(edist <= distance);
   if (alignmentwidth > 0)
   {
+    const bool downcase = false;
+
     gt_alignment_show_generic(alignment_show_buffer,
-                              false,
+                              downcase,
                               alignment,
                               stdout,
                               alignmentwidth,
                               characters,
                               wildcardshow);
-  }
-  if (showeoplist && distance > 0)
-  {
-    gt_alignment_show_multieop_list(alignment, stdout);
-  }
-  if (alignmentwidth > 0 || showeoplist)
-  {
     gt_alignment_reset(alignment);
   }
 }
 
-static void gt_show_seed_extend_encseq(GtQuerymatch *querymatchptr,
-                                       const GtEncseq *aencseq,
-                                       const GtEncseq *bencseq)
-{
-  GtSeqorEncseq bseqorencseq;
-
-  bseqorencseq.seq = NULL;
-  bseqorencseq.encseq = bencseq;
-  if (gt_querymatch_process(querymatchptr,
-                            aencseq,
-                            &bseqorencseq,
-                            false) != 0)
-  {
-    gt_querymatch_prettyprint(querymatchptr);
-  }
-}
-
 static int gt_show_seedext_runner(GT_UNUSED int argc,
                                   GT_UNUSED const char **argv,
                                   GT_UNUSED int parsed_args,
@@ -273,42 +194,72 @@ static int gt_show_seedext_runner(GT_UNUSED int argc,
                                   GtError *err)
 {
   int had_err = 0;
-  GtUword alignmentwidth;
   GtShowSeedextArguments *arguments = tool_arguments;
-  GtSeedextendMatchIterator *semi;
-
+  GtSeedextendMatchIterator *semi = NULL;
+  const GtEncseq *aencseq = NULL, *bencseq = NULL;
+  GtSeedExtendDisplayFlag *out_display_flag = NULL;
+  GtFtPolishing_info *pol_info = NULL;
+  GtGreedyextendmatchinfo *greedyextendmatchinfo = NULL;
+  const GtExtendCharAccess a_extend_char_access = GT_EXTEND_CHAR_ACCESS_ANY;
+  const GtExtendCharAccess b_extend_char_access = GT_EXTEND_CHAR_ACCESS_ANY;
+  GtUchar *alignment_show_buffer = NULL;
+  GtAlignment *alignment = NULL;
+  GtSequencepairbuffer seqpairbuf = {NULL,NULL,0,0};
+  GtLinspaceManagement *linspace_spacemanager = NULL;
+  GtScoreHandler *linspace_scorehandler = NULL;
+  const GtUchar *characters = NULL;
+  GtUchar wildcardshow = (GtUchar) 'N';
+  GtTimer *timer = NULL;
+  const GtSeedExtendDisplaySetMode setmode
+    = GT_SEED_EXTEND_DISPLAY_SET_STANDARD;
+
+  if (gt_showtime_enabled())
+  {
+    timer = gt_timer_new();
+    gt_timer_start(timer);
+  }
   gt_error_check(err);
   gt_assert(arguments != NULL);
   /* Parse option string in first line of file specified by filename. */
-  alignmentwidth = arguments->show_alignment ? 70 : 0;
-  semi = gt_seedextend_match_iterator_new(arguments->matchfilename,err);
-  if (semi == NULL)
+  out_display_flag
+    = gt_querymatch_display_flag_new(arguments->display_args,setmode,err);
+  if (out_display_flag == NULL)
   {
-    had_err = -1;
+    had_err = true;
+  }
+  if (!had_err)
+  {
+    if (arguments->optimal_alignment)
+    {
+      if (gt_querymatch_alignment_display(out_display_flag))
+      {
+        GtUword alignmentwidth
+          = gt_querymatch_display_alignmentwidth(out_display_flag);
+        alignment_show_buffer = gt_alignment_buffer_new(alignmentwidth);
+      }
+      alignment = gt_alignment_new();
+      linspace_spacemanager = gt_linspace_management_new();
+      linspace_scorehandler = gt_scorehandler_new(0,1,0,1);
+    }
+    semi = gt_seedextend_match_iterator_new(arguments->matchfilename,err);
+    if (semi == NULL)
+    {
+      had_err = -1;
+    }
   }
   /* Parse seed extensions. */
   if (!had_err)
   {
-    const GtEncseq *aencseq = gt_seedextend_match_iterator_aencseq(semi),
-                   *bencseq = gt_seedextend_match_iterator_bencseq(semi);
-    GtAlignment *alignment = gt_alignment_new();
-    Polishing_info *pol_info = NULL;
-    GtSequencepairbuffer seqpairbuf = {NULL,NULL,0,0};
-
+    printf("%s\n",gt_seedextend_match_iterator_Options_line(semi));
+    aencseq = gt_seedextend_match_iterator_aencseq(semi);
+    bencseq = gt_seedextend_match_iterator_bencseq(semi);
     /* the following are used if seed_extend is set */
-    GtGreedyextendmatchinfo *greedyextendmatchinfo = NULL;
-    GtProcessinfo_and_querymatchspaceptr processinfo_and_querymatchspaceptr;
-    const GtUchar *characters = gt_encseq_alphabetcharacters(aencseq);
-    const GtUchar wildcardshow = gt_encseq_alphabetwildcardshow(aencseq);
-    GtUchar *alignment_show_buffer
-      = arguments->show_alignment ? gt_alignment_buffer_new(alignmentwidth)
-                                  : NULL;
-    GtLinspaceManagement *linspace_spacemanager = gt_linspace_management_new();
-    GtScoreHandler *linspace_scorehandler = gt_scorehandler_new(0,1,0,1);;
-    const unsigned int display_flag
-      = gt_querymatch_bool2display_flag(arguments->seed_display,
-                                        arguments->seqlength_display);
-
+    if (arguments->optimal_alignment)
+    {
+      characters = gt_encseq_alphabetcharacters(aencseq);
+      wildcardshow = gt_encseq_alphabetwildcardshow(aencseq);
+    }
+    gt_querymatch_Fields_output(stdout,out_display_flag);
     if (!arguments->relax_polish)
     {
       double matchscore_bias = GT_DEFAULT_MATCHSCORE_BIAS;
@@ -321,33 +272,45 @@ static int gt_show_seedext_runner(GT_UNUSED int argc,
                           matchscore_bias,
                           gt_seedextend_match_iterator_history_size(semi));
     }
-    gt_seedextend_match_iterator_display_set(semi,display_flag);
-    if (arguments->show_alignment || arguments->showeoplist)
+    if (arguments->verify_alignment)
     {
-      gt_seedextend_match_iterator_querymatchoutoptions_set(semi,
-                                                       true,
-                                                       arguments->showeoplist,
-                                                       alignmentwidth,
-                                                       !arguments->relax_polish,
-                                                       display_flag);
+      gt_seedextend_match_iterator_verify_alignment_set(semi);
     }
-    if (arguments->seed_extend)
+    if (gt_querymatch_alignment_display(out_display_flag) ||
+        gt_querymatch_trace_display(out_display_flag) ||
+        gt_querymatch_dtrace_display(out_display_flag) ||
+        gt_querymatch_cigar_display(out_display_flag) ||
+        gt_querymatch_cigarX_display(out_display_flag) ||
+        arguments->verify_alignment)
     {
-      greedyextendmatchinfo
-        = gt_greedy_extend_matchinfo_new(70,
-                              GT_MAX_ALI_LEN_DIFF,
-                              gt_seedextend_match_iterator_history_size(semi),
-                              GT_MIN_PERC_MAT_HISTORY,
-                              0, /* userdefinedleastlength */
-                              GT_EXTEND_CHAR_ACCESS_ANY,
-                              100,
-                              pol_info);
+      if (gt_seedextend_match_iterator_querymatchoutoptions_set(
+                            semi,
+                            !arguments->relax_polish,
+                            a_extend_char_access,
+                            b_extend_char_access,
+                            out_display_flag,
+                            err) != 0)
+      {
+        had_err = -1;
+      }
     }
-    if (pol_info != NULL)
+  }
+  if (!had_err)
+  {
+    GtKarlinAltschulStat *karlin_altschul_stat = NULL;
+    const bool match_has_cigar = gt_seedextend_match_iterator_has_cigar(semi),
+               match_has_seed = gt_seedextend_match_iterator_has_seed(semi),
+               dtrace = gt_seedextend_match_iterator_dtrace(semi);
+    const GtUword trace_delta = gt_seedextend_match_iterator_trace_delta(semi);
+
+    if (gt_querymatch_evalue_display(out_display_flag) ||
+        gt_querymatch_bitscore_display(out_display_flag))
     {
-      gt_alignment_polished_ends(alignment,pol_info,false);
+      karlin_altschul_stat = gt_karlin_altschul_stat_new_gapped(
+                                       gt_encseq_total_length(aencseq),
+                                       gt_encseq_num_of_sequences(aencseq),
+                                       bencseq);
     }
-    processinfo_and_querymatchspaceptr.processinfo = greedyextendmatchinfo;
     if (arguments->sortmatches)
     {
       (void) gt_seedextend_match_iterator_all_sorted(semi,true);
@@ -355,69 +318,64 @@ static int gt_show_seedext_runner(GT_UNUSED int argc,
     while (true)
     {
       GtQuerymatch *querymatchptr = gt_seedextend_match_iterator_next(semi);
+      const double evalue = gt_seedextend_match_iterator_evalue(semi),
+                   bitscore = gt_seedextend_match_iterator_bitscore(semi);
 
       if (querymatchptr == NULL)
       {
         break;
       }
-      if (gt_seedextend_match_iterator_has_seedline(semi))
+      gt_querymatch_recompute_alignment(querymatchptr,
+                                        out_display_flag,
+                                        match_has_cigar,
+                                        dtrace,
+                                        trace_delta,
+                                        match_has_seed,
+                                        aencseq,
+                                        bencseq,
+                                        karlin_altschul_stat,
+                                        evalue,
+                                        bitscore);
+      if (arguments->optimal_alignment)
       {
-        if (arguments->seed_extend)
-        {
-          if (aencseq == bencseq)
-          {
-            const GtUword
-              seedlen = gt_seedextend_match_iterator_seedlen(semi),
-              seedpos1 = gt_seedextend_match_iterator_seedpos1(semi),
-              seedpos2 = gt_seedextend_match_iterator_seedpos2(semi);
-
-            processinfo_and_querymatchspaceptr.querymatchspaceptr
-              = querymatchptr;
-            had_err = gt_greedy_extend_selfmatch_with_output(
-                                  &processinfo_and_querymatchspaceptr,
-                                  aencseq,
-                                  seedlen,
-                                  seedpos1,
-                                  seedpos2,
-                                  err);
-            if (had_err)
-            {
-              break;
-            }
-          } else
-          {
-            gt_assert(false);
-          }
-        } else
-        {
-          gt_show_seed_extend_encseq(querymatchptr, aencseq, bencseq);
-        }
-      } else
-      {
-        gt_show_seed_extend_plain(&seqpairbuf,
-                                  linspace_spacemanager,
-                                  linspace_scorehandler,
-                                  alignment,
-                                  alignment_show_buffer,
-                                  alignmentwidth,
-                                  arguments->showeoplist,
-                                  characters,
-                                  wildcardshow,
-                                  aencseq,
-                                  bencseq,
-                                  querymatchptr);
+        gt_querymatch_extract_sequence_pair(&seqpairbuf,
+                                            aencseq,
+                                            bencseq,
+                                            querymatchptr);
+        gt_querymatch_optimal_alignment(querymatchptr,
+                                        &seqpairbuf,
+                                        linspace_spacemanager,
+                                        linspace_scorehandler,
+                                        alignment,
+                                        alignment_show_buffer,
+                                        out_display_flag,
+                                        characters,
+                                        wildcardshow);
       }
     }
-    polishing_info_delete(pol_info);
     gt_greedy_extend_matchinfo_delete(greedyextendmatchinfo);
-    gt_free(alignment_show_buffer);
-    gt_scorehandler_delete(linspace_scorehandler);
-    gt_linspace_management_delete(linspace_spacemanager);
     gt_free(seqpairbuf.a_sequence);
     gt_free(seqpairbuf.b_sequence);
-    gt_alignment_delete(alignment);
+    gt_karlin_altschul_stat_delete(karlin_altschul_stat);
   }
+  gt_free(alignment_show_buffer);
+  polishing_info_delete(pol_info);
+  gt_alignment_delete(alignment);
+  gt_scorehandler_delete(linspace_scorehandler);
+  gt_linspace_management_delete(linspace_spacemanager);
   gt_seedextend_match_iterator_delete(semi);
+  if (!had_err && gt_showtime_enabled())
+  {
+    printf("# TIME show_seedext %s alignment ",
+           gt_querymatch_alignment_display(out_display_flag)
+           ? "with" : "without");
+    gt_timer_show_formatted(timer,GT_WD ".%06ld\n",stdout);
+  }
+  gt_querymatch_display_flag_delete(out_display_flag);
+  if (gt_showtime_enabled())
+  {
+    gt_timer_delete(timer);
+  }
   return had_err;
 }
 
diff --git a/src/tools/gt_sortbench.c b/src/tools/gt_sortbench.c
index 326a19b..41fe0f8 100644
--- a/src/tools/gt_sortbench.c
+++ b/src/tools/gt_sortbench.c
@@ -28,6 +28,7 @@
 #include "core/timer_api.h"
 #include "core/radix_sort.h"
 #include "core/unused_api.h"
+#include "core/yarandom.h"
 #include "core/qsort-ulong.h"
 #include "tools/gt_sortbench.h"
 #ifdef GT_THREADS_ENABLED
@@ -62,7 +63,7 @@ static void gt_sortbench_arguments_delete(void *tool_arguments)
 
 static const char *gt_sort_implementation_names[]
     = {"thomas","system","inlinedptr","inlinedarr","direct","dual-pivot",
-       "radixinplace","radixlsb","radixkeypair",NULL};
+       "radixinplace","radixlsb","radixkeypair","radixflba",NULL};
 
 static GtOptionParser* gt_sortbench_option_parser_new(void *tool_arguments)
 {
@@ -79,7 +80,7 @@ static GtOptionParser* gt_sortbench_option_parser_new(void *tool_arguments)
   option = gt_option_new_choice(
                  "impl", "implementation\nchoose from "
                  "thomas|system|inlinedptr|inlinedarr|direct|\n"
-                 "dual-pivot|radixinplace|radixlsb|radixkeypair",
+                 "dual-pivot|radixinplace|radixlsb|radixkeypair|radixflba",
                   arguments->impl,
                   gt_sort_implementation_names[0],
                   gt_sort_implementation_names);
@@ -128,11 +129,25 @@ static int gt_sortbench_arguments_check(GT_UNUSED int rest_argc,
   int had_err = 0;
 
   gt_assert(arguments != NULL);
-  if ((arguments->use_aqsort || arguments->use_permute) &&
-      strcmp(gt_str_get(arguments->impl),"radixkeypair") == 0)
+  if (arguments->use_aqsort || arguments->use_permute)
   {
-    gt_error_set(err,"options -aqsort and -permute is not compatible with "
-                     "option -impl radixkeypair");
+    if (strcmp(gt_str_get(arguments->impl),"radixkeypair") == 0)
+    {
+      gt_error_set(err,"options -aqsort and -permute are bot not compatible "
+                       "with option -impl radixkeypair");
+      had_err = -1;
+    }
+    if (strcmp(gt_str_get(arguments->impl),"radixflba") == 0)
+    {
+      gt_error_set(err,"options -aqsort and -permute are both not compatible "
+                       "with option -impl radixflba");
+      had_err = -1;
+    }
+  }
+  if (arguments->use_aqsort && arguments->use_permute)
+  {
+    gt_error_set(err,"options -aqsort and -permute are not compatible with "
+                     "each other");
     had_err = -1;
   }
   return had_err;
@@ -490,6 +505,65 @@ static int voidkeypairqsortcmp(const void *va,const void *vb)
   return 0;
 }
 
+static void gt_uword2flba(uint8_t *buffer,GtUword value,size_t unitsize)
+{
+  GtUword nullmask;
+  size_t idx, rshift;
+
+  gt_assert(unitsize > 0 && unitsize <= sizeof (GtUword));
+  if (unitsize == sizeof (GtUword))
+  {
+    nullmask = 0;
+  } else
+  {
+    nullmask = ~((((GtUword) 1) << (unitsize * CHAR_BIT)) - (GtUword) 1);
+  }
+  if ((value & nullmask) > 0)
+  {
+    fprintf(stderr,"value" GT_WU "has 1-bits in the most significant %u bits\n",
+            value,(
+            (unsigned int) (sizeof (GtUword) - unitsize) * CHAR_BIT));
+    exit(GT_EXIT_PROGRAMMING_ERROR);
+  }
+  for (idx = 0, rshift = CHAR_BIT * (unitsize - 1); idx < unitsize;
+       rshift -= CHAR_BIT, idx++)
+  {
+    buffer[idx] = (uint8_t) ((value >> rshift) & (GtUword) (UINT8_MAX));
+  }
+}
+
+static GtUword gt_flba2uword(const uint8_t *buffer,size_t unitsize)
+{
+  GtUword idx, value = 0;
+
+  gt_assert(unitsize > 0 && unitsize <= sizeof (GtUword));
+  for (idx = 0; idx < unitsize; idx++)
+  {
+    value = (value << CHAR_BIT) | (GtUword) buffer[idx];
+  }
+  return value;
+}
+
+static void gt_sortbench_verify_flba(const uint8_t *flba,
+                                     const GtUword *array,
+                                     GtUword len,
+                                     size_t unitsize)
+{
+  GtUword idx;
+
+  for (idx = 0UL; idx < len; idx++)
+  {
+    GtUword value = gt_flba2uword(flba + idx * unitsize,unitsize);
+    if (value != array[idx])
+    {
+      fprintf(stderr,"value=" GT_WU " != " GT_WU "= array[" GT_WU "\n",
+               value,array[idx],idx);
+      exit(GT_EXIT_PROGRAMMING_ERROR);
+    }
+  }
+  printf("verified\n");
+}
+
 #define GT_NUM_OF_SORT_IMPLEMENTATIONS\
         (sizeof (gt_sort_implementation_funcs)/\
          sizeof (gt_sort_implementation_funcs[0]))
@@ -504,6 +578,8 @@ static int gt_sortbench_runner(GT_UNUSED int argc, GT_UNUSED const char **argv,
   GtTimer *timer;
   GtUword *array = NULL, *array_copy = NULL, idx, r;
   Gtuint64keyPair *arraykeypair = NULL, *arraykeypair_copy = NULL;
+  uint8_t *flba = NULL;
+  size_t flba_unitsize = 0;
 
   gt_error_check(err);
   gt_assert(arguments);
@@ -519,7 +595,21 @@ static int gt_sortbench_runner(GT_UNUSED int argc, GT_UNUSED const char **argv,
     arraykeypair = gt_malloc(sizeof (*arraykeypair) * arguments->num_values);
   } else
   {
-    array = gt_malloc(sizeof (*array) * arguments->num_values);
+    bool alloc_array;
+    if (strcmp(gt_str_get(arguments->impl),"radixflba") == 0)
+    {
+      size_t bits = gt_radixsort_bits(arguments->maxvalue);
+      flba_unitsize = gt_radixsort_bits2bytes(bits);
+      flba = gt_malloc(sizeof (*flba) * arguments->num_values * flba_unitsize);
+      alloc_array = arguments->verify;
+    } else
+    {
+      alloc_array = true;
+    }
+    if (alloc_array)
+    {
+      array = gt_malloc(sizeof (*array) * arguments->num_values);
+    }
   }
   if (arguments->use_aqsort)
   {
@@ -527,6 +617,7 @@ static int gt_sortbench_runner(GT_UNUSED int argc, GT_UNUSED const char **argv,
     {
       printf("# using aqsort\n");
     }
+    gt_assert(array != NULL);
     gt_sortbench_aqsort(arguments->num_values, array);
   } else
   {
@@ -548,29 +639,39 @@ static int gt_sortbench_runner(GT_UNUSED int argc, GT_UNUSED const char **argv,
       {
         printf("# using simple array of random numbers\n");
       }
-      /* use seed initialization to make array deterministic */
-#ifndef _WIN32
-      srand48(366292341);
       if (arraykeypair != NULL)
       {
         for (idx = 0; idx < arguments->num_values; idx++)
         {
-          arraykeypair[idx].uint64_a = drand48() * arguments->maxvalue;
-          arraykeypair[idx].uint64_b = drand48() * arguments->maxvalue;
+          arraykeypair[idx].uint64_a = random() % (arguments->maxvalue+1);
+          arraykeypair[idx].uint64_b = random() % (arguments->maxvalue+1);
         }
       } else
       {
-        gt_assert(array != NULL);
-        for (idx = 0; idx < arguments->num_values; idx++)
+        if (flba != NULL)
         {
-          array[idx] = drand48() * arguments->maxvalue;
+          uint8_t *flba_buffer = gt_malloc(sizeof *flba_buffer * flba_unitsize);
+          gt_assert(!arguments->verify || array != NULL);
+          for (idx = 0; idx < arguments->num_values; idx++)
+          {
+            GtUword value = (GtUword) (random() % (arguments->maxvalue+1));
+            gt_uword2flba(flba_buffer,value,flba_unitsize);
+            memcpy(flba + idx * flba_unitsize,flba_buffer,flba_unitsize);
+            if (arguments->verify)
+            {
+              array[idx] = value;
+            }
+          }
+          gt_free(flba_buffer);
+        } else
+        {
+          gt_assert(array != NULL);
+          for (idx = 0; idx < arguments->num_values; idx++)
+          {
+            array[idx] = random() % (arguments->maxvalue+1);
+          }
         }
       }
-#else
-      /* XXX: use random instead of drand48() above */
-      fprintf(stderr, "drand48() not implemented\n");
-      exit(EXIT_FAILURE);
-#endif
     }
   }
   if (arguments->verify)
@@ -588,14 +689,21 @@ static int gt_sortbench_runner(GT_UNUSED int argc, GT_UNUSED const char **argv,
             voidkeypairqsortcmp);
     } else
     {
-      array_copy = gt_malloc(sizeof (*array_copy) * arguments->num_values);
-      gt_assert(array != NULL);
-      for (idx = 0; idx < arguments->num_values; idx++)
+      if (flba != NULL)
+      {
+        gt_assert(array != NULL);
+        qsort(array,(size_t) arguments->num_values,sizeof *array,voidqsortcmp);
+      } else
       {
-        array_copy[idx] = array[idx];
+        array_copy = gt_malloc(sizeof (*array_copy) * arguments->num_values);
+        gt_assert(array != NULL);
+        for (idx = 0; idx < arguments->num_values; idx++)
+        {
+          array_copy[idx] = array[idx];
+        }
+        qsort(array_copy,(size_t) arguments->num_values,sizeof *array_copy,
+              voidqsortcmp);
       }
-      qsort(array_copy,(size_t) arguments->num_values,sizeof *array_copy,
-            voidqsortcmp);
     }
   }
   timer = gt_timer_new();
@@ -609,18 +717,25 @@ static int gt_sortbench_runner(GT_UNUSED int argc, GT_UNUSED const char **argv,
     }
   } else
   {
-    for (method = 0; method < GT_NUM_OF_SORT_IMPLEMENTATIONS; method++)
+    if (flba != NULL)
     {
-      if (strcmp(gt_str_get(arguments->impl),
-                 gt_sort_implementation_names[method]) == 0)
+      gt_assert(flba_unitsize > 0);
+      gt_radixsort_inplace_flba(flba,arguments->num_values,flba_unitsize);
+    } else
+    {
+      for (method = 0; method < GT_NUM_OF_SORT_IMPLEMENTATIONS; method++)
       {
-        for (r = 0; r < arguments->runs; r++)
+        if (strcmp(gt_str_get(arguments->impl),
+                   gt_sort_implementation_names[method]) == 0)
         {
-          gt_assert(array != NULL && arraykeypair == NULL);
-          gt_assert(method < GT_NUM_OF_SORT_IMPLEMENTATIONS);
-          gt_sort_implementation_funcs[method](array, arguments->num_values);
+          for (r = 0; r < arguments->runs; r++)
+          {
+            gt_assert(array != NULL && arraykeypair == NULL);
+            gt_assert(method < GT_NUM_OF_SORT_IMPLEMENTATIONS);
+            gt_sort_implementation_funcs[method](array, arguments->num_values);
+          }
+          break;
         }
-        break;
       }
     }
   }
@@ -642,9 +757,18 @@ static int gt_sortbench_runner(GT_UNUSED int argc, GT_UNUSED const char **argv,
                                   arguments->num_values);
     } else
     {
-      gt_sortbench_verify(array,array_copy,arguments->num_values);
+      if (flba != NULL)
+      {
+        gt_assert(array != NULL);
+        gt_sortbench_verify_flba(flba,array,arguments->num_values,
+                                 flba_unitsize);
+      } else
+      {
+        gt_sortbench_verify(array,array_copy,arguments->num_values);
+      }
     }
   }
+  gt_free(flba);
   gt_free(array);
   gt_free(array_copy);
   gt_free(arraykeypair);
diff --git a/testdata/at-C99887-fwd.fna b/testdata/at-C99887-fwd.fna
new file mode 100644
index 0000000..8836f95
--- /dev/null
+++ b/testdata/at-C99887-fwd.fna
@@ -0,0 +1,14 @@
+>gi|4714011|dbj|C99887.1|C99887 C99887 Arabidopsis thaliana library (Motohashi R) Arabidopsis thaliana cDNA clone 44, mRNA sequence
+GTGAATGTTGATCTCAAACTCTTTGTCCATAATGGGAAGCTACACAAATATTTGACTGTTACAGATGGAA
+CAGTGAAGCGATACAACGATGCCAAAAAAGAGTGGGGATTCACACAATTGATTTCTCTTCCAACATTCTA
+CAACGCGAACGAAGGGTACCTTGTGCAGGACACAGCTTCTTTTGGTGCTGAGATCTTCATCGTTAACCCG
+ACAGAAAAACAAGAGAAAGTCACATTCATATCAAACCCTCCAAACAATGTTTTCACTTGGAAGATACTTC
+GTTTCTCTACCTTGGAAGATAAATTCTATTACTCTGATGATTTTCTCGTTGGAGACCGATACTGGAGACT
+AGGATTTAACCCGAAAGGATCTGGTGGAGGAAGACCACATGCACTTCCAATCTTCCTATATGCTCAAGGC
+CATAAGGCAAACGCAGTTGTTACAAACACTTGGGGAGCGGTTAATCTGCGGTTAAAGAATCAACGAAGCT
+CCAACCACAAACAATTATATTCTGCAGCTTGGTACCCGATTCGAAGCGATTATGGTGTGGGAGTGAACAA
+TATAATATTGATGTCAGAGCTAAAAGATGCATCAAAAGGGTATATGGTGAATGATGCCATTATCTTTGAA
+GCTGAAATGGTTAAGGTCTCTGTGACAAACATAGTCTCCGTTTAAATATCACTACTTCTTTTTCAACAAC
+AACCTTACGAATAAAGTGGACTTTGATGAGTTTAATTTGTTATACGACAACGTTGTTGATGCTTGTGATG
+TTATCGTTGTTTCTGCTCTCCGAGTTTTCGTTTTACTTTTTTTTTCATGTTTTGCTATCCAATGAAAATA
+AAAGGTTTAAAACTCTCCTTTGGTTTTTAAAAGT
diff --git a/testdata/at-C99887-rev.fna b/testdata/at-C99887-rev.fna
new file mode 100644
index 0000000..9a83141
--- /dev/null
+++ b/testdata/at-C99887-rev.fna
@@ -0,0 +1,14 @@
+>gi|4714011|dbj|C99887.1|C99887 C99887 Arabidopsis thaliana library (Motohashi R) Arabidopsis thaliana cDNA clone 44, mRNA sequence
+ACTTTTAAAAACCAAAGGAGAGTTTTAAACCTTTTATTTTCATTGGATAGCAAAACATGAAAAAAAAAGT
+AAAACGAAAACTCGGAGAGCAGAAACAACGATAACATCACAAGCATCAACAACGTTGTCGTATAACAAAT
+TAAACTCATCAAAGTCCACTTTATTCGTAAGGTTGTTGTTGAAAAAGAAGTAGTGATATTTAAACGGAGA
+CTATGTTTGTCACAGAGACCTTAACCATTTCAGCTTCAAAGATAATGGCATCATTCACCATATACCCTTT
+TGATGCATCTTTTAGCTCTGACATCAATATTATATTGTTCACTCCCACACCATAATCGCTTCGAATCGGG
+TACCAAGCTGCAGAATATAATTGTTTGTGGTTGGAGCTTCGTTGATTCTTTAACCGCAGATTAACCGCTC
+CCCAAGTGTTTGTAACAACTGCGTTTGCCTTATGGCCTTGAGCATATAGGAAGATTGGAAGTGCATGTGG
+TCTTCCTCCACCAGATCCTTTCGGGTTAAATCCTAGTCTCCAGTATCGGTCTCCAACGAGAAAATCATCA
+GAGTAATAGAATTTATCTTCCAAGGTAGAGAAACGAAGTATCTTCCAAGTGAAAACATTGTTTGGAGGGT
+TTGATATGAATGTGACTTTCTCTTGTTTTTCTGTCGGGTTAACGATGAAGATCTCAGCACCAAAAGAAGC
+TGTGTCCTGCACAAGGTACCCTTCGTTCGCGTTGTAGAATGTTGGAAGAGAAATCAATTGTGTGAATCCC
+CACTCTTTTTTGGCATCGTTGTATCGCTTCACTGTTCCATCTGTAACAGTCAAATATTTGTGTAGCTTCC
+CATTATGGACAAAGAGTTTGAGATCAACATTCAC
diff --git a/testdata/at-C99930.fna b/testdata/at-C99930.fna
new file mode 100644
index 0000000..55d22b3
--- /dev/null
+++ b/testdata/at-C99930.fna
@@ -0,0 +1,12 @@
+>gi|4714047|dbj|C99930.1|C99930 C99930 Arabidopsis thaliana library (Motohashi R) Arabidopsis thaliana cDNA clone 86, mRNA sequence
+GTGAAGCGATACAACGATGCAAAAAAAGAGTGGGGATTCACACAATTGATTTCTCTTCCAACATTCTACA
+ACGCGAACGAAGGGTACATTGTGCAGGACACAGCTTCTTTTGGTGCTGAGATCTTCATCGTTAACCCGAC
+AGAAAAACAAGAGAAAGTCACATTCATATCAAACCCTCCGAACAATGTTTTCACTTGGAAGATACTTCGT
+TTCTCTACCTTGGAAGATAAATTCTATTACTCTGATGATTTTCTCGTTGAAGACCGATACTGGAGATTAG
+GATTTAACCCGAAAGGATCTGGTGGAGGGAGACCACATGCACTTCCAATCTTCCTATATGCTCAAGGCCA
+TAAGGCAAACGCAGTTGTTACAAACACTTGGGGAGCGGTTAATCTGCGGTTAAAGAATCAACGAAGCTCC
+AACCACAAACAATTATATTCTGCAGCTTGGTACCCCGATTCGAAGCGATTATGGTGTGGGAGTGAACAAT
+ATCATATTGATGTCAGAAGCTAAAAGATGCATCCAAAGGGTATATGGTGAATGATGCCATTATCTTTTGA
+AACTGAAATGGTTAAGGTCTCTGTGAACAACATAGTCTCCCCTTAAATATATGTCACTACTTCTTTATCC
+CCCGAAATAACCTTACAAAGAAAAATTGATGATTTAATTTGTTATACGACACTTTATTTATGCCTGTGAA
+GTAACCTTGTTTCCGCTCCCCAAATTTCCTTTTTTTTCCTGTTTTT
diff --git a/testdata/gt_seqorder_test_sortlength.fas b/testdata/gt_seqorder_test_sortlength.fas
new file mode 100644
index 0000000..970f2fc
--- /dev/null
+++ b/testdata/gt_seqorder_test_sortlength.fas
@@ -0,0 +1,34 @@
+>13
+aaaa
+>0
+aan
+>12
+aaa
+>15
+aan
+>16
+ana
+>5
+ca
+>6
+at
+>7
+tt
+>8
+ac
+>9
+cg
+>10
+ga
+>4
+gg
+>14
+aa
+>1
+at
+>2
+ta
+>3
+ag
+>11
+a
diff --git a/testdata/gt_sketch_textwidth.gff3 b/testdata/gt_sketch_textwidth.gff3
index 99bfd40..26af54a 100644
--- a/testdata/gt_sketch_textwidth.gff3
+++ b/testdata/gt_sketch_textwidth.gff3
@@ -1,6 +1,6 @@
 ##gff-version 3
 ##sequence-region ctg123 1 1497228
 ctg123	.	gene	1000	2000	.	+	0	ID=g00001;Name=thisisalongname123
-ctg123	.	gene	2001	3000	.	+	0	ID=g00002;Name=anotherlongname123
+ctg123	.	gene	2001	3000	.	+	0	ID=g00002;Name=anotherlongname
 ctg123	.	gene	3001	4000	.	+	0	ID=g00003;Name=stillanotherlonglonglonglonglonglonglongname
 ctg123	.	gene	4001	5000	.	+	0	ID=g00004;Name=shortname
diff --git a/testdata/matchtool_see-ext.match b/testdata/matchtool_see-ext.match
new file mode 100644
index 0000000..d1e5d1f
--- /dev/null
+++ b/testdata/matchtool_see-ext.match
@@ -0,0 +1,72 @@
+query	dbname2	q.startpos	d.startpos	q.endpos	d.endpos	bit score	evalue	ali length
+gi|4714045|dbj|C99928.1|C99928	gi|4714048|dbj|C99931.1|C99931	1	35	656	660	753.500	8e-219	625
+gi|4714034|dbj|C99916.1|C99916	gi|4714048|dbj|C99931.1|C99931	85	1	833	706	969.800	7e-284	705
+gi|4714011|dbj|C99887.1|C99887	gi|4714048|dbj|C99931.1|C99931	1	1	687	660	698.600	3e-202	659
+gi|4714045|dbj|C99928.1|C99928	gi|4714047|dbj|C99930.1|C99930	39	1	698	668	829.100	2e-241	657
+gi|4714044|dbj|C99927.1|C99927	gi|4714047|dbj|C99930.1|C99930	15	15	645	653	748.400	3e-217	628
+gi|4714034|dbj|C99916.1|C99916	gi|4714047|dbj|C99930.1|C99930	157	1	806	655	686.600	1e-198	648
+gi|4714011|dbj|C99887.1|C99887	gi|4714047|dbj|C99930.1|C99930	73	1	715	653	964.700	2e-282	642
+gi|4714003|dbj|C99879.1|C99879	gi|4714046|dbj|C99929.1|C99929	1	17	571	629	775.800	1e-225	571
+gi|4714034|dbj|C99916.1|C99916	gi|4714045|dbj|C99928.1|C99928	119	1	864	742	1002.500	1e-293	740
+gi|4714011|dbj|C99887.1|C99887	gi|4714045|dbj|C99928.1|C99928	35	1	784	756	911.500	3e-266	745
+gi|4714011|dbj|C99887.1|C99887	gi|4714044|dbj|C99927.1|C99927	87	15	874	797	1064.300	3e-312	781
+gi|4714011|dbj|C99887.1|C99887	gi|4714034|dbj|C99916.1|C99916	1	85	766	851	837.600	4e-244	761
+gi|4713986|dbj|C99861.1|C99861	gi|4713989|dbj|C99864.1|C99864	138	135	517	515	578.400	3e-166	377
+gi|4713985|dbj|C99860.1|C99860	gi|4713989|dbj|C99864.1|C99864	138	135	575	564	621.300	4e-179	426
+gi|4713985|dbj|C99860.1|C99860	gi|4713986|dbj|C99861.1|C99861	1	1	517	517	889.100	9e-260	517
+gi|3449451|gb|AI099712.1|AI099712	gi|4239693|emb|AJ132746.1|AJ132746	9	224	548	765	791.300	2e-230	535
+gi|3449444|gb|AI099705.1|AI099705	gi|4239690|emb|AJ132744.1|AJ132744	1	57	568	624	793.000	7e-231	561
+gi|3719131|dbj|C99774.1|C99774	gi|3719176|dbj|C99819.1|C99819	1	1	397	397	672.800	8e-195	397
+gi|3719126|dbj|C99769.1|C99769	gi|3719174|dbj|C99817.1|C99817	3	1	416	417	666.000	1e-192	414
+gi|3719127|dbj|C99770.1|C99770	gi|3719168|dbj|C99811.1|C99811	1	1	419	418	705.400	1e-204	418
+gi|3719094|dbj|C99746.1|C99746	gi|3719155|dbj|C99798.1|C99798	1	1	379	378	616.200	9e-178	378
+gi|3450488|gb|AI100527.1|AI100527	gi|3450559|gb|AI100598.1|AI100598	27	2	434	401	629.900	7e-182	400
+gi|3450203|gb|AI100242.1|AI100242	gi|3450559|gb|AI100598.1|AI100598	107	1	510	401	659.100	1e-190	401
+gi|3450093|gb|AI100132.1|AI100132	gi|3450559|gb|AI100598.1|AI100598	216	4	618	403	641.900	2e-185	400
+gi|3450037|gb|AI100754.1|AI100754	gi|3450559|gb|AI100598.1|AI100598	17	1	423	403	653.900	4e-189	403
+gi|3449788|gb|AI100049.1|AI100049	gi|3450559|gb|AI100598.1|AI100598	50	1	456	403	659.100	1e-190	403
+gi|3449709|gb|AI099970.1|AI099970	gi|3450559|gb|AI100598.1|AI100598	105	1	513	403	636.800	7e-184	403
+gi|3450120|gb|AI100159.1|AI100159	gi|3450535|gb|AI100574.1|AI100574	36	166	501	640	595.600	2e-171	463
+gi|3450071|gb|AI100110.1|AI100110	gi|3450490|gb|AI100529.1|AI100529	144	1	564	423	660.800	5e-191	418
+gi|3450203|gb|AI100242.1|AI100242	gi|3450488|gb|AI100527.1|AI100527	84	1	510	434	684.800	2e-198	427
+gi|3450093|gb|AI100132.1|AI100132	gi|3450488|gb|AI100527.1|AI100527	190	1	616	434	669.400	1e-193	427
+gi|3449788|gb|AI100049.1|AI100049	gi|3450488|gb|AI100527.1|AI100527	27	1	454	434	681.400	2e-197	427
+gi|3449709|gb|AI099970.1|AI099970	gi|3450488|gb|AI100527.1|AI100527	81	1	511	434	648.800	2e-187	428
+gi|2764113|gb|R30496.1|R30496	gi|3450485|gb|AI100524.1|AI100524	1	71	432	494	638.500	2e-184	422
+gi|3450396|gb|AI100435.1|AI100435	gi|3450465|gb|AI100504.1|AI100504	1	49	480	540	727.800	3e-211	480
+gi|3450281|gb|AI100320.1|AI100320	gi|3450465|gb|AI100504.1|AI100504	81	1	602	540	779.300	1e-226	522
+gi|3450141|gb|AI100180.1|AI100180	gi|3450465|gb|AI100504.1|AI100504	1	106	433	540	653.900	4e-189	431
+gi|3450113|gb|AI100152.1|AI100152	gi|3450465|gb|AI100504.1|AI100504	3	36	481	515	751.800	2e-218	477
+gi|3450027|gb|AI100744.1|AI100744	gi|3450465|gb|AI100504.1|AI100504	1	48	483	535	774.100	3e-225	482
+gi|3449600|gb|AI099861.1|AI099861	gi|3450450|gb|AI100489.1|AI100489	13	1	441	425	659.100	1e-190	423
+gi|3450281|gb|AI100320.1|AI100320	gi|3450396|gb|AI100435.1|AI100435	127	4	602	480	720.900	4e-209	471
+gi|3450113|gb|AI100152.1|AI100152	gi|3450396|gb|AI100435.1|AI100435	16	1	481	455	683.100	7e-198	455
+gi|3450027|gb|AI100744.1|AI100744	gi|3450396|gb|AI100435.1|AI100435	2	1	483	475	729.500	8e-212	473
+gi|3450141|gb|AI100180.1|AI100180	gi|3450281|gb|AI100320.1|AI100320	1	175	433	602	633.300	7e-183	427
+gi|3450113|gb|AI100152.1|AI100152	gi|3450281|gb|AI100320.1|AI100320	1	111	481	577	690.000	6e-200	466
+gi|3450027|gb|AI100744.1|AI100744	gi|3450281|gb|AI100320.1|AI100320	5	127	483	597	732.900	8e-213	470
+gi|3450093|gb|AI100132.1|AI100132	gi|3450203|gb|AI100242.1|AI100242	92	1	616	510	703.700	6e-204	506
+gi|3450037|gb|AI100754.1|AI100754	gi|3450203|gb|AI100242.1|AI100242	6	97	421	510	667.700	3e-193	412
+gi|3449788|gb|AI100049.1|AI100049	gi|3450203|gb|AI100242.1|AI100242	1	59	454	510	732.900	7e-213	450
+gi|3449709|gb|AI099970.1|AI099970	gi|3450203|gb|AI100242.1|AI100242	12	26	511	510	710.600	4e-206	485
+gi|3450027|gb|AI100744.1|AI100744	gi|3450141|gb|AI100180.1|AI100180	56	1	483	428	636.800	7e-184	426
+gi|3449964|gb|AI099652.1|AI099652	gi|3450120|gb|AI100159.1|AI100159	6	15	472	465	619.600	1e-178	450
+gi|3449439|gb|AI099700.1|AI099700	gi|3450120|gb|AI100159.1|AI100159	9	36	502	519	684.800	2e-198	484
+gi|3450027|gb|AI100744.1|AI100744	gi|3450113|gb|AI100152.1|AI100152	1	15	463	481	710.600	4e-206	460
+gi|3450037|gb|AI100754.1|AI100754	gi|3450093|gb|AI100132.1|AI100132	2	200	423	618	647.100	5e-187	417
+gi|3449788|gb|AI100049.1|AI100049	gi|3450093|gb|AI100132.1|AI100132	1	165	456	618	700.300	5e-203	452
+gi|3449709|gb|AI099970.1|AI099970	gi|3450093|gb|AI100132.1|AI100132	3	116	513	618	653.900	5e-189	499
+gi|3449691|gb|AI099952.1|AI099952	gi|3450058|gb|AI100097.1|AI100097	101	1	464	367	592.100	2e-170	363
+gi|3449788|gb|AI100049.1|AI100049	gi|3450037|gb|AI100754.1|AI100754	35	1	456	423	683.100	7e-198	421
+gi|3449709|gb|AI099970.1|AI099970	gi|3450037|gb|AI100754.1|AI100754	92	4	513	423	635.100	2e-183	416
+gi|3449709|gb|AI099970.1|AI099970	gi|3449788|gb|AI100049.1|AI100049	51	1	513	456	671.100	3e-194	454
+gi|2764183|gb|R64880.1|R64880	gi|2764205|gb|R64942.1|R64942	1	1	455	458	650.500	5e-188	451
+gi|2764068|gb|R30324.1|R30324	gi|2764205|gb|R64942.1|R64942	1	10	443	459	633.300	7e-183	441
+gi|2764183|gb|R64880.1|R64880	gi|2764186|gb|R64887.1|R64887	1	2	432	428	635.100	2e-183	427
+gi|2764068|gb|R30324.1|R30324	gi|2764186|gb|R64887.1|R64887	1	11	415	426	633.300	7e-183	415
+gi|2764068|gb|R30324.1|R30324	gi|2764183|gb|R64880.1|R64880	1	10	440	455	666.000	1e-192	439
+gi|2764100|gb|R30437.1|R30437	gi|2764162|gb|R64814.1|R64814	10	1	508	494	672.800	1e-194	491
+gi|2764073|gb|R30334.1|R30334	gi|2764148|gb|R64752.1|R64752	1	4	471	461	636.800	7e-184	457
+# space peak in megabytes: 0.05 (in 1001 events)
+# mmap space peak in megabytes: 0.00
+# combined space peak in megabytes: 0.05
diff --git a/testdata/query-fwd.match b/testdata/query-fwd.match
new file mode 100644
index 0000000..f5cc2ee
--- /dev/null
+++ b/testdata/query-fwd.match
@@ -0,0 +1,55 @@
+# Options: -ii subject -qii query-fwd -evalue 0.01 -outfmt alignment blast -seedlength 12 -minidentity 75 -history 60
+# Fields: query id, subject id, % identity, alignment length, mismatches, gap opens, q. start, q. end, s. start, s. end, evalue, bit score
+gi|4714011|dbj|C99887.1|C99887	gi|4714047|dbj|C99930.1|C99930	90.91	733	38	30	73	822	1	746	3e-284	961.3
+Query  73   gtgaagcgatacaacgatgccaaaaaagagtggggattcacacaattgatttctcttcca  132
+            |||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||
+Sbjct  1    gtgaagcgatacaacgatgcaaaaaaagagtggggattcacacaattgatttctcttcca  60
+
+Query  133  acattctacaacgcgaacgaagggtaccttgtgcaggacacagcttcttttggtgctgag  192
+            ||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||
+Sbjct  61   acattctacaacgcgaacgaagggtacattgtgcaggacacagcttcttttggtgctgag  120
+
+Query  193  atcttcatcgttaacccgacagaaaaacaagagaaagtcacattcatatcaaaccctcca  252
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 
+Sbjct  121  atcttcatcgttaacccgacagaaaaacaagagaaagtcacattcatatcaaaccctccg  180
+
+Query  253  aacaatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattac  312
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Sbjct  181  aacaatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattac  240
+
+Query  313  tctgatgattttctcgttggagaccgatactggagactaggatttaacccgaaaggatct  372
+            ||||||||||||||||||| |||||||||||||||| |||||||||||||||||||||||
+Sbjct  241  tctgatgattttctcgttgaagaccgatactggagattaggatttaacccgaaaggatct  300
+
+Query  373  ggtggaggaagaccacatgcacttccaatcttcctatatgctcaaggccataaggcaaac  432
+            |||||||| |||||||||||||||||||||||||||||||||||||||||||||||||||
+Sbjct  301  ggtggagggagaccacatgcacttccaatcttcctatatgctcaaggccataaggcaaac  360
+
+Query  433  gcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc  492
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Sbjct  361  gcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc  420
+
+Query  493  aaccacaaacaattatattctgcagcttggtaccc-gattcgaagcgattatggtgtggg  551
+            ||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||
+Sbjct  421  aaccacaaacaattatattctgcagcttggtaccccgattcgaagcgattatggtgtggg  480
+
+Query  552  agtgaacaatataatattgatgtcaga-gctaaaagatgcatcaaaagggtatatggtga  610
+            |||||||||||| |||||||||||||| ||||||||||||||| ||||||||||||||||
+Sbjct  481  agtgaacaatatcatattgatgtcagaagctaaaagatgcatccaaagggtatatggtga  540
+
+Query  611  atgatgccattatcttt-gaagctgaaatggttaaggtctctgtga-caaacatagtctc  668
+            ||||||||||||||||| ||| |||||||||||||||||||||||| ||| |||||||||
+Sbjct  541  atgatgccattatcttttgaaactgaaatggttaaggtctctgtgaacaa-catagtctc  599
+
+Query  669  cgtttaaatat----cactacttctttttcaac--aac-aaccttacgaataaag-tgga  720
+            |  ||||||||    |||||||||||| ||  |  ||  |||||||| || |||  | ||
+Sbjct  600  cccttaaatatatgtcactacttctttatcccccgaaataaccttacaaagaaaaattga  659
+
+Query  721  ctttgatg-agtttaatttgttatacgacaacgttgttgatgcttgtgatgttatcgttg  779
+             |  |||  | |||  ||  | |  ||||| | || || |||| ||||| || | | |||
+Sbjct  660  -t--gatttaatttg-tta-t-a--cgaca-ctttatttatgcctgtgaagtaacc-ttg  709
+
+Query  780  tttctgctctccgagttttcgttttactttttttttcatgttt  822
+            |||| |||| || | ||| | ||||  ||||  | |  | |||
+Sbjct  710  tttccgctccccaaattt-cctttt--ttttcctgt--t-ttt  746
+
diff --git a/testdata/query-rev.match b/testdata/query-rev.match
new file mode 100644
index 0000000..6fdec13
--- /dev/null
+++ b/testdata/query-rev.match
@@ -0,0 +1,55 @@
+# Options: -ii subject -qii query -evalue 0.01 -outfmt alignment blast -seedlength 12 -minidentity 75 -history 60
+# Fields: query id, subject id, % identity, alignment length, mismatches, gap opens, q. start, q. end, s. start, s. end, evalue, bit score
+gi|4714011|dbj|C99887.1|C99887	gi|4714047|dbj|C99930.1|C99930	90.91	733	38	30	53	802	746	1	3e-284	961.3
+Query  53   aaacatgaaaaaaaaagtaaaacgaaaactcggagagcagaaacaacgataacatcacaa  112
+            ||| |  | |  ||||  |||| | ||| | || |||| ||||||| | | || ||||| 
+Sbjct  746  aaa-a--acaggaaaa--aaaagg-aaatttggggagcggaaacaa-ggttacttcacag  694
+
+Query  113  gcatcaacaacgttgtcgtataacaaattaaact-catcaaagtcca-ctttattcgtaa  170
+            |||| || || | |||||  | |  ||  ||| |  |||  | || |  ||| || ||||
+Sbjct  693  gcataaataaag-tgtcg--t-a-taa-caaattaaatc--a-tcaatttttctttgtaa  643
+
+Query  171  ggtt-gtt--gttgaaaaagaagtagtg----atatttaaacggagactatgtttg-tca  222
+            ||||  ||  |  || ||||||||||||    ||||||||  |||||||||| ||| |||
+Sbjct  642  ggttatttcgggggataaagaagtagtgacatatatttaaggggagactatg-ttgttca  584
+
+Query  223  cagagaccttaaccatttcagcttc-aaagataatggcatcattcaccatataccctttt  281
+            ||||||||||||||||||||| ||| ||||||||||||||||||||||||||||||||| 
+Sbjct  583  cagagaccttaaccatttcagtttcaaaagataatggcatcattcaccatataccctttg  524
+
+Query  282  gatgcatcttttagc-tctgacatcaatattatattgttcactcccacaccataatcgct  340
+            ||||||||||||||| |||||||||||||| |||||||||||||||||||||||||||||
+Sbjct  523  gatgcatcttttagcttctgacatcaatatgatattgttcactcccacaccataatcgct  464
+
+Query  341  tcgaatc-gggtaccaagctgcagaatataattgtttgtggttggagcttcgttgattct  399
+            ||||||| ||||||||||||||||||||||||||||||||||||||||||||||||||||
+Sbjct  463  tcgaatcggggtaccaagctgcagaatataattgtttgtggttggagcttcgttgattct  404
+
+Query  400  ttaaccgcagattaaccgctccccaagtgtttgtaacaactgcgtttgccttatggcctt  459
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Sbjct  403  ttaaccgcagattaaccgctccccaagtgtttgtaacaactgcgtttgccttatggcctt  344
+
+Query  460  gagcatataggaagattggaagtgcatgtggtcttcctccaccagatcctttcgggttaa  519
+            |||||||||||||||||||||||||||||||||| |||||||||||||||||||||||||
+Sbjct  343  gagcatataggaagattggaagtgcatgtggtctccctccaccagatcctttcgggttaa  284
+
+Query  520  atcctagtctccagtatcggtctccaacgagaaaatcatcagagtaatagaatttatctt  579
+            |||||| |||||||||||||||| ||||||||||||||||||||||||||||||||||||
+Sbjct  283  atcctaatctccagtatcggtcttcaacgagaaaatcatcagagtaatagaatttatctt  224
+
+Query  580  ccaaggtagagaaacgaagtatcttccaagtgaaaacattgtttggagggtttgatatga  639
+            ||||||||||||||||||||||||||||||||||||||||||| ||||||||||||||||
+Sbjct  223  ccaaggtagagaaacgaagtatcttccaagtgaaaacattgttcggagggtttgatatga  164
+
+Query  640  atgtgactttctcttgtttttctgtcgggttaacgatgaagatctcagcaccaaaagaag  699
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Sbjct  163  atgtgactttctcttgtttttctgtcgggttaacgatgaagatctcagcaccaaaagaag  104
+
+Query  700  ctgtgtcctgcacaaggtacccttcgttcgcgttgtagaatgttggaagagaaatcaatt  759
+            ||||||||||||||| ||||||||||||||||||||||||||||||||||||||||||||
+Sbjct  103  ctgtgtcctgcacaatgtacccttcgttcgcgttgtagaatgttggaagagaaatcaatt  44
+
+Query  760  gtgtgaatccccactcttttttggcatcgttgtatcgcttcac  802
+            |||||||||||||||||||||| ||||||||||||||||||||
+Sbjct  43   gtgtgaatccccactctttttttgcatcgttgtatcgcttcac  1
+
diff --git a/testdata/readjoiner/30x_800nt.gfa1 b/testdata/readjoiner/30x_800nt.gfa1
new file mode 100644
index 0000000..783cd9e
--- /dev/null
+++ b/testdata/readjoiner/30x_800nt.gfa1
@@ -0,0 +1,64 @@
+H	VN:Z:1.0
+H	pn:Z:readjoiner
+H	ol:i:0
+H	in:Z:reads
+H	cn:i:0
+H	te:i:0
+S	0	GAGCGCACGAGGGAGCTTCCAGGGGGAAACGCCTGGTATCTTTATAGTCCTGTCGGGTTTCGCCACCTCTGACTTGAGCGTCGATTTTTGTGATGCTCGTCAGGGGGGCGGAGCCTATGGAAAAACGCCAGCAACGCGGCCTTTTTACGGTTCCTGGCCTTTTGCTGGCCTTTTGCTCACATGTTCTTTCCTGCGTTATCCCCTGATTCTGTGGATAACCGTATTACCGCCTTTGAGTGAGCTGATACCGCTCGCCGCAGCCGAACGACCGAGCGCAGCGAGTCAGTGAGCGAGGAAGCGGAAGAGCGCCCAATACGCAAACCGCCTCTCCCCGCGCGTTGGCCGATTCATTAATGCAGCTGGCACGACAGGTTTCCCGACTGGAAAGCGGGCAGTGAGCGCAACGCAATTAATGTGAGTTAGCTCACTCATTAGGCACCCCAGGCTTTACACTTTATGCTTCCGGCTCGTATGTTGTGTGGAATTGT [...]
+S	1	TCAGACCCCGTAGAAAAGATCAAAGGATCTTCTTGAGATCCTTTTTTTCTGCGCGTAATCTGCTGCTTGCAAACAAAAAAACCACCGCTACCAGCGGTGGTTTGTTTGCCGGATCAAGAGCTACCAACTCTTTTTCCGAAGGTAACTGGCTTCAGCAGAGCGCAGATACCAAATACTGTCCTTCTAGTGTAGCCGTAGTTAGGCCACCACTTCAAGAACTCTGTAGCACCGCCTACATACCTCGCTCTGCTAATCCTGTTACCAGTGGCTGCTGCCAGTGGCGATAAGTCGTGTCTTACCGGGTTGGACTCAAGACGATAGTTACCGGATAAGGCGCAGCGGTCGGGCTGAACGGGGGGTTCGTGCACACAGCCCAGCTTGGAGCGAACGACCTACACCGAACTGAGATACCTACAGCGTGAGCTATGAGAAAGCGCCACGCTTCCCGAAGGGAGAAAGGCGGACAGGTATCCGGTAAGCGGCAGGGT [...]
+S	2	TAGTGGGCCATCGCCCTGATAGACGGTTTTTCGCCCTTTGACGTTGGAGTCCACGTTCTTTAATAGTGGACTCTTGTTCCAAACTGGAACAACACTCAACCCTATCTCGGTCTATTCTTTTGATTTATAAGGGATTTTGCCGATTTCGGCCTATTGGTTAAAAAATGAGCTGATTTAACAAAAATTTAACGCGAATTTTAACAAAATATTAACGCTTACAATTTCCATTCGCCATTCAGGCTGCGCAACTGTTGGGAAGGGCGATCGGTGCGGGCCTCTTCGCTATTACGCCAGCTGGCGAAAGGGGGATGTGCTGCAAGGCGATTAAGTTGGGTAACGCCAGGGTTTTCCCAGTCACGACGTTGTAAAACGACGGCCAGTGAGCGCGCGTAATACGACTCACTATAGGGCGAATTGGAGCTCCACCGCGGTGGCGGCCGCTCTAGAACTAGTGGATCCCCCGGGCTGCAGGAATTCGGACTGTGTGT [...]
+S	3	TTGAGTACTCACCAGTCACAGAAAAGCATCTTACGGATGGCATGACAGTAAGAGAATTATGCAGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACAACGATCGGAGGACCGAAGGAGCTAACCGCTTTTTTGCACAACATGGGGGATCATGTAACTCGCCTTGATCGTTGGGAACCGGAGCTGAATGAAGCCATACCAAACGACGAGCGTGACACCACGATGCCTGTAGCAATGGCAACAACGTTGCGCAAACTATTAACTGGCGAACTACTTACTCTAGCTTCCCGGCAACAATTAATAGACTGGATGGAGGCGGATAAAGTTGCAGGACCACTTCTGCGCTCGGCCCTTCCGGCTGGCTGGTTTATTGCTGATAAATCTGGAGCCGGTGAGCGTGGGTCTCGCGGTATCATTGCAGCACTGGGGCCAGATGGTAAGCCCTCCCGTATCGTAGTTATCTACACAAAGGGG [...]
+S	4	TCAGCCCGACCGCTGCGCCTTATCCGGTAACTATCGTCTTGAGTCCAACCCGGTAAGACACGACTTATCGCCACTGGCAGCAGCCACTGGTAACAGGATTAGCAGAGCGAGGTATGTAGGCGGTGCTACAGAGTTCTTGAAGTGGTGGCCTAACTACGGCTACACTAGAAGGACAGTATTTGGTATCTGCGCTCTGCTGAAGCCAGTTACCTTCGGAAAAAGAGTTGGTAGCTCTTGATCCGGCAAACAAACCACCGCTGGTAGCGGTGGTTTTTTTGTTTGCAAGCAGCAGATTACGCGCAGAAAAAAAGGATCTCAAGAAGATCCTTTGATCTTTTCTACGGGGTCTGACGCTCAGTGGAACGAAAACTCACGTTAAGGGATTTTGGTCATGAGATTATCAAAAAGGATCTTCACCTAGATCCTTTTAAATTAAAAATGAAGTTTTAAATCAATCTAAAGTATATATGAGTAAACTTGGTCTGACA [...]
+S	5	TGAGTCCAACCCGGTAAGACACGACTTATCGCCACTGGCAGCAGCCACTGGTAACAGGATTAGCAGAGCGAGGTATGTAGGCGGTGCTACAGAGTTCTTGAAGTGGTGGCCTAACTACGGCTACACTAGAAGGACAGTATTTGGTATCTGCGCTCTGCTGAAGCCAGTTACCTTCGGAAAAAGAGTTGGTAGCTCTTGATCCGGCAAACAAACCACCGCTGGTAGCGGTGGTTTTTTTGTTTGCAAGCAGCAGATTACGCGCAGAAAAAAAGGATCTCAAGAAGATCCTTTGATCTTTTCTACGGGGTCTGACGCTCAGTGGAACGAAAACTCACGTTAAGGGATTTTGGTCATGAGATTATCAAAAAGGATCTTCACCTAGATCCTTTTAAATTAAAAATGAAGTTTTAAATCAATCTAAAGTATATATGAGTAAACTTGGTCTGACAGTTACCAATGCTTAATCAGTGAGGCACCTATCTCAGCGA [...]
+S	6	GAGCAAAAGGCCAGCAAAAGGCCAGGAACCGTAAAAAGGCCGCGTTGCTGGCGTTTTTCCATAGGCTCCGCCCCCCTGACGAGCATCACAAAAATCGACGCTCAAGTCAGAGGTGGCGAAACCCGACAGGACTATAAAGATACCAGGCGTTTCCCCCTGGAAGCTCCCTCGTGCGCTCTCCTGTTCCGACCCTGCCGCTTACCGGATACCTGTCCGCCTTTCTCCCTTCGGGAAGCGTGGCGCTTTCTCATAGCTCACGCTGTAGGTATCTCAGTTCGGTGTAGGTCGTTCGCTCCAAGCTGGGCTGTGTGCACGAACCCCCCGTTCAGCCCGACCGCTGCGCCTTATCCGGTAACTATCGTCTTGAGTCCAACCCGGTAAGACACGACTTATCGCCACTGGCAGCAGCCACTGGTAACAGGATTAGCAGAGCGAGGTATGTAGGCGGTGCTACAGAGTTCTTGAAGTGGTGGCCTAACTACGGCTAC [...]
+S	7	TGGAAAGCGGGCAGTGAGCGCAACGCAATTAATGTGAGTTAGCTCACTCATTAGGCACCCCAGGCTTTACACTTTATGCTTCCGGCTCGTATGTTGTGTGGAATTGTGAGCGGATAACAATTTCACACAGGAAACAGCTATGACCATGATTACGCCAAGCGCGCAATTAACCCTCACTAAAGGGAACAAAAGCTGGGTACCGGGCCCCCCCTCGAGGTCGACGGTATCGATAAGCTTGATATCGAATTCCGACCCTTAGTCAGATCTGACACACAGTCCGAATTCCTGCAGCCCGGGGGATCCACTAGTTCTAGAGCGGCCGCCACCGCGGTGGAGCTCCAATTCGCCCTATAGTGAGTCGTATTACGCGCGCTCACTGGCCGTCGTTTTACAACGTCGTGACTGGGAAAACCCTGGCGTTACCCAACTTAATCGCCTTGCAGCACATCCCCCTTTCGCCAGCTGGCGTAATAGCGAAGAGGCCCGCA [...]
+S	8	GGATCTAGGTGAAGATCCTTTTTGATAATCTCATGACCAAAATCCCTTAACGTGAGTTTTCGTTCCACTGAGCGTCAGACCCCGTAGAAAAGATCAAAGGATCTTCTTGAGATCCTTTTTTTCTGCGCGTAATCTGCTGCTTGCAAACAAAAAAACCACCGCTACCAGCGGTGGTTTGTTTGCCGGATCAAGAGCTACCAACTCTTTTTCCGAAGGTAACTGGCTTCAGCAGAGCGCAGATACCAAATACTGTCCTTCTAGTGTAGCCGTAGTTAGGCCACCACTTCAAGAACTCTGTAGCACCGCCTACATACCTCGCTCTGCTAATCCTGTTACCAGTGGCTGCTGCCAGTGGCGATAAGTCGTGTCTTACCGGGTTGGACTCAAGACGATAGTTACCGGATAAGGCGCAGCGGTCGGGCTGAACGGGGGGTTCGTGCACACAGCCCAGCTTGGAGCGAACGACCTACACCGAACTGAGATACCTA [...]
+S	9	GAGGAAGCGGAAGAGCGCCCAATACGCAAACCGCCTCTCCCCGCGCGTTGGCCGATTCATTAATGCAGCTGGCACGACAGGTTTCCCGACTGGAAAGCGGGCAGTGAGCGCAACGCAATTAATGTGAGTTAGCTCACTCATTAGGCACCCCAGGCTTTACACTTTATGCTTCCGGCTCGTATGTTGTGTGGAATTGTGAGCGGATAACAATTTCACACAGGAAACAGCTATGACCATGATTACGCCAAGCGCGCAATTAACCCTCACTAAAGGGAACAAAAGCTGGGTACCGGGCCCCCCCTCGAGGTCGACGGTATCGATAAGCTTGATATCGAATTCCGACCCTTAGTCAGATCTGACACACAGTCCGAATTCCTGCAGCCCGGGGGATCCACTAGTTCTAGAGCGGCCGCCACCGCGGTGGAGCTCCAATTCGCCCTATAGTGAGTCGTATTACGCGCGCTCACTGGCCGTCGTTTTACAACGTC [...]
+S	10	GAGGGAGCTTCCAGGGGGAAACGCCTGGTATCTTTATAGTCCTGTCGGGTTTCGCCACCTCTGACTTGAGCGTCGATTTTTGTGATGCTCGTCAGGGGGGCGGAGCCTATGGAAAAACGCCAGCAACGCGGCCTTTTTACGGTTCCTGGCCTTTTGCTGGCCTTTTGCTCACATGTTCTTTCCTGCGTTATCCCCTGATTCTGTGGATAACCGTATTACCGCCTTTGAGTGAGCTGATACCGCTCGCCGCAGCCGAACGACCGAGCGCAGCGAGTCAGTGAGCGAGGAAGCGGAAGAGCGCCCAATACGCAAACCGCCTCTCCCCGCGCGTTGGCCGATTCATTAATGCAGCTGGCACGACAGGTTTCCCGACTGGAAAGCGGGCAGTGAGCGCAACGCAATTAATGTGAGTTAGCTCACTCATTAGGCACCCCAGGCTTTACACTTTATGCTTCCGGCTCGTATGTTGTGTGGAATTGTGAGCGGA [...]
+S	11	AGATCAAAGGATCTTCTTGAGATCCTTTTTTTCTGCGCGTAATCTGCTGCTTGCAAACAAAAAAACCACCGCTACCAGCGGTGGTTTGTTTGCCGGATCAAGAGCTACCAACTCTTTTTCCGAAGGTAACTGGCTTCAGCAGAGCGCAGATACCAAATACTGTCCTTCTAGTGTAGCCGTAGTTAGGCCACCACTTCAAGAACTCTGTAGCACCGCCTACATACCTCGCTCTGCTAATCCTGTTACCAGTGGCTGCTGCCAGTGGCGATAAGTCGTGTCTTACCGGGTTGGACTCAAGACGATAGTTACCGGATAAGGCGCAGCGGTCGGGCTGAACGGGGGGTTCGTGCACACAGCCCAGCTTGGAGCGAACGACCTACACCGAACTGAGATACCTACAGCGTGAGCTATGAGAAAGCGCCACGCTTCCCGAAGGGAGAAAGGCGGACAGGTATCCGGTAAGCGGCAGGGTCGGAACAGGAGAGCG [...]
+S	12	GGCTTACCATCTGGCCCCAGTGCTGCAATGATACCGCGAGACCCACGCTCACCGGCTCCAGATTTATCAGCAATAAACCAGCCAGCCGGAAGGGCCGAGCGCAGAAGTGGTCCTGCAACTTTATCCGCCTCCATCCAGTCTATTAATTGTTGCCGGGAAGCTAGAGTAAGTAGTTCGCCAGTTAATAGTTTGCGCAACGTTGTTGCCATTGCTACAGGCATCGTGGTGTCACGCTCGTCGTTTGGTATGGCTTCATTCAGCTCCGGTTCCCAACGATCAAGGCGAGTTACATGATCCCCCATGTTGTGCAAAAAAGCGGTTAGCTCCTTCGGTCCTCCGATCGTTGTCAGAAGTAAGTTGGCCGCAGTGTTATCACTCATGGTTATGGCAGCACTGCATAATTCTCTTACTGTCATGCCATCCGTAAGATGCTTTTCTGTGACTGGTGAGTACTCAACCAAGTCATTCTGAGAATAGTGTATGCGGC [...]
+S	13	GGCGGACAGGTATCCGGTAAGCGGCAGGGTCGGAACAGGAGAGCGCACGAGGGAGCTTCCAGGGGGAAACGCCTGGTATCTTTATAGTCCTGTCGGGTTTCGCCACCTCTGACTTGAGCGTCGATTTTTGTGATGCTCGTCAGGGGGGCGGAGCCTATGGAAAAACGCCAGCAACGCGGCCTTTTTACGGTTCCTGGCCTTTTGCTGGCCTTTTGCTCACATGTTCTTTCCTGCGTTATCCCCTGATTCTGTGGATAACCGTATTACCGCCTTTGAGTGAGCTGATACCGCTCGCCGCAGCCGAACGACCGAGCGCAGCGAGTCAGTGAGCGAGGAAGCGGAAGAGCGCCCAATACGCAAACCGCCTCTCCCCGCGCGTTGGCCGATTCATTAATGCAGCTGGCACGACAGGTTTCCCGACTGGAAAGCGGGCAGTGAGCGCAACGCAATTAATGTGAGTTAGCTCACTCATTAGGCACCCCAGGCT [...]
+S	14	GGCAGCAGCCACTGGTAACAGGATTAGCAGAGCGAGGTATGTAGGCGGTGCTACAGAGTTCTTGAAGTGGTGGCCTAACTACGGCTACACTAGAAGGACAGTATTTGGTATCTGCGCTCTGCTGAAGCCAGTTACCTTCGGAAAAAGAGTTGGTAGCTCTTGATCCGGCAAACAAACCACCGCTGGTAGCGGTGGTTTTTTTGTTTGCAAGCAGCAGATTACGCGCAGAAAAAAAGGATCTCAAGAAGATCCTTTGATCTTTTCTACGGGGTCTGACGCTCAGTGGAACGAAAACTCACGTTAAGGGATTTTGGTCATGAGATTATCAAAAAGGATCTTCACCTAGATCCTTTTAAATTAAAAATGAAGTTTTAAATCAATCTAAAGTATATATGAGTAAACTTGGTCTGACAGTTACCAATGCTTAATCAGTGAGGCACCTATCTCAGCGATCTGTCTATTTCGTTCATCCATAGTTGCCTAAATC [...]
+S	15	CGCCCTTATTCCCTTTTTTGCGGCATTTTGCCTTCCTGTTTTTGCTCACCCAGAAACGCTGGTGAAAGTAAAAGATGCTGAAGATCAGTTGGGTGCACGAGTGGGTTACATCGAACTGGATCTCAACAGCGGTAAGATCCTTGAGAGTTTTCGCCCCGAAGAACGTTTTCCAATGATGAGCACTTTTAAAGTTCTGCTATGTGGCGCGGTATTATCCCGTATTGACGCCGGGCAAGAGCAACTCGGTCGCCGCATACACTATTCTCAGAATGACTTGGTTGAGTACTCACCAGTCACAGAAAAGCATCTTACGGATGGCATGACAGTAAGAGAATTATGCAGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACAACGATCGGAGGACCGAAGGAGCTAACCGCTTTTTTGCACAACATGGGGGATCATGTAACTCGCCTTGATCGTTGGGAACCGGAGCTGAATGAAGCC [...]
+S	16	ATACACTATTCTCAGAATGACTTGGTTGAGTACTCACCAGTCACAGAAAAGCATCTTACGGATGGCATGACAGTAAGAGAATTATGCAGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACAACGATCGGAGGACCGAAGGAGCTAACCGCTTTTTTGCACAACATGGGGGATCATGTAACTCGCCTTGATCGTTGGGAACCGGAGCTGAATGAAGCCATACCAAACGACGAGCGTGACACCACGATGCCTGTAGCAATGGCAACAACGTTGCGCAAACTATTAACTGGCGAACTACTTACTCTAGCTTCCCGGCAACAATTAATAGACTGGATGGAGGCGGATAAAGTTGCAGGACCACTTCTGCGCTCGGCCCTTCCGGCTGGCTGGTTTATTGCTGATAAATCTGGAGCCGGTGAGCGTGGGTCTCGCGGTATCATTGCAGCACTGGGGCCAGATGGTAAGCCCTCCC [...]
+S	17	ATTAATTGCGTTGCGCTCACTGCCCGCTTTCCAGTCGGGAAACCTGTCGTGCCAGCTGCATTAATGAATCGGCCAACGCGCGGGGAGAGGCGGTTTGCGTATTGGGCGCTCTTCCGCTTCCTCGCTCACTGACTCGCTGCGCTCGGTCGTTCGGCTGCGGCGAGCGGTATCAGCTCACTCAAAGGCGGTAATACGGTTATCCACAGAATCAGGGGATAACGCAGGAAAGAACATGTGAGCAAAAGGCCAGCAAAAGGCCAGGAACCGTAAAAAGGCCGCGTTGCTGGCGTTTTTCCATAGGCTCCGCCCCCCTGACGAGCATCACAAAAATCGACGCTCAAGTCAGAGGTGGCGAAACCCGACAGGACTATAAAGATACCAGGCGTTTCCCCCTGGAAGCTCCCTCGTGCGCTCTCCTGTTCCGACCCTGCCGCTTACCGGATACCTGTCCGCCTTTCTCCCTTCGGGAAGCGTGGCGCTTTCTCAT [...]
+S	18	TTTGCGGCATTTTGCCTTCCTGTTTTTGCTCACCCAGAAACGCTGGTGAAAGTAAAAGATGCTGAAGATCAGTTGGGTGCACGAGTGGGTTACATCGAACTGGATCTCAACAGCGGTAAGATCCTTGAGAGTTTTCGCCCCGAAGAACGTTTTCCAATGATGAGCACTTTTAAAGTTCTGCTATGTGGCGCGGTATTATCCCGTATTGACGCCGGGCAAGAGCAACTCGGTCGCCGCATACACTATTCTCAGAATGACTTGGTTGAGTACTCACCAGTCACAGAAAAGCATCTTACGGATGGCATGACAGTAAGAGAATTATGCAGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACAACGATCGGAGGACCGAAGGAGCTAACCGCTTTTTTGCACAACATGGGGGATCATGTAACTCGCCTTGATCGTTGGGAACCGGAGCTGAATGAAGCCATACCAAACGACGAGC [...]
+S	19	TGCTCACCCAGAAACGCTGGTGAAAGTAAAAGATGCTGAAGATCAGTTGGGTGCACGAGTGGGTTACATCGAACTGGATCTCAACAGCGGTAAGATCCTTGAGAGTTTTCGCCCCGAAGAACGTTTTCCAATGATGAGCACTTTTAAAGTTCTGCTATGTGGCGCGGTATTATCCCGTATTGACGCCGGGCAAGAGCAACTCGGTCGCCGCATACACTATTCTCAGAATGACTTGGTTGAGTACTCACCAGTCACAGAAAAGCATCTTACGGATGGCATGACAGTAAGAGAATTATGCAGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACAACGATCGGAGGACCGAAGGAGCTAACCGCTTTTTTGCACAACATGGGGGATCATGTAACTCGCCTTGATCGTTGGGAACCGGAGCTGAATGAAGCCATACCAAACGACGAGCGTGACACCACGATGCCTGTAGCAATG [...]
+S	20	ACGGGAGGGCTTACCATCTGGCCCCAGTGCTGCAATGATACCGCGAGACCCACGCTCACCGGCTCCAGATTTATCAGCAATAAACCAGCCAGCCGGAAGGGCCGAGCGCAGAAGTGGTCCTGCAACTTTATCCGCCTCCATCCAGTCTATTAATTGTTGCCGGGAAGCTAGAGTAAGTAGTTCGCCAGTTAATAGTTTGCGCAACGTTGTTGCCATTGCTACAGGCATCGTGGTGTCACGCTCGTCGTTTGGTATGGCTTCATTCAGCTCCGGTTCCCAACGATCAAGGCGAGTTACATGATCCCCCATGTTGTGCAAAAAAGCGGTTAGCTCCTTCGGTCCTCCGATCGTTGTCAGAAGTAAGTTGGCCGCAGTGTTATCACTCATGGTTATGGCAGCACTGCATAATTCTCTTACTGTCATGCCATCCGTAAGATGCTTTTCTGTGACTGGTGAGTACTCAACCAAGTCATTCTGAGAATAGTGT [...]
+S	21	ACGTTCTTTAATAGTGGACTCTTGTTCCAAACTGGAACAACACTCAACCCTATCTCGGTCTATTCTTTTGATTTATAAGGGATTTTGCCGATTTCGGCCTATTGGTTAAAAAATGAGCTGATTTAACAAAAATTTAACGCGAATTTTAACAAAATATTAACGCTTACAATTTCCATTCGCCATTCAGGCTGCGCAACTGTTGGGAAGGGCGATCGGTGCGGGCCTCTTCGCTATTACGCCAGCTGGCGAAAGGGGGATGTGCTGCAAGGCGATTAAGTTGGGTAACGCCAGGGTTTTCCCAGTCACGACGTTGTAAAACGACGGCCAGTGAGCGCGCGTAATACGACTCACTATAGGGCGAATTGGAGCTCCACCGCGGTGGCGGCCGCTCTAGAACTAGTGGATCCCCCGGGCTGCAGGAATTCGGACTGTGTGTCAGATCTGACTAAGGGTCGGAATTCGATATCAAGCTTATCGATACCGTCGA [...]
+S	22	TTCCTGTTTTTGCTCACCCAGAAACGCTGGTGAAAGTAAAAGATGCTGAAGATCAGTTGGGTGCACGAGTGGGTTACATCGAACTGGATCTCAACAGCGGTAAGATCCTTGAGAGTTTTCGCCCCGAAGAACGTTTTCCAATGATGAGCACTTTTAAAGTTCTGCTATGTGGCGCGGTATTATCCCGTATTGACGCCGGGCAAGAGCAACTCGGTCGCCGCATACACTATTCTCAGAATGACTTGGTTGAGTACTCACCAGTCACAGAAAAGCATCTTACGGATGGCATGACAGTAAGAGAATTATGCAGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACAACGATCGGAGGACCGAAGGAGCTAACCGCTTTTTTGCACAACATGGGGGATCATGTAACTCGCCTTGATCGTTGGGAACCGGAGCTGAATGAAGCCATACCAAACGACGAGCGTGACACCACGATGCC [...]
+S	23	ACTATAAAGATACCAGGCGTTTCCCCCTGGAAGCTCCCTCGTGCGCTCTCCTGTTCCGACCCTGCCGCTTACCGGATACCTGTCCGCCTTTCTCCCTTCGGGAAGCGTGGCGCTTTCTCATAGCTCACGCTGTAGGTATCTCAGTTCGGTGTAGGTCGTTCGCTCCAAGCTGGGCTGTGTGCACGAACCCCCCGTTCAGCCCGACCGCTGCGCCTTATCCGGTAACTATCGTCTTGAGTCCAACCCGGTAAGACACGACTTATCGCCACTGGCAGCAGCCACTGGTAACAGGATTAGCAGAGCGAGGTATGTAGGCGGTGCTACAGAGTTCTTGAAGTGGTGGCCTAACTACGGCTACACTAGAAGGACAGTATTTGGTATCTGCGCTCTGCTGAAGCCAGTTACCTTCGGAAAAAGAGTTGGTAGCTCTTGATCCGGCAAACAAACCACCGCTGGTAGCGGTGGTTTTTTTGTTTGCAAGCAGCAG [...]
+S	24	TTTAAAAGGATCTAGGTGAAGATCCTTTTTGATAATCTCATGACCAAAATCCCTTAACGTGAGTTTTCGTTCCACTGAGCGTCAGACCCCGTAGAAAAGATCAAAGGATCTTCTTGAGATCCTTTTTTTCTGCGCGTAATCTGCTGCTTGCAAACAAAAAAACCACCGCTACCAGCGGTGGTTTGTTTGCCGGATCAAGAGCTACCAACTCTTTTTCCGAAGGTAACTGGCTTCAGCAGAGCGCAGATACCAAATACTGTCCTTCTAGTGTAGCCGTAGTTAGGCCACCACTTCAAGAACTCTGTAGCACCGCCTACATACCTCGCTCTGCTAATCCTGTTACCAGTGGCTGCTGCCAGTGGCGATAAGTCGTGTCTTACCGGGTTGGACTCAAGACGATAGTTACCGGATAAGGCGCAGCGGTCGGGCTGAACGGGGGGTTCGTGCACACAGCCCAGCTTGGAGCGAACGACCTACACCGAACTGA [...]
+S	25	TGTGCACGAACCCCCCGTTCAGCCCGACCGCTGCGCCTTATCCGGTAACTATCGTCTTGAGTCCAACCCGGTAAGACACGACTTATCGCCACTGGCAGCAGCCACTGGTAACAGGATTAGCAGAGCGAGGTATGTAGGCGGTGCTACAGAGTTCTTGAAGTGGTGGCCTAACTACGGCTACACTAGAAGGACAGTATTTGGTATCTGCGCTCTGCTGAAGCCAGTTACCTTCGGAAAAAGAGTTGGTAGCTCTTGATCCGGCAAACAAACCACCGCTGGTAGCGGTGGTTTTTTTGTTTGCAAGCAGCAGATTACGCGCAGAAAAAAAGGATCTCAAGAAGATCCTTTGATCTTTTCTACGGGGTCTGACGCTCAGTGGAACGAAAACTCACGTTAAGGGATTTTGGTCATGAGATTATCAAAAAGGATCTTCACCTAGATCCTTTTAAATTAAAAATGAAGTTTTAAATCAATCTAAAGTATATAT [...]
+S	26	CATCGAACTGGATCTCAACAGCGGTAAGATCCTTGAGAGTTTTCGCCCCGAAGAACGTTTTCCAATGATGAGCACTTTTAAAGTTCTGCTATGTGGCGCGGTATTATCCCGTATTGACGCCGGGCAAGAGCAACTCGGTCGCCGCATACACTATTCTCAGAATGACTTGGTTGAGTACTCACCAGTCACAGAAAAGCATCTTACGGATGGCATGACAGTAAGAGAATTATGCAGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACAACGATCGGAGGACCGAAGGAGCTAACCGCTTTTTTGCACAACATGGGGGATCATGTAACTCGCCTTGATCGTTGGGAACCGGAGCTGAATGAAGCCATACCAAACGACGAGCGTGACACCACGATGCCTGTAGCAATGGCAACAACGTTGCGCAAACTATTAACTGGCGAACTACTTACTCTAGCTTCCCGGCAACAATTAATA [...]
+S	27	GCTCACTGCCCGCTTTCCAGTCGGGAAACCTGTCGTGCCAGCTGCATTAATGAATCGGCCAACGCGCGGGGAGAGGCGGTTTGCGTATTGGGCGCTCTTCCGCTTCCTCGCTCACTGACTCGCTGCGCTCGGTCGTTCGGCTGCGGCGAGCGGTATCAGCTCACTCAAAGGCGGTAATACGGTTATCCACAGAATCAGGGGATAACGCAGGAAAGAACATGTGAGCAAAAGGCCAGCAAAAGGCCAGGAACCGTAAAAAGGCCGCGTTGCTGGCGTTTTTCCATAGGCTCCGCCCCCCTGACGAGCATCACAAAAATCGACGCTCAAGTCAGAGGTGGCGAAACCCGACAGGACTATAAAGATACCAGGCGTTTCCCCCTGGAAGCTCCCTCGTGCGCTCTCCTGTTCCGACCCTGCCGCTTACCGGATACCTGTCCGCCTTTCTCCCTTCGGGAAGCGTGGCGCTTTCTCATAGCTCACGCTGTAG [...]
+S	28	AGTTACCGGATAAGGCGCAGCGGTCGGGCTGAACGGGGGGTTCGTGCACACAGCCCAGCTTGGAGCGAACGACCTACACCGAACTGAGATACCTACAGCGTGAGCTATGAGAAAGCGCCACGCTTCCCGAAGGGAGAAAGGCGGACAGGTATCCGGTAAGCGGCAGGGTCGGAACAGGAGAGCGCACGAGGGAGCTTCCAGGGGGAAACGCCTGGTATCTTTATAGTCCTGTCGGGTTTCGCCACCTCTGACTTGAGCGTCGATTTTTGTGATGCTCGTCAGGGGGGCGGAGCCTATGGAAAAACGCCAGCAACGCGGCCTTTTTACGGTTCCTGGCCTTTTGCTGGCCTTTTGCTCACATGTTCTTTCCTGCGTTATCCCCTGATTCTGTGGATAACCGTATTACCGCCTTTGAGTGAGCTGATACCGCTCGCCGCAGCCGAACGACCGAGCGCAGCGAGTCAGTGAGCGAGGAAGCGGAAGAGCG [...]
+L	14	+	20	+	290M
+L	6	+	23	+	670M
+L	1	+	11	+	784M
+L	26	+	16	+	655M
+L	28	-	17	+	593M
+L	19	+	26	+	734M
+L	20	-	15	+	742M
+L	24	-	6	+	757M
+L	13	+	0	+	760M
+L	21	-	9	+	794M
+L	0	+	10	+	792M
+L	2	+	9	-	754M
+L	17	+	27	+	786M
+L	24	+	8	+	793M
+L	5	+	14	+	764M
+L	28	+	13	+	661M
+L	20	+	12	+	793M
+L	11	+	27	-	718M
+L	10	+	21	-	523M
+L	7	-	2	+	756M
+L	8	+	1	+	726M
+L	25	+	4	+	782M
+L	4	+	5	+	761M
+L	22	+	19	+	790M
+L	23	+	25	+	623M
+L	3	+	6	-	226M
+L	18	+	22	+	784M
+L	16	+	3	+	775M
+L	15	+	18	+	784M
diff --git a/testdata/readjoiner/30x_800nt.gfa2 b/testdata/readjoiner/30x_800nt.gfa2
new file mode 100644
index 0000000..682d97c
--- /dev/null
+++ b/testdata/readjoiner/30x_800nt.gfa2
@@ -0,0 +1,64 @@
+H	VN:Z:2.0
+H	pn:Z:readjoiner
+H	ol:i:0
+H	in:Z:reads
+H	cn:i:0
+H	te:i:0
+S	0	800	GAGCGCACGAGGGAGCTTCCAGGGGGAAACGCCTGGTATCTTTATAGTCCTGTCGGGTTTCGCCACCTCTGACTTGAGCGTCGATTTTTGTGATGCTCGTCAGGGGGGCGGAGCCTATGGAAAAACGCCAGCAACGCGGCCTTTTTACGGTTCCTGGCCTTTTGCTGGCCTTTTGCTCACATGTTCTTTCCTGCGTTATCCCCTGATTCTGTGGATAACCGTATTACCGCCTTTGAGTGAGCTGATACCGCTCGCCGCAGCCGAACGACCGAGCGCAGCGAGTCAGTGAGCGAGGAAGCGGAAGAGCGCCCAATACGCAAACCGCCTCTCCCCGCGCGTTGGCCGATTCATTAATGCAGCTGGCACGACAGGTTTCCCGACTGGAAAGCGGGCAGTGAGCGCAACGCAATTAATGTGAGTTAGCTCACTCATTAGGCACCCCAGGCTTTACACTTTATGCTTCCGGCTCGTATGTTGTGTGGAA [...]
+S	1	800	TCAGACCCCGTAGAAAAGATCAAAGGATCTTCTTGAGATCCTTTTTTTCTGCGCGTAATCTGCTGCTTGCAAACAAAAAAACCACCGCTACCAGCGGTGGTTTGTTTGCCGGATCAAGAGCTACCAACTCTTTTTCCGAAGGTAACTGGCTTCAGCAGAGCGCAGATACCAAATACTGTCCTTCTAGTGTAGCCGTAGTTAGGCCACCACTTCAAGAACTCTGTAGCACCGCCTACATACCTCGCTCTGCTAATCCTGTTACCAGTGGCTGCTGCCAGTGGCGATAAGTCGTGTCTTACCGGGTTGGACTCAAGACGATAGTTACCGGATAAGGCGCAGCGGTCGGGCTGAACGGGGGGTTCGTGCACACAGCCCAGCTTGGAGCGAACGACCTACACCGAACTGAGATACCTACAGCGTGAGCTATGAGAAAGCGCCACGCTTCCCGAAGGGAGAAAGGCGGACAGGTATCCGGTAAGCGGCA [...]
+S	2	800	TAGTGGGCCATCGCCCTGATAGACGGTTTTTCGCCCTTTGACGTTGGAGTCCACGTTCTTTAATAGTGGACTCTTGTTCCAAACTGGAACAACACTCAACCCTATCTCGGTCTATTCTTTTGATTTATAAGGGATTTTGCCGATTTCGGCCTATTGGTTAAAAAATGAGCTGATTTAACAAAAATTTAACGCGAATTTTAACAAAATATTAACGCTTACAATTTCCATTCGCCATTCAGGCTGCGCAACTGTTGGGAAGGGCGATCGGTGCGGGCCTCTTCGCTATTACGCCAGCTGGCGAAAGGGGGATGTGCTGCAAGGCGATTAAGTTGGGTAACGCCAGGGTTTTCCCAGTCACGACGTTGTAAAACGACGGCCAGTGAGCGCGCGTAATACGACTCACTATAGGGCGAATTGGAGCTCCACCGCGGTGGCGGCCGCTCTAGAACTAGTGGATCCCCCGGGCTGCAGGAATTCGGACTGT [...]
+S	3	800	TTGAGTACTCACCAGTCACAGAAAAGCATCTTACGGATGGCATGACAGTAAGAGAATTATGCAGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACAACGATCGGAGGACCGAAGGAGCTAACCGCTTTTTTGCACAACATGGGGGATCATGTAACTCGCCTTGATCGTTGGGAACCGGAGCTGAATGAAGCCATACCAAACGACGAGCGTGACACCACGATGCCTGTAGCAATGGCAACAACGTTGCGCAAACTATTAACTGGCGAACTACTTACTCTAGCTTCCCGGCAACAATTAATAGACTGGATGGAGGCGGATAAAGTTGCAGGACCACTTCTGCGCTCGGCCCTTCCGGCTGGCTGGTTTATTGCTGATAAATCTGGAGCCGGTGAGCGTGGGTCTCGCGGTATCATTGCAGCACTGGGGCCAGATGGTAAGCCCTCCCGTATCGTAGTTATCTACACAAA [...]
+S	4	800	TCAGCCCGACCGCTGCGCCTTATCCGGTAACTATCGTCTTGAGTCCAACCCGGTAAGACACGACTTATCGCCACTGGCAGCAGCCACTGGTAACAGGATTAGCAGAGCGAGGTATGTAGGCGGTGCTACAGAGTTCTTGAAGTGGTGGCCTAACTACGGCTACACTAGAAGGACAGTATTTGGTATCTGCGCTCTGCTGAAGCCAGTTACCTTCGGAAAAAGAGTTGGTAGCTCTTGATCCGGCAAACAAACCACCGCTGGTAGCGGTGGTTTTTTTGTTTGCAAGCAGCAGATTACGCGCAGAAAAAAAGGATCTCAAGAAGATCCTTTGATCTTTTCTACGGGGTCTGACGCTCAGTGGAACGAAAACTCACGTTAAGGGATTTTGGTCATGAGATTATCAAAAAGGATCTTCACCTAGATCCTTTTAAATTAAAAATGAAGTTTTAAATCAATCTAAAGTATATATGAGTAAACTTGGTCT [...]
+S	5	800	TGAGTCCAACCCGGTAAGACACGACTTATCGCCACTGGCAGCAGCCACTGGTAACAGGATTAGCAGAGCGAGGTATGTAGGCGGTGCTACAGAGTTCTTGAAGTGGTGGCCTAACTACGGCTACACTAGAAGGACAGTATTTGGTATCTGCGCTCTGCTGAAGCCAGTTACCTTCGGAAAAAGAGTTGGTAGCTCTTGATCCGGCAAACAAACCACCGCTGGTAGCGGTGGTTTTTTTGTTTGCAAGCAGCAGATTACGCGCAGAAAAAAAGGATCTCAAGAAGATCCTTTGATCTTTTCTACGGGGTCTGACGCTCAGTGGAACGAAAACTCACGTTAAGGGATTTTGGTCATGAGATTATCAAAAAGGATCTTCACCTAGATCCTTTTAAATTAAAAATGAAGTTTTAAATCAATCTAAAGTATATATGAGTAAACTTGGTCTGACAGTTACCAATGCTTAATCAGTGAGGCACCTATCTCA [...]
+S	6	800	GAGCAAAAGGCCAGCAAAAGGCCAGGAACCGTAAAAAGGCCGCGTTGCTGGCGTTTTTCCATAGGCTCCGCCCCCCTGACGAGCATCACAAAAATCGACGCTCAAGTCAGAGGTGGCGAAACCCGACAGGACTATAAAGATACCAGGCGTTTCCCCCTGGAAGCTCCCTCGTGCGCTCTCCTGTTCCGACCCTGCCGCTTACCGGATACCTGTCCGCCTTTCTCCCTTCGGGAAGCGTGGCGCTTTCTCATAGCTCACGCTGTAGGTATCTCAGTTCGGTGTAGGTCGTTCGCTCCAAGCTGGGCTGTGTGCACGAACCCCCCGTTCAGCCCGACCGCTGCGCCTTATCCGGTAACTATCGTCTTGAGTCCAACCCGGTAAGACACGACTTATCGCCACTGGCAGCAGCCACTGGTAACAGGATTAGCAGAGCGAGGTATGTAGGCGGTGCTACAGAGTTCTTGAAGTGGTGGCCTAACTACGG [...]
+S	7	800	TGGAAAGCGGGCAGTGAGCGCAACGCAATTAATGTGAGTTAGCTCACTCATTAGGCACCCCAGGCTTTACACTTTATGCTTCCGGCTCGTATGTTGTGTGGAATTGTGAGCGGATAACAATTTCACACAGGAAACAGCTATGACCATGATTACGCCAAGCGCGCAATTAACCCTCACTAAAGGGAACAAAAGCTGGGTACCGGGCCCCCCCTCGAGGTCGACGGTATCGATAAGCTTGATATCGAATTCCGACCCTTAGTCAGATCTGACACACAGTCCGAATTCCTGCAGCCCGGGGGATCCACTAGTTCTAGAGCGGCCGCCACCGCGGTGGAGCTCCAATTCGCCCTATAGTGAGTCGTATTACGCGCGCTCACTGGCCGTCGTTTTACAACGTCGTGACTGGGAAAACCCTGGCGTTACCCAACTTAATCGCCTTGCAGCACATCCCCCTTTCGCCAGCTGGCGTAATAGCGAAGAGGCC [...]
+S	8	800	GGATCTAGGTGAAGATCCTTTTTGATAATCTCATGACCAAAATCCCTTAACGTGAGTTTTCGTTCCACTGAGCGTCAGACCCCGTAGAAAAGATCAAAGGATCTTCTTGAGATCCTTTTTTTCTGCGCGTAATCTGCTGCTTGCAAACAAAAAAACCACCGCTACCAGCGGTGGTTTGTTTGCCGGATCAAGAGCTACCAACTCTTTTTCCGAAGGTAACTGGCTTCAGCAGAGCGCAGATACCAAATACTGTCCTTCTAGTGTAGCCGTAGTTAGGCCACCACTTCAAGAACTCTGTAGCACCGCCTACATACCTCGCTCTGCTAATCCTGTTACCAGTGGCTGCTGCCAGTGGCGATAAGTCGTGTCTTACCGGGTTGGACTCAAGACGATAGTTACCGGATAAGGCGCAGCGGTCGGGCTGAACGGGGGGTTCGTGCACACAGCCCAGCTTGGAGCGAACGACCTACACCGAACTGAGATA [...]
+S	9	800	GAGGAAGCGGAAGAGCGCCCAATACGCAAACCGCCTCTCCCCGCGCGTTGGCCGATTCATTAATGCAGCTGGCACGACAGGTTTCCCGACTGGAAAGCGGGCAGTGAGCGCAACGCAATTAATGTGAGTTAGCTCACTCATTAGGCACCCCAGGCTTTACACTTTATGCTTCCGGCTCGTATGTTGTGTGGAATTGTGAGCGGATAACAATTTCACACAGGAAACAGCTATGACCATGATTACGCCAAGCGCGCAATTAACCCTCACTAAAGGGAACAAAAGCTGGGTACCGGGCCCCCCCTCGAGGTCGACGGTATCGATAAGCTTGATATCGAATTCCGACCCTTAGTCAGATCTGACACACAGTCCGAATTCCTGCAGCCCGGGGGATCCACTAGTTCTAGAGCGGCCGCCACCGCGGTGGAGCTCCAATTCGCCCTATAGTGAGTCGTATTACGCGCGCTCACTGGCCGTCGTTTTACAA [...]
+S	10	800	GAGGGAGCTTCCAGGGGGAAACGCCTGGTATCTTTATAGTCCTGTCGGGTTTCGCCACCTCTGACTTGAGCGTCGATTTTTGTGATGCTCGTCAGGGGGGCGGAGCCTATGGAAAAACGCCAGCAACGCGGCCTTTTTACGGTTCCTGGCCTTTTGCTGGCCTTTTGCTCACATGTTCTTTCCTGCGTTATCCCCTGATTCTGTGGATAACCGTATTACCGCCTTTGAGTGAGCTGATACCGCTCGCCGCAGCCGAACGACCGAGCGCAGCGAGTCAGTGAGCGAGGAAGCGGAAGAGCGCCCAATACGCAAACCGCCTCTCCCCGCGCGTTGGCCGATTCATTAATGCAGCTGGCACGACAGGTTTCCCGACTGGAAAGCGGGCAGTGAGCGCAACGCAATTAATGTGAGTTAGCTCACTCATTAGGCACCCCAGGCTTTACACTTTATGCTTCCGGCTCGTATGTTGTGTGGAATTGTGAG [...]
+S	11	800	AGATCAAAGGATCTTCTTGAGATCCTTTTTTTCTGCGCGTAATCTGCTGCTTGCAAACAAAAAAACCACCGCTACCAGCGGTGGTTTGTTTGCCGGATCAAGAGCTACCAACTCTTTTTCCGAAGGTAACTGGCTTCAGCAGAGCGCAGATACCAAATACTGTCCTTCTAGTGTAGCCGTAGTTAGGCCACCACTTCAAGAACTCTGTAGCACCGCCTACATACCTCGCTCTGCTAATCCTGTTACCAGTGGCTGCTGCCAGTGGCGATAAGTCGTGTCTTACCGGGTTGGACTCAAGACGATAGTTACCGGATAAGGCGCAGCGGTCGGGCTGAACGGGGGGTTCGTGCACACAGCCCAGCTTGGAGCGAACGACCTACACCGAACTGAGATACCTACAGCGTGAGCTATGAGAAAGCGCCACGCTTCCCGAAGGGAGAAAGGCGGACAGGTATCCGGTAAGCGGCAGGGTCGGAACAGGAG [...]
+S	12	800	GGCTTACCATCTGGCCCCAGTGCTGCAATGATACCGCGAGACCCACGCTCACCGGCTCCAGATTTATCAGCAATAAACCAGCCAGCCGGAAGGGCCGAGCGCAGAAGTGGTCCTGCAACTTTATCCGCCTCCATCCAGTCTATTAATTGTTGCCGGGAAGCTAGAGTAAGTAGTTCGCCAGTTAATAGTTTGCGCAACGTTGTTGCCATTGCTACAGGCATCGTGGTGTCACGCTCGTCGTTTGGTATGGCTTCATTCAGCTCCGGTTCCCAACGATCAAGGCGAGTTACATGATCCCCCATGTTGTGCAAAAAAGCGGTTAGCTCCTTCGGTCCTCCGATCGTTGTCAGAAGTAAGTTGGCCGCAGTGTTATCACTCATGGTTATGGCAGCACTGCATAATTCTCTTACTGTCATGCCATCCGTAAGATGCTTTTCTGTGACTGGTGAGTACTCAACCAAGTCATTCTGAGAATAGTGTATG [...]
+S	13	800	GGCGGACAGGTATCCGGTAAGCGGCAGGGTCGGAACAGGAGAGCGCACGAGGGAGCTTCCAGGGGGAAACGCCTGGTATCTTTATAGTCCTGTCGGGTTTCGCCACCTCTGACTTGAGCGTCGATTTTTGTGATGCTCGTCAGGGGGGCGGAGCCTATGGAAAAACGCCAGCAACGCGGCCTTTTTACGGTTCCTGGCCTTTTGCTGGCCTTTTGCTCACATGTTCTTTCCTGCGTTATCCCCTGATTCTGTGGATAACCGTATTACCGCCTTTGAGTGAGCTGATACCGCTCGCCGCAGCCGAACGACCGAGCGCAGCGAGTCAGTGAGCGAGGAAGCGGAAGAGCGCCCAATACGCAAACCGCCTCTCCCCGCGCGTTGGCCGATTCATTAATGCAGCTGGCACGACAGGTTTCCCGACTGGAAAGCGGGCAGTGAGCGCAACGCAATTAATGTGAGTTAGCTCACTCATTAGGCACCCCA [...]
+S	14	800	GGCAGCAGCCACTGGTAACAGGATTAGCAGAGCGAGGTATGTAGGCGGTGCTACAGAGTTCTTGAAGTGGTGGCCTAACTACGGCTACACTAGAAGGACAGTATTTGGTATCTGCGCTCTGCTGAAGCCAGTTACCTTCGGAAAAAGAGTTGGTAGCTCTTGATCCGGCAAACAAACCACCGCTGGTAGCGGTGGTTTTTTTGTTTGCAAGCAGCAGATTACGCGCAGAAAAAAAGGATCTCAAGAAGATCCTTTGATCTTTTCTACGGGGTCTGACGCTCAGTGGAACGAAAACTCACGTTAAGGGATTTTGGTCATGAGATTATCAAAAAGGATCTTCACCTAGATCCTTTTAAATTAAAAATGAAGTTTTAAATCAATCTAAAGTATATATGAGTAAACTTGGTCTGACAGTTACCAATGCTTAATCAGTGAGGCACCTATCTCAGCGATCTGTCTATTTCGTTCATCCATAGTTGCCTA [...]
+S	15	800	CGCCCTTATTCCCTTTTTTGCGGCATTTTGCCTTCCTGTTTTTGCTCACCCAGAAACGCTGGTGAAAGTAAAAGATGCTGAAGATCAGTTGGGTGCACGAGTGGGTTACATCGAACTGGATCTCAACAGCGGTAAGATCCTTGAGAGTTTTCGCCCCGAAGAACGTTTTCCAATGATGAGCACTTTTAAAGTTCTGCTATGTGGCGCGGTATTATCCCGTATTGACGCCGGGCAAGAGCAACTCGGTCGCCGCATACACTATTCTCAGAATGACTTGGTTGAGTACTCACCAGTCACAGAAAAGCATCTTACGGATGGCATGACAGTAAGAGAATTATGCAGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACAACGATCGGAGGACCGAAGGAGCTAACCGCTTTTTTGCACAACATGGGGGATCATGTAACTCGCCTTGATCGTTGGGAACCGGAGCTGAATGA [...]
+S	16	800	ATACACTATTCTCAGAATGACTTGGTTGAGTACTCACCAGTCACAGAAAAGCATCTTACGGATGGCATGACAGTAAGAGAATTATGCAGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACAACGATCGGAGGACCGAAGGAGCTAACCGCTTTTTTGCACAACATGGGGGATCATGTAACTCGCCTTGATCGTTGGGAACCGGAGCTGAATGAAGCCATACCAAACGACGAGCGTGACACCACGATGCCTGTAGCAATGGCAACAACGTTGCGCAAACTATTAACTGGCGAACTACTTACTCTAGCTTCCCGGCAACAATTAATAGACTGGATGGAGGCGGATAAAGTTGCAGGACCACTTCTGCGCTCGGCCCTTCCGGCTGGCTGGTTTATTGCTGATAAATCTGGAGCCGGTGAGCGTGGGTCTCGCGGTATCATTGCAGCACTGGGGCCAGATGGTAAGCCC [...]
+S	17	800	ATTAATTGCGTTGCGCTCACTGCCCGCTTTCCAGTCGGGAAACCTGTCGTGCCAGCTGCATTAATGAATCGGCCAACGCGCGGGGAGAGGCGGTTTGCGTATTGGGCGCTCTTCCGCTTCCTCGCTCACTGACTCGCTGCGCTCGGTCGTTCGGCTGCGGCGAGCGGTATCAGCTCACTCAAAGGCGGTAATACGGTTATCCACAGAATCAGGGGATAACGCAGGAAAGAACATGTGAGCAAAAGGCCAGCAAAAGGCCAGGAACCGTAAAAAGGCCGCGTTGCTGGCGTTTTTCCATAGGCTCCGCCCCCCTGACGAGCATCACAAAAATCGACGCTCAAGTCAGAGGTGGCGAAACCCGACAGGACTATAAAGATACCAGGCGTTTCCCCCTGGAAGCTCCCTCGTGCGCTCTCCTGTTCCGACCCTGCCGCTTACCGGATACCTGTCCGCCTTTCTCCCTTCGGGAAGCGTGGCGCTTTC [...]
+S	18	800	TTTGCGGCATTTTGCCTTCCTGTTTTTGCTCACCCAGAAACGCTGGTGAAAGTAAAAGATGCTGAAGATCAGTTGGGTGCACGAGTGGGTTACATCGAACTGGATCTCAACAGCGGTAAGATCCTTGAGAGTTTTCGCCCCGAAGAACGTTTTCCAATGATGAGCACTTTTAAAGTTCTGCTATGTGGCGCGGTATTATCCCGTATTGACGCCGGGCAAGAGCAACTCGGTCGCCGCATACACTATTCTCAGAATGACTTGGTTGAGTACTCACCAGTCACAGAAAAGCATCTTACGGATGGCATGACAGTAAGAGAATTATGCAGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACAACGATCGGAGGACCGAAGGAGCTAACCGCTTTTTTGCACAACATGGGGGATCATGTAACTCGCCTTGATCGTTGGGAACCGGAGCTGAATGAAGCCATACCAAACGAC [...]
+S	19	800	TGCTCACCCAGAAACGCTGGTGAAAGTAAAAGATGCTGAAGATCAGTTGGGTGCACGAGTGGGTTACATCGAACTGGATCTCAACAGCGGTAAGATCCTTGAGAGTTTTCGCCCCGAAGAACGTTTTCCAATGATGAGCACTTTTAAAGTTCTGCTATGTGGCGCGGTATTATCCCGTATTGACGCCGGGCAAGAGCAACTCGGTCGCCGCATACACTATTCTCAGAATGACTTGGTTGAGTACTCACCAGTCACAGAAAAGCATCTTACGGATGGCATGACAGTAAGAGAATTATGCAGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACAACGATCGGAGGACCGAAGGAGCTAACCGCTTTTTTGCACAACATGGGGGATCATGTAACTCGCCTTGATCGTTGGGAACCGGAGCTGAATGAAGCCATACCAAACGACGAGCGTGACACCACGATGCCTGTAGC [...]
+S	20	800	ACGGGAGGGCTTACCATCTGGCCCCAGTGCTGCAATGATACCGCGAGACCCACGCTCACCGGCTCCAGATTTATCAGCAATAAACCAGCCAGCCGGAAGGGCCGAGCGCAGAAGTGGTCCTGCAACTTTATCCGCCTCCATCCAGTCTATTAATTGTTGCCGGGAAGCTAGAGTAAGTAGTTCGCCAGTTAATAGTTTGCGCAACGTTGTTGCCATTGCTACAGGCATCGTGGTGTCACGCTCGTCGTTTGGTATGGCTTCATTCAGCTCCGGTTCCCAACGATCAAGGCGAGTTACATGATCCCCCATGTTGTGCAAAAAAGCGGTTAGCTCCTTCGGTCCTCCGATCGTTGTCAGAAGTAAGTTGGCCGCAGTGTTATCACTCATGGTTATGGCAGCACTGCATAATTCTCTTACTGTCATGCCATCCGTAAGATGCTTTTCTGTGACTGGTGAGTACTCAACCAAGTCATTCTGAGAATA [...]
+S	21	800	ACGTTCTTTAATAGTGGACTCTTGTTCCAAACTGGAACAACACTCAACCCTATCTCGGTCTATTCTTTTGATTTATAAGGGATTTTGCCGATTTCGGCCTATTGGTTAAAAAATGAGCTGATTTAACAAAAATTTAACGCGAATTTTAACAAAATATTAACGCTTACAATTTCCATTCGCCATTCAGGCTGCGCAACTGTTGGGAAGGGCGATCGGTGCGGGCCTCTTCGCTATTACGCCAGCTGGCGAAAGGGGGATGTGCTGCAAGGCGATTAAGTTGGGTAACGCCAGGGTTTTCCCAGTCACGACGTTGTAAAACGACGGCCAGTGAGCGCGCGTAATACGACTCACTATAGGGCGAATTGGAGCTCCACCGCGGTGGCGGCCGCTCTAGAACTAGTGGATCCCCCGGGCTGCAGGAATTCGGACTGTGTGTCAGATCTGACTAAGGGTCGGAATTCGATATCAAGCTTATCGATACCG [...]
+S	22	800	TTCCTGTTTTTGCTCACCCAGAAACGCTGGTGAAAGTAAAAGATGCTGAAGATCAGTTGGGTGCACGAGTGGGTTACATCGAACTGGATCTCAACAGCGGTAAGATCCTTGAGAGTTTTCGCCCCGAAGAACGTTTTCCAATGATGAGCACTTTTAAAGTTCTGCTATGTGGCGCGGTATTATCCCGTATTGACGCCGGGCAAGAGCAACTCGGTCGCCGCATACACTATTCTCAGAATGACTTGGTTGAGTACTCACCAGTCACAGAAAAGCATCTTACGGATGGCATGACAGTAAGAGAATTATGCAGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACAACGATCGGAGGACCGAAGGAGCTAACCGCTTTTTTGCACAACATGGGGGATCATGTAACTCGCCTTGATCGTTGGGAACCGGAGCTGAATGAAGCCATACCAAACGACGAGCGTGACACCACGA [...]
+S	23	800	ACTATAAAGATACCAGGCGTTTCCCCCTGGAAGCTCCCTCGTGCGCTCTCCTGTTCCGACCCTGCCGCTTACCGGATACCTGTCCGCCTTTCTCCCTTCGGGAAGCGTGGCGCTTTCTCATAGCTCACGCTGTAGGTATCTCAGTTCGGTGTAGGTCGTTCGCTCCAAGCTGGGCTGTGTGCACGAACCCCCCGTTCAGCCCGACCGCTGCGCCTTATCCGGTAACTATCGTCTTGAGTCCAACCCGGTAAGACACGACTTATCGCCACTGGCAGCAGCCACTGGTAACAGGATTAGCAGAGCGAGGTATGTAGGCGGTGCTACAGAGTTCTTGAAGTGGTGGCCTAACTACGGCTACACTAGAAGGACAGTATTTGGTATCTGCGCTCTGCTGAAGCCAGTTACCTTCGGAAAAAGAGTTGGTAGCTCTTGATCCGGCAAACAAACCACCGCTGGTAGCGGTGGTTTTTTTGTTTGCAAGCA [...]
+S	24	800	TTTAAAAGGATCTAGGTGAAGATCCTTTTTGATAATCTCATGACCAAAATCCCTTAACGTGAGTTTTCGTTCCACTGAGCGTCAGACCCCGTAGAAAAGATCAAAGGATCTTCTTGAGATCCTTTTTTTCTGCGCGTAATCTGCTGCTTGCAAACAAAAAAACCACCGCTACCAGCGGTGGTTTGTTTGCCGGATCAAGAGCTACCAACTCTTTTTCCGAAGGTAACTGGCTTCAGCAGAGCGCAGATACCAAATACTGTCCTTCTAGTGTAGCCGTAGTTAGGCCACCACTTCAAGAACTCTGTAGCACCGCCTACATACCTCGCTCTGCTAATCCTGTTACCAGTGGCTGCTGCCAGTGGCGATAAGTCGTGTCTTACCGGGTTGGACTCAAGACGATAGTTACCGGATAAGGCGCAGCGGTCGGGCTGAACGGGGGGTTCGTGCACACAGCCCAGCTTGGAGCGAACGACCTACACCGAA [...]
+S	25	800	TGTGCACGAACCCCCCGTTCAGCCCGACCGCTGCGCCTTATCCGGTAACTATCGTCTTGAGTCCAACCCGGTAAGACACGACTTATCGCCACTGGCAGCAGCCACTGGTAACAGGATTAGCAGAGCGAGGTATGTAGGCGGTGCTACAGAGTTCTTGAAGTGGTGGCCTAACTACGGCTACACTAGAAGGACAGTATTTGGTATCTGCGCTCTGCTGAAGCCAGTTACCTTCGGAAAAAGAGTTGGTAGCTCTTGATCCGGCAAACAAACCACCGCTGGTAGCGGTGGTTTTTTTGTTTGCAAGCAGCAGATTACGCGCAGAAAAAAAGGATCTCAAGAAGATCCTTTGATCTTTTCTACGGGGTCTGACGCTCAGTGGAACGAAAACTCACGTTAAGGGATTTTGGTCATGAGATTATCAAAAAGGATCTTCACCTAGATCCTTTTAAATTAAAAATGAAGTTTTAAATCAATCTAAAGTAT [...]
+S	26	800	CATCGAACTGGATCTCAACAGCGGTAAGATCCTTGAGAGTTTTCGCCCCGAAGAACGTTTTCCAATGATGAGCACTTTTAAAGTTCTGCTATGTGGCGCGGTATTATCCCGTATTGACGCCGGGCAAGAGCAACTCGGTCGCCGCATACACTATTCTCAGAATGACTTGGTTGAGTACTCACCAGTCACAGAAAAGCATCTTACGGATGGCATGACAGTAAGAGAATTATGCAGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACAACGATCGGAGGACCGAAGGAGCTAACCGCTTTTTTGCACAACATGGGGGATCATGTAACTCGCCTTGATCGTTGGGAACCGGAGCTGAATGAAGCCATACCAAACGACGAGCGTGACACCACGATGCCTGTAGCAATGGCAACAACGTTGCGCAAACTATTAACTGGCGAACTACTTACTCTAGCTTCCCGGCAACAATT [...]
+S	27	800	GCTCACTGCCCGCTTTCCAGTCGGGAAACCTGTCGTGCCAGCTGCATTAATGAATCGGCCAACGCGCGGGGAGAGGCGGTTTGCGTATTGGGCGCTCTTCCGCTTCCTCGCTCACTGACTCGCTGCGCTCGGTCGTTCGGCTGCGGCGAGCGGTATCAGCTCACTCAAAGGCGGTAATACGGTTATCCACAGAATCAGGGGATAACGCAGGAAAGAACATGTGAGCAAAAGGCCAGCAAAAGGCCAGGAACCGTAAAAAGGCCGCGTTGCTGGCGTTTTTCCATAGGCTCCGCCCCCCTGACGAGCATCACAAAAATCGACGCTCAAGTCAGAGGTGGCGAAACCCGACAGGACTATAAAGATACCAGGCGTTTCCCCCTGGAAGCTCCCTCGTGCGCTCTCCTGTTCCGACCCTGCCGCTTACCGGATACCTGTCCGCCTTTCTCCCTTCGGGAAGCGTGGCGCTTTCTCATAGCTCACGCT [...]
+S	28	800	AGTTACCGGATAAGGCGCAGCGGTCGGGCTGAACGGGGGGTTCGTGCACACAGCCCAGCTTGGAGCGAACGACCTACACCGAACTGAGATACCTACAGCGTGAGCTATGAGAAAGCGCCACGCTTCCCGAAGGGAGAAAGGCGGACAGGTATCCGGTAAGCGGCAGGGTCGGAACAGGAGAGCGCACGAGGGAGCTTCCAGGGGGAAACGCCTGGTATCTTTATAGTCCTGTCGGGTTTCGCCACCTCTGACTTGAGCGTCGATTTTTGTGATGCTCGTCAGGGGGGCGGAGCCTATGGAAAAACGCCAGCAACGCGGCCTTTTTACGGTTCCTGGCCTTTTGCTGGCCTTTTGCTCACATGTTCTTTCCTGCGTTATCCCCTGATTCTGTGGATAACCGTATTACCGCCTTTGAGTGAGCTGATACCGCTCGCCGCAGCCGAACGACCGAGCGCAGCGAGTCAGTGAGCGAGGAAGCGGAAG [...]
+E	*	14+	20+	510	800$	0	290	290M
+E	*	6+	23+	130	800$	0	670	670M
+E	*	1+	11+	16	800$	0	784	784M
+E	*	26+	16+	145	800$	0	655	655M
+E	*	28-	17+	0	593	0	593	593M
+E	*	19+	26+	66	800$	0	734	734M
+E	*	20-	15+	0	742	0	742	742M
+E	*	24-	6+	0	757	0	757	757M
+E	*	13+	0+	40	800$	0	760	760M
+E	*	21-	9+	0	794	0	794	794M
+E	*	0+	10+	8	800$	0	792	792M
+E	*	2+	9-	46	800$	46	800$	754M
+E	*	17+	27+	14	800$	0	786	786M
+E	*	24+	8+	7	800$	0	793	793M
+E	*	5+	14+	36	800$	0	764	764M
+E	*	28+	13+	139	800$	0	661	661M
+E	*	20+	12+	7	800$	0	793	793M
+E	*	11+	27-	82	800$	82	800$	718M
+E	*	10+	21-	277	800$	277	800$	523M
+E	*	7-	2+	0	756	0	756	756M
+E	*	8+	1+	74	800$	0	726	726M
+E	*	25+	4+	18	800$	0	782	782M
+E	*	4+	5+	39	800$	0	761	761M
+E	*	22+	19+	10	800$	0	790	790M
+E	*	23+	25+	177	800$	0	623	623M
+E	*	3+	6-	574	800$	574	800$	226M
+E	*	18+	22+	16	800$	0	784	784M
+E	*	16+	3+	25	800$	0	775	775M
+E	*	15+	18+	16	800$	0	784	784M
diff --git a/testdata/readjoiner/30x_long_varlen.gfa1 b/testdata/readjoiner/30x_long_varlen.gfa1
new file mode 100644
index 0000000..3b70ef2
--- /dev/null
+++ b/testdata/readjoiner/30x_long_varlen.gfa1
@@ -0,0 +1,73 @@
+H	VN:Z:1.0
+H	pn:Z:readjoiner
+H	ol:i:0
+H	in:Z:reads
+H	cn:i:0
+H	te:i:0
+S	0	AGCGCACGAGGGAGCTTCCAGGGGGAAACGCCTGGTATCTTTATAGTCCTGTCGGGTTTCGCCACCTCTGACTTGAGCGTCGATTTTTGTGATGCTCGTCAGGGGGGCGGAGCCTATGGAAAAACGCCAGCAACGCGGCCTTTTTACGGTTCCTGGCCTTTTGCTGGCCTTTTGCTCACATGTTCTTTCCTGCGTTATCCCCTGATTCTGTGGATAACCGTATTACCGCCTTTGAGTGAGCTGATACCGCTCGCCGCAGCCGAACGACCGAGCGCAGCGAGTCAGTGAGCGAGGAAGCGGAAGAGCGCCCAATACGCAAACCGCCTCTCCCCGCGCGTTGGCCGATTCATTAATGCAGCTGGCACGACAGGTTTCCCGACTGGAAAGCGGGCAGTGAGCGCAACGCAATTAATGTGAGTTAGCTCACTCATTAGGCACCCCAGGCTTTACACTTTATGCTTCCGGCTCGTATGTTGTGTGGAATTGTG [...]
+S	1	TCAGACCCCGTAGAAAGATCAAAGGATCTTCTTGAGATCCTTTTTTTCTGCGCGTAATCTGCTGCTTGCAAACAAAAAAACCACCGCTACCAGCGGTGGTTTGTTTGCCGGATCAAGAGCTACCAACTCTTTTTCCGAAGGTAACTGGCTTCAGCAGAGCGCAGATACCAAATACTGTCCTTCTAGTGTAGCCGTAGTTAGGCCACCACTTCAAGAACTCTGTAGCACCGCCTACATACCTCGCTCTGCTAATCCTGTTACCAGTGGCTGCTGCCAGTGGCGATAAGTCGTGTCTTACCGGGTTGGACTCAAGACGATAGTTACCGGATAAGGCGCAGCGGTCGGGCTGAACGGGGGGTTCGTGCACACAGCCCAGCTTGGAGCGAACGACCTACACCGAACTGAGATACCTACAGCGTGAGCTATGAGAAAGCGCCACGCTTCCCGAAGGGAGAAAGGCGGACAGGTATCCGGTAAGCGGCAGGGTC [...]
+S	2	TAGTGGGCCATCGCATAGACGGTTTTTCGCCCTTTGACGTTGGAGTCCACGTTCTTTAATAGTGGACTCTTGTTCCAAACTGGAACAACACTCAACCCTATCTCGGTCTATTCTTTTGATTTATAAGGGATTTTGCCGATTTCGGCCTATTGGTTAAAAAATGAGCTGATTTAACAAAAATTTAACGCGAATTTTAACAAAATATTAACGCTTACAATTTCCATTCGCCATTCAGGCTGCGCAACTGTTGGGAAGGGCGATCGGTGCGGGCCTCTTCGCTATTACGCCAGCTGGCGAAAGGGGGATGTGCTGCAAGGCGATTAAGTTGGGTAACGCCAGGGTTTTCCCAGTCACGACGTTGTAAAACGACGGCCAGTGAGCGCGCGTAATACGACTCACTATAGGGCGAATTGGAGCTCCACCGCGGTGGCGGCCGCTCTAGAACTAGTGGATCCCCCGGGCTGCAGGAATTCGGACTGTGTGTCAGA [...]
+S	3	TTGAGTACTCACCAGTCACAGAAAAGCATCTTACGGATGGCATGACAGTAAGAGAATTATGCAGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACAACGATCGGAGGACCGAAGGAGCTAACCGCTTTTTTGCACAACATGGGGGATCATGTAACTCGCCTTGATCGTTGGGAACCGGAGCTGAATGAAGCCATACCAAACGACGAGCGTGACACCACGATGCCTGTAGCAATGGCAACAACGTTGCGCAAACTATTAACTGGCGAACTACTTACTCTAGCTTCCCGGCAACAATTAATAGACTGGATGGAGGCGGATAAAGTTGCAGGACCACTTCTGCGCTCGGCCCTTCCGGCTGGCTGGTTTATTGCTGATAAATCTGGAGCCGGTGAGCGTGGGTCTCGCGGTATCATTGCAGCACTGGGGCCAGATGGTAAGCCCTCCCGTATCGTAGTTATCTACACAAAGGGG [...]
+S	4	TCAGCCCGACCGCTGCGCCTTATCCGGTAACTATCGTCTTGAGTCCAACCCGGTAAGACACGACTTATCGCCACTGGCAGCAGCCACTGGTAACAGGATTAGCAGAGCGAGGTATGTAGGCGGTGCTACAGAGTTCTTGAAGTGGTGGCCTAACTACGGCTACACTAGAAGGACAGTATTTGGTATCTGCGCTCTGCTGAAGCCAGTTACCTTCGGAAAAAGAGTTGGTAGCTCTTGATCCGGCAAACAAACCACCGCTGGTAGCGGTGGTTTTTTTGTTTGCAAGCAGCAGATTACGCGCAGAAAAAAAGGATCTCAAGAAGATCCTTTGATCTTTTCTACGGGGTCTGACGCTCAGTGGAACGAAAACTCACGTTAAGGGATTTTGGTCATGAGATTATCAAAAAGGATCTTCACCTAGATCCTTTTAAATTAAAAATGAAGTTTTAAATCAATCTAAAGTATATATGAGTAAACTTGGTCTGACA [...]
+S	5	TGAGTCCAACCCGGTAAGACACGACTTATCGCCACTGGCAGCAGCCACTGGTAACAGGATTAGCAGAGCGAGGTATGTAGGCGGTGCTACAGAGTTCTTGAAGTGGTGGCCTAACTACGGCTACACTAGAAGGACAGTATTTGGTATCTGCGCTCTGCTGAAGCCAGTTACCTTCGGAAAAAGAGTTGGTAGCTCTTGATCCGGCAAACAAACCACCGCTGGTAGCGGTGGTTTTTTTGTTTGCAAGCAGCAGATTACGCGCAGAAAAAAAGGATCTCAAGAAGATCCTTTGATCTTTTCTACGGGGTCTGACGCTCAGTGGAACGAAAACTCACGTTAAGGGATTTTGGTCATGAGATTATCAAAAAGGATCTTCACCTAGATCCTTTTAAATTAAAAATGAAGTTTTAAATCAATCTAAAGTATATATGAGTAAACTTGGTCTGACAGTTACCAATGCTTAATCAGTGAGGCACCTATCTCAGCGA [...]
+S	6	GAGCAAAAGGCCAGCAAAAGGCCAGGAACCGTAAAAAGGCCGCGTTGCTGGCGTTTTTCCATAGGCTCCGCCCCCCTGACGAGCATCACAAAAATCGACGCTCAAGTCAGAGGTGGCGAAACCCGACAGGACTATAAAGATACCAGGCGTTTCCCCCTGGAAGCTCCCTCGTGCGCTCTCCTGTTCCGACCCTGCCGCTTACCGGATACCTGTCCGCCTTTCTCCCTTCGGGAAGCGTGGCGCTTTCTCATAGCTCACGCTGTAGGTATCTCAGTTCGGTGTAGGTCGTTCGCTCCAAGCTGGGCTGTGTGCACGAACCCCCCGTTCAGCCCGACCGCTGCGCCTTATCCGGTAACTATCGTCTTGAGTCCAACCCGGTAAGACACGACTTATCGCCACTGGCAGCAGCCACTGGTAACAGGATTAGCAGAGCGAGGTATGTAGGCGGTGCTACAGAGTTCTTGAAGTGGTGGCCTAACTACGGCTAC [...]
+S	7	TGGAAAGCGGGCAGTGAGCGCAACGCAATTAATGTGAGTTAGCTCACTCATTAGGCACCCCAGGCTTTACACTTTATGCTTCCGGCTCGTATGTTGTGTGGAATTGTGAGCGGATAACAATTTCACACAGGAAACAGCTATGACCATGATTACGCCAAGCGCGCAATTAACCCTCACTAAAGGGAACAAAAGCTGGGTACCGGGCCCCCCCTCGAGGTCGACGGTATCGATAAGCTTGATATCGAATTCCGACCCTTAGTCAGATCTGACACACAGTCCGAATTCCTGCAGCCCGGGGGATCCACTAGTTCTAGAGCGGCCGCCACCGCGGTGGAGCTCCAATTCGCCCTATAGTGAGTCGTATTACGCGCGCTCACTGGCCGTCGTTTTACAACGTCGTGACTGGGAAAACCCTGGCGTTACCCAACTTAATCGCCTTGCAGCACATCCCCCTTTCGCCAGCTGGCGTAATAGCGAAGAGGCCCGCA [...]
+S	8	GGATCTAGGTGAAGATCCTTTTTGATAATCTCATGACCAAAATCCCTTAACGTGAGTTTTCGTTCCACTGAGCGTCAGACCCCGTAGAAAAGATCAAAGGATCTTCTTGAGATCCTTTTTTTCTGCGCGTAATCTGCTGCTTGCAAACAAAAAAACCACCGCTACCAGCGGTGGTTTGTTTGCCGGATCAAGAGCTACCAACTCTTTTTCCGAAGGTAACTGGCTTCAGCAGAGCGCAGATACCAAATACTGTCCTTCTAGTGTAGCCGTAGTTAGGCCACCACTTCAAGAACTCTGTAGCACCGCCTACATACCTCGCTCTGCTAATCCTGTTACCAGTGGCTGCTGCCAGTGGCGATAAGTCGTGTCTTACCGGGTTGGACTCAAGACGATAGTTACCGGATAAGGCGCAGCGGTCGGGCTGAACGGGGGGTTCGTGCACACAGCCCAGCTTGGAGCGAACGACCTACACCGAACTGAGATACCTA [...]
+S	9	GAGGAAGCGGAAGAGCGCCCAATACGCAAACCGCCTCTCCCCGCGCGTTGGCCGATTCATTAATGCAGCTGGCACGACAGGTTTCCCGACTGGAAAGCGGGCAGTGAGCGCAACGCAATTAATGTGAGTTAGCTCACTCATTAGGCACCCCAGGCTTTACACTTTATGCTTCCGGCTCGTATGTTGTGTGGAATTGTGAGCGGATAACAATTTCACACAGGAAACAGCTATGACCATGATTACGCCAAGCGCGCAATTAACCCTCACTAAAGGGAACAAAAGCTGGGTACCGGGCCCCCCCTCGAGGTCGACGGTATCGATAAGCTTGATATCGAATTCCGACCCTTAGTCAGATCTGACACACAGTCCGAATTCCTGCAGCCCGGGGGATCCACTAGTTCTAGAGCGGCCGCCACCGCGGTGGAGCTCCAATTCGCCCTATAGTGAGTCGTATTACGCGCGCTCACTGGCCGTCGTTTTACAACGTC [...]
+S	10	GAGGGAGCTTCCAGGGGGAAACGCCTGGTATCTTTATAGTCCTGTCGGGTTTCGCCACCTCTGACTTGAGCGTCGATTTTTGTGATGCTCGTCAGGGGGGCGGAGCCTATGGAAAAACGCCAGCAACGCGGCCTTTTTACGGTTCCTGGCCTTTTGCTGGCCTTTTGCTCACATGTTCTTTCCTGCGTTATCCCCTGATTCTGTGGATAACCGTATTACCGCCTTTGAGTGAGCTGATACCGCTCGCCGCAGCCGAACGACCGAGCGCAGCGAGTCAGTGAGCGAGGAAGCGGAAGAGCGCCCAATACGCAAACCGCCTCTCCCCGCGCGTTGGCCGATTCATTAATGCAGCTGGCACGACAGGTTTCCCGACTGGAAAGCGGGCAGTGAGCGCAACGCAATTAATGTGAGTTAGCTCACTCATTAGGCACCCCAGGCTTTACACTTTATGCTTCCGGCTCGTATGTTGTGTGGAATTGTGAGCGGA [...]
+S	11	AGATCAAAGGATCTTCTTGAGATCCTTTTTTTCTGCGCGTAATCTGCTGCTTGCAAACAAAAAAACCACCGCTACCAGCGGTGGTTTGTTTGCCGGATCAAGAGCTACCAACTCTTTTTCCGAAGGTAACTGGCTTCAGCAGAGCGCAGATACCAAATACTGTCCTTCTAGTGTAGCCGTAGTTAGGCCACCACTTCAAGAACTCTGTAGCACCGCCTACATACCTCGCTCTGCTAATCCTGTTACCAGTGGCTGCTGCCAGTGGCGATAAGTCGTGTCTTACCGGGTTGGACTCAAGACGATAGTTACCGGATAAGGCGCAGCGGTCGGGCTGAACGGGGGGTTCGTGCACACAGCCCAGCTTGGAGCGAACGACCTACACCGAACTGAGATACCTACAGCGTGAGCTATGAGAAAGCGCCACGCTTCCCGAAGGGAGAAAGGCGGACAGGTATCCGGTAAGCGGCAGGGTCGGAACAGGAGAGCG [...]
+S	12	GGCTTACCATCTGGCCCCAGTGCTGCAATGATACCGCGAGACCCACGCTCACCGGCTCCAGATTTATCAGCAATAAACCAGCCAGCCGGAAGGGCCGAGCGCAGAAGTGGTCCTGCAACTTTATCCGCCTCCATCCAGTCTATTAATTGTTGCCGGGAAGCTAGAGTAAGTAGTTCGCCAGTTAATAGTTTGCGCAACGTTGTTGCCATTGCTACAGGCATCGTGGTGTCACGCTCGTCGTTTGGTATGGCTTCATTCAGCTCCGGTTCCCAACGATCAAGGCGAGTTACATGATCCCCCATGTTGTGCAAAAAAGCGGTTAGCTCCTTCGGTCCTCCGATCGTTGTCAGAAGTAAGTTGGCCGCAGTGTTATCACTCATGGTTATGGCAGCACTGCATAATTCTCTTACTGTCATGCCATCCGTAAGATGCTTTTCTGTGACTGGTGAGTACTCAACCAAGTCATTCTGAGAATAGTGTATGCGGC [...]
+S	13	GGCGGACAGGTATCCGGTAAGCGGCAGGGTCGGAACAGGAGAGCGCACGAGGGAGCTTCCAGGGGGAAACGCCTGGTATCTTTATAGTCCTGTCGGGTTTCGCCACCTCTGACTTGAGCGTCGATTTTTGTGATGCTCGTCAGGGGGGCGGAGCCTATGGAAAAACGCCAGCAACGCGCCTTTTTACGGTTCCTGGCCTTTTGCTGGCCTTTTGCTCACATGTTCTTTCCTGCGTTATCCCCTGATTCTGTGGATAACCGTATTACCGCCTTTGAGTGAGCTGATACCGCTCGCCGCAGCCGAACGACCGAGCGCAGCGAGTCAGTGAGCGAGGAAGCGGAAGAGCGCCCAATACGCAAACCGCCTCTCCCCGCGCGTTGGCCGATTCATTAATGCAGCTGGCACGACAGGTTTCCCGACTGGAAAGCGGGCAGTGAGCGCAACGCAATTAATGTGAGTTAGCTCACTCATTAGGCACCCCAGGCTT [...]
+S	14	CAGCAGCCACTGGTAACAGGATTAGCAGAGCGAGGTATGTAGGCGGTGCTACAGAGTTCTTGAAGTGGTGGCCTAACTACGGCTACACTAGAAGGACAGTATTTGGTATCTGCGCTCTGCTGAAGCCAGTTACCTTCGGAAAAAGAGTTGGTAGCTCTTGATCCGGCAAACAAACCACCGCTGGTAGCGGTGGTTTTTTTGTTTGCAAGCAGCAGATTACGCGCAGAAAAAAAGGATCTCAAGAAGATCCTTTGATCTTTTCTACGGGGTCTGACGCTCAGTGGAACGAAAACTCACGTTAAGGGATTTTGGTCATGAGATTATCAAAAAGGATCTTCACCTAGATCCTTTTAAATTAAAAATGAAGTTTTAAATCAATCTAAAGTATATATGAGTAAACTTGGTCTGACAGTTACCAATGCTTAATCAGTGAGGCACCTATCTCAGCGATCTGTCTATTTCGTTCATCCATAGTTGCCTAAATCCC [...]
+S	15	CGCCCTTATTCCCTTTTTTGCGGCATTTTGCCTTCCTGTTTTTGCTCACCCAGAAACGCTGGTGAAAGTAAAAGATGCTGAAGATCAGTTGGGTGCACGAGTGGGTTACATCGAACTGGATCTCAACAGCGGTAAGATCCTTGAGAGTTTTCGCCCCGAAGAACGTTTTCCAATGATGAGCACTTTTAAAGTTCTGCTATGTGGCGCGGTATTATCCCGTATTGACGCCGGGCAAGAGCAACTCGGTCGCCGCATACACTATTCTCAGAATGACTTGGTTGAGTACTCACCAGTCACAGAAAAGCATCTTACGGATGGCATGACAGTAAGAGAATTATGCAGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACAACGATCGGAGGACCGAAGGAGCTAACCGCTTTTTTGCACAACATGGGGGATCATGTAACTCGCCTTGATCGTTGGGAACCGGAGCTGAATGAAGCC [...]
+S	16	ATACACTATTCTCAGAATGACTTGGTTGAGTACTCACCAGTCACAGAAAAGCATCTTACGGATGGCATGACAGTAAGAGAATTATGCAGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACAACGATCGGAGGACCGAAGGAGCTAACCGCTTTTTTGCACAGGACATGGGGGATCATGTAACTCGCCTTGATCGTTGGGAACCGGAGCTGAATGAAGCCATACCAAACGACGAGCGTGACACCACGATGCCTGTAGCAATGGCAACAACGTTGCGCAAACTATTAACTGGCGAACTACTTACTCTAGCTTCCCGGCAACAATTAATAGACTGGATGGAGGCGGATAAAGTTGCAGGACCACTTCTGCGCTCGGCCCTTCCGGCTGGCTGGTTTATTGCTGATAAATCTGGAGCCGGTGAGCGTGGGTCTCGCGGTATCATTGCAGCACTGGGGCCAGATGGTAAGCCCTC [...]
+S	17	ATTAATTGCGTTGCGCTCACTGCCCGCTTTCCAGTCGGGAAACCTGTCGTGCCAGCTGCATTAATGAATCGGCCAACGCGCGGGGAGAGGCGGTTTGCGTATTGGGCGCTCTTCCGCTTCCTCGCTCACTGACTCGCTGCGCTCGGTCGTTCGGCTGCGGCGAGCGGTATCAGCTCACAAGGCGGTAATACGGTTATCCACAGAATCAGGGGATAACGCAGGAAAGAACATGTGAGCAAAAGGCCAGCAAAAGGCCAGGAACCGTAAAAAGGCCGCGTTGCTGGCGTTTTTCCATAGGCTCCGCCCCCCTGACGAGCATCACAAAAATCGACGCTCAAGTCAGAGGTGGCGAAACCCGACAGGACTATAAAGATACCAGGCGTTTCCCCCTGGAAGCTCCCTCGTGCGCTCTCCTGTTCCGACCCTGCCGCTTACCGGATACCTGTCCGCCTTTCTCCCTTCGGGAAGCGTGGCGCTTTCTCATAGC [...]
+S	18	TTTGCGGCATTTTGCCTTCCTGTTTTTGCTCACCCAGAAACGCTGGTGAAAGTAAAAGATGCTGAAGATCAGTTGGGTGCACGAGTGGGTTACATCGAACTGGATCTCAACAGCGGTAAGATCCTTGAGAGTTTTCGCCCCGAAGAACGTTTTCCAATGATGAGCACTTTTAAAGTTCTGCTATGTGGCGCGGTATTATCCCGTATTGACGCCGGGCAAGAGCAACTCGGTCGCCGCATACACTATTCTCAGAATGGACTTGGTTGAGTACTCACCAGTCACAGAAAAGCATCTTACGGATGGCATACAGTAAGAGAATTGATGCAGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACAACGATCGGAGGACCGAAGGAGCTAACCGCTTTTTTGCACAACATGGGGGATCATGTAACTCGCCTTGATCGTTGGGAACCGGAGCTGAATGAAGCCATACCAAACGACGAG [...]
+S	19	TGCTCACCCAGAAACGCTGGTGAAAGTAAAAGATGCTGAAGATCAGTTGGGTGCACGAGTGGGTTACATCGAACTGGATCTCAACAGCGGTAAGATCCTTGAGAGTTTTCGCCCCGAAGAACGTTTTCCAATGATGAGCACTTTTAAAGTTCTGCTATGTGGCGCGGTATTATCCCGTATTGACGCCGGGCAAGAGCAACTCGGTCGCCGCATACACTATTCTCAGAATGACTTGGTTGAGTACTCACCAGTCACAGAAAAGCATCTTACGGATGGCATGACAGTAAGAGAATTATGCAGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACAACGATCGGAGGACCGAAGGAGCTAACCGCTTTTTTGCACAACATGGGGGATCATGTAACTCGCCTTGATCGTTGGGAACCGGAGCTGAATGAAGCCATACCAAACGACGAGCGTGACACCACGATGCCTGTAGCAATG [...]
+S	20	ACGGGAGGGCTTACCATCTGGCCCCAGTGCTGCAATGATACCGCGAGACCCACGCTCACCGGCTCCAGATTTATCAGCAATAAACCAGCCAGCCGGAAGGGCCGAGCGCAGAAGTGGTCCTGCAACTTTATCCGCCTCCATCCAGTCTATTAATTGTTGCCGGGAAGCTAGAGTAAGTAGTTCGCCAGTTAATAGTTTGCGCAACGTTGTTGCCATTGCTACAGGCATCGTGGTGTCACGCTCGTCGTTTGGTATGGCTTCATTCAGCTCCGGTTCCCAACGATCAAGGCGAGTTACATGATCCCCCATGTTGTGCAAAAAAGCGGTTAGCTCCTTCGGTCCTCCGATCGTTGTCAGAAGTAAGTTGGCCGCAGTGTTATCACTCATGGTTATGGCAGCACTGCATAATTCTCTTACTGTCATGCCATCCGTAAGATGCTTTTCTGTGACTGGTGAGTACTCAACCAAGTCATTCTGAGAATAGTGT [...]
+S	21	ACGTTCTTTAATAGTGGACTCTTGTTCCAAACTGGAACAACACTCAACCCTATCTCGGTCTATTCTTTTGATTTATAAGGGATTTTGCCGATTTCGGCCTATTGGTTAAAAAATGAGCTGATTTAACAAAAATTTAACGCGAATTTTAACAAAATATTAACGCTTACAATTTCCATTCGCCATTCAGGCTGCGCAACTGTTGGGAAGGGCGATCGGTGCGGGCCTCTTCGCTATTACGCCAGCTGGCGAAAGGGGGATGTGCTGCAAGGCGATTAAGTTGGGTAACGCCAGGGTTTTCCCAGTCACGACGTTGTAAAACGACCAGTGAGCGCGCGTAATACGACTCACTATAGGGCGAATTGGAGCTCCACCGCGGTGGCGGCCGCTCTAGAACTAGTGGATCCCCCGGGCTGCAGGAATTCGGACTGTGTGTCAGATCTGACTAAGGGTCGGAATTCGATATCAAGCTTATCGATACCGTCGACCT [...]
+S	22	TTCCTGTTTTTGCTCACCCAGAAACGCTGGTGAAAGTAAAAGATGCTGAAGATCAGTTGGGTGCACGAGTGGGTTACATCGAACTGGATCTCAACAGCGGTAAGATCCTTGAGAGTTTTCGCCCCGAAGAACGTTTTCCAATGATGAGCACTTTTAAAGTTCTGCTATGTGGCGCGGTATTATCCCGTATTGACGCCGGGCAAGAGCAACTCGGTCGCCGCATACACTATTCTCAGAATGACTTGGTTGAGTACTCACCAGTCACAGAAAAGCATCTTACGGATGGCATGACAGTAAGAGAATTATGCAGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACAACGATCGGAGGACCGAAGGAGCTAACCGCTTTTTTGCACAACATGGGGGATCATGTAACTCGCCTTGATCGTTGGGAACCGGAGCTGAATGAAGCCATACCAAACGACGAGCGTGACACCACGATGCC [...]
+S	23	ACTATAAAGATACCAGGCGTTTCCCCCTGGAAGCTCCCTCGTGCGCTCTCCTGTTCCGACCCTGCCGCTTACCGGATACCTGTCCGCCTTTCTCCCTTCGGGAAGCGTGGCGCTTTCTCATAGCTCACGCTGTAGGTATCTCAGTTCGGTGTAGGTCGTTCGCTCCAAGCTGGGCTGTGTGCACGAACCCCCCGTTCAGCCCGACCGCTGCGCCTTATCCGGTAACTATCGTCTTGAGTCCAACCCGGTAAGACACGACTTATCGCCACTGGCAGCAGCCACTGGTAACAGGATTAGCAGAGCGAGGTATGTAGGCGGTGCTACAGAGTTCTTGAAGTGGTGGCCTAACTACGGCTACACTAGAAGGACAGTATTTGGTATCTGCGCTCTGCTGAAGCCAGTTACCTTCGGAAAAAGAGTTGGTAGCTCTTGATCCGGCAAACAAACCACCGCTGGTAGCGGTGGTTTTTTTGTTTGCAAGCAGCAG [...]
+S	24	TTTAAAAGGATCTAGGTGAAGATCCTTTTTGATAATCTCATGACCAAAATCCCTTAACGTGAGTTTTCGTTCCACTGAGCGTCAGACCCCGTAGAAAAGATCAAAGGATCTTCTTGAGATCCTTTTTTTCTGCGCGTAATCTGCTGCTTGCAAACAAAAAAACCACCGCTACCAGCGGTGGTTTGTTTGCCGGATCAAGAGCTACCAACTCTTTTTCCGAAGGTAACTGGCTTCAGCAGAGCGCAGATACCAAATACTGTCCTTCTAGTGTAGCCGTAGTTAGGCCACCACTTCAAGAACTCTGTAGCACCGCCTACATACCAAAATCGCTCTGCTAATCCTGTTACCAGTGGCTGCTGCCAGTGGCGATAAGTCGTGTCTTACCGGGTTGGACTCAAGACGATAGTTACCGGATAAGGCGCAGCGGTCGGGCTGAACGGGGGGTTCGTGCACACAGCCCAGCTTGGAGCGAACGACCTACACCGAA [...]
+S	25	TGTGCACGAACCCCCCGTTCAGCCCGACCGCTGCGCCTTATCCGGTAACTATCGTCTTGAGTCCAACCCGGTAAGACACGACTTATCGCCACTGGCAGCAGCCACTGGTAACAGGATTAGCAGAGCGAGGTATGTAGGCGGTGCTACAGAGTTCTTGAAGTGGTGGCCTAACTACGGCTACACTAGAAGGACAGTATTTGGTATCTGCGCTCTGCTGAAGCCAGTTACCTTCGGAAAAAGAGTTGGTAGCTCTTGATCCGGCAAACAAACCACCGCTGGTAGCGGTGGTTTTTTTGTTTGCAAGCAGCAGATTACGCGCAGAAAAACTCAAGAAGATCCTTTGATCTTTTCTACGGGGTCTGACGCTCAGTGGAACGAAAACTCACGTTAAGGGATTTTGGTCATGAGATTATCAAAAAGGATCTTCACCTAGATCCTTTTAAATTAAAAATGAAGTTTTAAATCAATCTAAAGTATATATGAGTAA [...]
+S	26	CATCGAACTGGATCTCAACAGCGGTAAGATCCTTGAGAGTTTTCGCCCCGAAGAACGTTTTCCAATGATGAGCACTTTTAAAGTTCTGCTATGTGGCGCGGTATTATCCCGTATTGACGCCGGGCAAGAGCAACTCGGTCGCCGCATACACTATTCTCAGAATGACTTGGTTGAGTACTCACCAGTCACAGAAAAGCATCTTACGGATGGCATGACAGTAAGAGAATTATGCAGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACAACGATCGGAGGACCGAAGGAGCTAACCGCTTTTTTGCACAACACAATGGCAACAACGTTGCGCAAACTATTAACTGGCGAACTACTTACTCTAGCTTCCCGGCAACAATTAATAGACTGGATGGAGGCGGATAAAGTTGCAGGACCACTTCTGCGCTCGGCCCTTCCGGCTGGCTGGTTTATTGCTGATAAATCTGGAGCCGGT [...]
+S	27	GCTCACTGCCCGCTTTCCAGTCG
+S	28	AGTTACCGGATAAGGCGCAGCGAACGGGGGGTTCGTGCACACAGCCCAGCTTGGAGCGAACGACCTACACCGAACTGAGATACCTACAGCGTGAGCTATGAGAAAGCGCCACGCTTCCCGAAGGGAGAAAGGCGGACAGGTATCCGGTAAGCGGCAGGGTCGGAACAGGAGAGCGCACGAGGGAGCTTCCAGGGGGAAACGCCTGGTATCTTTATAGTCCTGTCGGGTTTCGCCACCTCTGACTTGAGCGTCGATTTTTGTGATGCTCGTCAGGGGGGCGGAGCCTATGGAAAAACGCCAGCAACGCGGCCTTTTTACGGTTCCTGGCCTTTTGCTGGCCTTTTGCTCACATGTTCTTTCCTGCGTTATCCCCTGATTCTGTGGATAACCGTATTACCGCCTTTGAGTGAGCTGATACCGCTCGCCGCAGCCGAACGACCGAGCGCAGCGAGTCAGTGAGCGAGGAAGCGGAAGAGCGCCCAATACG [...]
+S	29	TCAGCCCGACCGCTGCGCCTTATATCGTCTTGAGTCCAACCCGGTAAGACACGACTTATCGCCACTGGCAGCAGCCACTGGTAACAGGATTAGCAGAGCGAGGTATGTAGGCGGTGCTACAGAGTTCTTGAAGTGGTGGCCTAACTACGGCTACACTAGAAGGACAGTATTTGGTATCTGCGCTCTGCTGAAGCCAGTTACCTTCGGAAAAAGAGTTGGTAGCTCTTGATCCGGCAAACAAACCACCGCTGGTAGCGGTGGTTTTTTTGTTTGCAAGCAGCAGATTACGCGCAGAAAAAAAGGATCTCAAGAAGATCCTTTGATCTTTTCTACGGGGTCTGACGCTCAGTGGAACGAAAACTCACGTTAAGGGATTTTGGTCATGAGATTATCAAAAAGGATCTTCACCTAGATCCTTTTAAATTAAAAATGAAGTTTTAAATCAATCTAAAGTATATATGAGTAAACTTGGTCTGACAGTTACCAA [...]
+L	22	-	20	+	710M
+L	14	+	20	+	290M
+L	25	+	20	+	197M
+L	6	+	23	+	670M
+L	1	+	11	+	784M
+L	6	+	26	-	56M
+L	28	+	0	+	620M
+L	1	+	0	+	301M
+L	24	+	0	+	220M
+L	6	-	0	+	177M
+L	21	+	28	-	336M
+L	21	+	17	+	129M
+L	2	+	17	+	77M
+L	23	+	14	+	528M
+L	2	+	13	-	423M
+L	20	-	15	+	742M
+L	8	-	6	+	750M
+L	11	-	6	+	660M
+L	17	+	6	+	564M
+L	10	+	9	+	517M
+L	13	+	9	+	469M
+L	17	-	9	+	123M
+L	0	+	10	+	792M
+L	23	-	13	+	88M
+L	20	+	12	+	793M
+L	13	+	21	-	475M
+L	23	+	4	+	605M
+L	23	+	5	+	566M
+L	22	+	19	+	790M
+L	10	+	7	+	427M
+L	13	+	7	+	379M
+L	17	-	7	+	33M
+L	17	+	25	+	257M
+L	19	+	3	+	564M
+L	2	+	10	-	471M
+L	16	+	24	+	158M
+L	6	+	16	-	201M
diff --git a/testdata/readjoiner/30x_long_varlen.gfa2 b/testdata/readjoiner/30x_long_varlen.gfa2
new file mode 100644
index 0000000..0fd7261
--- /dev/null
+++ b/testdata/readjoiner/30x_long_varlen.gfa2
@@ -0,0 +1,73 @@
+H	VN:Z:2.0
+H	pn:Z:readjoiner
+H	ol:i:0
+H	in:Z:reads
+H	cn:i:0
+H	te:i:0
+S	0	799	AGCGCACGAGGGAGCTTCCAGGGGGAAACGCCTGGTATCTTTATAGTCCTGTCGGGTTTCGCCACCTCTGACTTGAGCGTCGATTTTTGTGATGCTCGTCAGGGGGGCGGAGCCTATGGAAAAACGCCAGCAACGCGGCCTTTTTACGGTTCCTGGCCTTTTGCTGGCCTTTTGCTCACATGTTCTTTCCTGCGTTATCCCCTGATTCTGTGGATAACCGTATTACCGCCTTTGAGTGAGCTGATACCGCTCGCCGCAGCCGAACGACCGAGCGCAGCGAGTCAGTGAGCGAGGAAGCGGAAGAGCGCCCAATACGCAAACCGCCTCTCCCCGCGCGTTGGCCGATTCATTAATGCAGCTGGCACGACAGGTTTCCCGACTGGAAAGCGGGCAGTGAGCGCAACGCAATTAATGTGAGTTAGCTCACTCATTAGGCACCCCAGGCTTTACACTTTATGCTTCCGGCTCGTATGTTGTGTGGAAT [...]
+S	1	799	TCAGACCCCGTAGAAAGATCAAAGGATCTTCTTGAGATCCTTTTTTTCTGCGCGTAATCTGCTGCTTGCAAACAAAAAAACCACCGCTACCAGCGGTGGTTTGTTTGCCGGATCAAGAGCTACCAACTCTTTTTCCGAAGGTAACTGGCTTCAGCAGAGCGCAGATACCAAATACTGTCCTTCTAGTGTAGCCGTAGTTAGGCCACCACTTCAAGAACTCTGTAGCACCGCCTACATACCTCGCTCTGCTAATCCTGTTACCAGTGGCTGCTGCCAGTGGCGATAAGTCGTGTCTTACCGGGTTGGACTCAAGACGATAGTTACCGGATAAGGCGCAGCGGTCGGGCTGAACGGGGGGTTCGTGCACACAGCCCAGCTTGGAGCGAACGACCTACACCGAACTGAGATACCTACAGCGTGAGCTATGAGAAAGCGCCACGCTTCCCGAAGGGAGAAAGGCGGACAGGTATCCGGTAAGCGGCAG [...]
+S	2	796	TAGTGGGCCATCGCATAGACGGTTTTTCGCCCTTTGACGTTGGAGTCCACGTTCTTTAATAGTGGACTCTTGTTCCAAACTGGAACAACACTCAACCCTATCTCGGTCTATTCTTTTGATTTATAAGGGATTTTGCCGATTTCGGCCTATTGGTTAAAAAATGAGCTGATTTAACAAAAATTTAACGCGAATTTTAACAAAATATTAACGCTTACAATTTCCATTCGCCATTCAGGCTGCGCAACTGTTGGGAAGGGCGATCGGTGCGGGCCTCTTCGCTATTACGCCAGCTGGCGAAAGGGGGATGTGCTGCAAGGCGATTAAGTTGGGTAACGCCAGGGTTTTCCCAGTCACGACGTTGTAAAACGACGGCCAGTGAGCGCGCGTAATACGACTCACTATAGGGCGAATTGGAGCTCCACCGCGGTGGCGGCCGCTCTAGAACTAGTGGATCCCCCGGGCTGCAGGAATTCGGACTGTGTGT [...]
+S	3	803	TTGAGTACTCACCAGTCACAGAAAAGCATCTTACGGATGGCATGACAGTAAGAGAATTATGCAGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACAACGATCGGAGGACCGAAGGAGCTAACCGCTTTTTTGCACAACATGGGGGATCATGTAACTCGCCTTGATCGTTGGGAACCGGAGCTGAATGAAGCCATACCAAACGACGAGCGTGACACCACGATGCCTGTAGCAATGGCAACAACGTTGCGCAAACTATTAACTGGCGAACTACTTACTCTAGCTTCCCGGCAACAATTAATAGACTGGATGGAGGCGGATAAAGTTGCAGGACCACTTCTGCGCTCGGCCCTTCCGGCTGGCTGGTTTATTGCTGATAAATCTGGAGCCGGTGAGCGTGGGTCTCGCGGTATCATTGCAGCACTGGGGCCAGATGGTAAGCCCTCCCGTATCGTAGTTATCTACACAAA [...]
+S	4	798	TCAGCCCGACCGCTGCGCCTTATCCGGTAACTATCGTCTTGAGTCCAACCCGGTAAGACACGACTTATCGCCACTGGCAGCAGCCACTGGTAACAGGATTAGCAGAGCGAGGTATGTAGGCGGTGCTACAGAGTTCTTGAAGTGGTGGCCTAACTACGGCTACACTAGAAGGACAGTATTTGGTATCTGCGCTCTGCTGAAGCCAGTTACCTTCGGAAAAAGAGTTGGTAGCTCTTGATCCGGCAAACAAACCACCGCTGGTAGCGGTGGTTTTTTTGTTTGCAAGCAGCAGATTACGCGCAGAAAAAAAGGATCTCAAGAAGATCCTTTGATCTTTTCTACGGGGTCTGACGCTCAGTGGAACGAAAACTCACGTTAAGGGATTTTGGTCATGAGATTATCAAAAAGGATCTTCACCTAGATCCTTTTAAATTAAAAATGAAGTTTTAAATCAATCTAAAGTATATATGAGTAAACTTGGTCT [...]
+S	5	799	TGAGTCCAACCCGGTAAGACACGACTTATCGCCACTGGCAGCAGCCACTGGTAACAGGATTAGCAGAGCGAGGTATGTAGGCGGTGCTACAGAGTTCTTGAAGTGGTGGCCTAACTACGGCTACACTAGAAGGACAGTATTTGGTATCTGCGCTCTGCTGAAGCCAGTTACCTTCGGAAAAAGAGTTGGTAGCTCTTGATCCGGCAAACAAACCACCGCTGGTAGCGGTGGTTTTTTTGTTTGCAAGCAGCAGATTACGCGCAGAAAAAAAGGATCTCAAGAAGATCCTTTGATCTTTTCTACGGGGTCTGACGCTCAGTGGAACGAAAACTCACGTTAAGGGATTTTGGTCATGAGATTATCAAAAAGGATCTTCACCTAGATCCTTTTAAATTAAAAATGAAGTTTTAAATCAATCTAAAGTATATATGAGTAAACTTGGTCTGACAGTTACCAATGCTTAATCAGTGAGGCACCTATCTCA [...]
+S	6	800	GAGCAAAAGGCCAGCAAAAGGCCAGGAACCGTAAAAAGGCCGCGTTGCTGGCGTTTTTCCATAGGCTCCGCCCCCCTGACGAGCATCACAAAAATCGACGCTCAAGTCAGAGGTGGCGAAACCCGACAGGACTATAAAGATACCAGGCGTTTCCCCCTGGAAGCTCCCTCGTGCGCTCTCCTGTTCCGACCCTGCCGCTTACCGGATACCTGTCCGCCTTTCTCCCTTCGGGAAGCGTGGCGCTTTCTCATAGCTCACGCTGTAGGTATCTCAGTTCGGTGTAGGTCGTTCGCTCCAAGCTGGGCTGTGTGCACGAACCCCCCGTTCAGCCCGACCGCTGCGCCTTATCCGGTAACTATCGTCTTGAGTCCAACCCGGTAAGACACGACTTATCGCCACTGGCAGCAGCCACTGGTAACAGGATTAGCAGAGCGAGGTATGTAGGCGGTGCTACAGAGTTCTTGAAGTGGTGGCCTAACTACGG [...]
+S	7	799	TGGAAAGCGGGCAGTGAGCGCAACGCAATTAATGTGAGTTAGCTCACTCATTAGGCACCCCAGGCTTTACACTTTATGCTTCCGGCTCGTATGTTGTGTGGAATTGTGAGCGGATAACAATTTCACACAGGAAACAGCTATGACCATGATTACGCCAAGCGCGCAATTAACCCTCACTAAAGGGAACAAAAGCTGGGTACCGGGCCCCCCCTCGAGGTCGACGGTATCGATAAGCTTGATATCGAATTCCGACCCTTAGTCAGATCTGACACACAGTCCGAATTCCTGCAGCCCGGGGGATCCACTAGTTCTAGAGCGGCCGCCACCGCGGTGGAGCTCCAATTCGCCCTATAGTGAGTCGTATTACGCGCGCTCACTGGCCGTCGTTTTACAACGTCGTGACTGGGAAAACCCTGGCGTTACCCAACTTAATCGCCTTGCAGCACATCCCCCTTTCGCCAGCTGGCGTAATAGCGAAGAGGCC [...]
+S	8	800	GGATCTAGGTGAAGATCCTTTTTGATAATCTCATGACCAAAATCCCTTAACGTGAGTTTTCGTTCCACTGAGCGTCAGACCCCGTAGAAAAGATCAAAGGATCTTCTTGAGATCCTTTTTTTCTGCGCGTAATCTGCTGCTTGCAAACAAAAAAACCACCGCTACCAGCGGTGGTTTGTTTGCCGGATCAAGAGCTACCAACTCTTTTTCCGAAGGTAACTGGCTTCAGCAGAGCGCAGATACCAAATACTGTCCTTCTAGTGTAGCCGTAGTTAGGCCACCACTTCAAGAACTCTGTAGCACCGCCTACATACCTCGCTCTGCTAATCCTGTTACCAGTGGCTGCTGCCAGTGGCGATAAGTCGTGTCTTACCGGGTTGGACTCAAGACGATAGTTACCGGATAAGGCGCAGCGGTCGGGCTGAACGGGGGGTTCGTGCACACAGCCCAGCTTGGAGCGAACGACCTACACCGAACTGAGATA [...]
+S	9	796	GAGGAAGCGGAAGAGCGCCCAATACGCAAACCGCCTCTCCCCGCGCGTTGGCCGATTCATTAATGCAGCTGGCACGACAGGTTTCCCGACTGGAAAGCGGGCAGTGAGCGCAACGCAATTAATGTGAGTTAGCTCACTCATTAGGCACCCCAGGCTTTACACTTTATGCTTCCGGCTCGTATGTTGTGTGGAATTGTGAGCGGATAACAATTTCACACAGGAAACAGCTATGACCATGATTACGCCAAGCGCGCAATTAACCCTCACTAAAGGGAACAAAAGCTGGGTACCGGGCCCCCCCTCGAGGTCGACGGTATCGATAAGCTTGATATCGAATTCCGACCCTTAGTCAGATCTGACACACAGTCCGAATTCCTGCAGCCCGGGGGATCCACTAGTTCTAGAGCGGCCGCCACCGCGGTGGAGCTCCAATTCGCCCTATAGTGAGTCGTATTACGCGCGCTCACTGGCCGTCGTTTTACAA [...]
+S	10	800	GAGGGAGCTTCCAGGGGGAAACGCCTGGTATCTTTATAGTCCTGTCGGGTTTCGCCACCTCTGACTTGAGCGTCGATTTTTGTGATGCTCGTCAGGGGGGCGGAGCCTATGGAAAAACGCCAGCAACGCGGCCTTTTTACGGTTCCTGGCCTTTTGCTGGCCTTTTGCTCACATGTTCTTTCCTGCGTTATCCCCTGATTCTGTGGATAACCGTATTACCGCCTTTGAGTGAGCTGATACCGCTCGCCGCAGCCGAACGACCGAGCGCAGCGAGTCAGTGAGCGAGGAAGCGGAAGAGCGCCCAATACGCAAACCGCCTCTCCCCGCGCGTTGGCCGATTCATTAATGCAGCTGGCACGACAGGTTTCCCGACTGGAAAGCGGGCAGTGAGCGCAACGCAATTAATGTGAGTTAGCTCACTCATTAGGCACCCCAGGCTTTACACTTTATGCTTCCGGCTCGTATGTTGTGTGGAATTGTGAG [...]
+S	11	798	AGATCAAAGGATCTTCTTGAGATCCTTTTTTTCTGCGCGTAATCTGCTGCTTGCAAACAAAAAAACCACCGCTACCAGCGGTGGTTTGTTTGCCGGATCAAGAGCTACCAACTCTTTTTCCGAAGGTAACTGGCTTCAGCAGAGCGCAGATACCAAATACTGTCCTTCTAGTGTAGCCGTAGTTAGGCCACCACTTCAAGAACTCTGTAGCACCGCCTACATACCTCGCTCTGCTAATCCTGTTACCAGTGGCTGCTGCCAGTGGCGATAAGTCGTGTCTTACCGGGTTGGACTCAAGACGATAGTTACCGGATAAGGCGCAGCGGTCGGGCTGAACGGGGGGTTCGTGCACACAGCCCAGCTTGGAGCGAACGACCTACACCGAACTGAGATACCTACAGCGTGAGCTATGAGAAAGCGCCACGCTTCCCGAAGGGAGAAAGGCGGACAGGTATCCGGTAAGCGGCAGGGTCGGAACAGGAG [...]
+S	12	801	GGCTTACCATCTGGCCCCAGTGCTGCAATGATACCGCGAGACCCACGCTCACCGGCTCCAGATTTATCAGCAATAAACCAGCCAGCCGGAAGGGCCGAGCGCAGAAGTGGTCCTGCAACTTTATCCGCCTCCATCCAGTCTATTAATTGTTGCCGGGAAGCTAGAGTAAGTAGTTCGCCAGTTAATAGTTTGCGCAACGTTGTTGCCATTGCTACAGGCATCGTGGTGTCACGCTCGTCGTTTGGTATGGCTTCATTCAGCTCCGGTTCCCAACGATCAAGGCGAGTTACATGATCCCCCATGTTGTGCAAAAAAGCGGTTAGCTCCTTCGGTCCTCCGATCGTTGTCAGAAGTAAGTTGGCCGCAGTGTTATCACTCATGGTTATGGCAGCACTGCATAATTCTCTTACTGTCATGCCATCCGTAAGATGCTTTTCTGTGACTGGTGAGTACTCAACCAAGTCATTCTGAGAATAGTGTATG [...]
+S	13	799	GGCGGACAGGTATCCGGTAAGCGGCAGGGTCGGAACAGGAGAGCGCACGAGGGAGCTTCCAGGGGGAAACGCCTGGTATCTTTATAGTCCTGTCGGGTTTCGCCACCTCTGACTTGAGCGTCGATTTTTGTGATGCTCGTCAGGGGGGCGGAGCCTATGGAAAAACGCCAGCAACGCGCCTTTTTACGGTTCCTGGCCTTTTGCTGGCCTTTTGCTCACATGTTCTTTCCTGCGTTATCCCCTGATTCTGTGGATAACCGTATTACCGCCTTTGAGTGAGCTGATACCGCTCGCCGCAGCCGAACGACCGAGCGCAGCGAGTCAGTGAGCGAGGAAGCGGAAGAGCGCCCAATACGCAAACCGCCTCTCCCCGCGCGTTGGCCGATTCATTAATGCAGCTGGCACGACAGGTTTCCCGACTGGAAAGCGGGCAGTGAGCGCAACGCAATTAATGTGAGTTAGCTCACTCATTAGGCACCCCAG [...]
+S	14	798	CAGCAGCCACTGGTAACAGGATTAGCAGAGCGAGGTATGTAGGCGGTGCTACAGAGTTCTTGAAGTGGTGGCCTAACTACGGCTACACTAGAAGGACAGTATTTGGTATCTGCGCTCTGCTGAAGCCAGTTACCTTCGGAAAAAGAGTTGGTAGCTCTTGATCCGGCAAACAAACCACCGCTGGTAGCGGTGGTTTTTTTGTTTGCAAGCAGCAGATTACGCGCAGAAAAAAAGGATCTCAAGAAGATCCTTTGATCTTTTCTACGGGGTCTGACGCTCAGTGGAACGAAAACTCACGTTAAGGGATTTTGGTCATGAGATTATCAAAAAGGATCTTCACCTAGATCCTTTTAAATTAAAAATGAAGTTTTAAATCAATCTAAAGTATATATGAGTAAACTTGGTCTGACAGTTACCAATGCTTAATCAGTGAGGCACCTATCTCAGCGATCTGTCTATTTCGTTCATCCATAGTTGCCTAAA [...]
+S	15	802	CGCCCTTATTCCCTTTTTTGCGGCATTTTGCCTTCCTGTTTTTGCTCACCCAGAAACGCTGGTGAAAGTAAAAGATGCTGAAGATCAGTTGGGTGCACGAGTGGGTTACATCGAACTGGATCTCAACAGCGGTAAGATCCTTGAGAGTTTTCGCCCCGAAGAACGTTTTCCAATGATGAGCACTTTTAAAGTTCTGCTATGTGGCGCGGTATTATCCCGTATTGACGCCGGGCAAGAGCAACTCGGTCGCCGCATACACTATTCTCAGAATGACTTGGTTGAGTACTCACCAGTCACAGAAAAGCATCTTACGGATGGCATGACAGTAAGAGAATTATGCAGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACAACGATCGGAGGACCGAAGGAGCTAACCGCTTTTTTGCACAACATGGGGGATCATGTAACTCGCCTTGATCGTTGGGAACCGGAGCTGAATGA [...]
+S	16	802	ATACACTATTCTCAGAATGACTTGGTTGAGTACTCACCAGTCACAGAAAAGCATCTTACGGATGGCATGACAGTAAGAGAATTATGCAGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACAACGATCGGAGGACCGAAGGAGCTAACCGCTTTTTTGCACAGGACATGGGGGATCATGTAACTCGCCTTGATCGTTGGGAACCGGAGCTGAATGAAGCCATACCAAACGACGAGCGTGACACCACGATGCCTGTAGCAATGGCAACAACGTTGCGCAAACTATTAACTGGCGAACTACTTACTCTAGCTTCCCGGCAACAATTAATAGACTGGATGGAGGCGGATAAAGTTGCAGGACCACTTCTGCGCTCGGCCCTTCCGGCTGGCTGGTTTATTGCTGATAAATCTGGAGCCGGTGAGCGTGGGTCTCGCGGTATCATTGCAGCACTGGGGCCAGATGGTAAGC [...]
+S	17	797	ATTAATTGCGTTGCGCTCACTGCCCGCTTTCCAGTCGGGAAACCTGTCGTGCCAGCTGCATTAATGAATCGGCCAACGCGCGGGGAGAGGCGGTTTGCGTATTGGGCGCTCTTCCGCTTCCTCGCTCACTGACTCGCTGCGCTCGGTCGTTCGGCTGCGGCGAGCGGTATCAGCTCACAAGGCGGTAATACGGTTATCCACAGAATCAGGGGATAACGCAGGAAAGAACATGTGAGCAAAAGGCCAGCAAAAGGCCAGGAACCGTAAAAAGGCCGCGTTGCTGGCGTTTTTCCATAGGCTCCGCCCCCCTGACGAGCATCACAAAAATCGACGCTCAAGTCAGAGGTGGCGAAACCCGACAGGACTATAAAGATACCAGGCGTTTCCCCCTGGAAGCTCCCTCGTGCGCTCTCCTGTTCCGACCCTGCCGCTTACCGGATACCTGTCCGCCTTTCTCCCTTCGGGAAGCGTGGCGCTTTCTCA [...]
+S	18	801	TTTGCGGCATTTTGCCTTCCTGTTTTTGCTCACCCAGAAACGCTGGTGAAAGTAAAAGATGCTGAAGATCAGTTGGGTGCACGAGTGGGTTACATCGAACTGGATCTCAACAGCGGTAAGATCCTTGAGAGTTTTCGCCCCGAAGAACGTTTTCCAATGATGAGCACTTTTAAAGTTCTGCTATGTGGCGCGGTATTATCCCGTATTGACGCCGGGCAAGAGCAACTCGGTCGCCGCATACACTATTCTCAGAATGGACTTGGTTGAGTACTCACCAGTCACAGAAAAGCATCTTACGGATGGCATACAGTAAGAGAATTGATGCAGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACAACGATCGGAGGACCGAAGGAGCTAACCGCTTTTTTGCACAACATGGGGGATCATGTAACTCGCCTTGATCGTTGGGAACCGGAGCTGAATGAAGCCATACCAAACGA [...]
+S	19	800	TGCTCACCCAGAAACGCTGGTGAAAGTAAAAGATGCTGAAGATCAGTTGGGTGCACGAGTGGGTTACATCGAACTGGATCTCAACAGCGGTAAGATCCTTGAGAGTTTTCGCCCCGAAGAACGTTTTCCAATGATGAGCACTTTTAAAGTTCTGCTATGTGGCGCGGTATTATCCCGTATTGACGCCGGGCAAGAGCAACTCGGTCGCCGCATACACTATTCTCAGAATGACTTGGTTGAGTACTCACCAGTCACAGAAAAGCATCTTACGGATGGCATGACAGTAAGAGAATTATGCAGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACAACGATCGGAGGACCGAAGGAGCTAACCGCTTTTTTGCACAACATGGGGGATCATGTAACTCGCCTTGATCGTTGGGAACCGGAGCTGAATGAAGCCATACCAAACGACGAGCGTGACACCACGATGCCTGTAGC [...]
+S	20	800	ACGGGAGGGCTTACCATCTGGCCCCAGTGCTGCAATGATACCGCGAGACCCACGCTCACCGGCTCCAGATTTATCAGCAATAAACCAGCCAGCCGGAAGGGCCGAGCGCAGAAGTGGTCCTGCAACTTTATCCGCCTCCATCCAGTCTATTAATTGTTGCCGGGAAGCTAGAGTAAGTAGTTCGCCAGTTAATAGTTTGCGCAACGTTGTTGCCATTGCTACAGGCATCGTGGTGTCACGCTCGTCGTTTGGTATGGCTTCATTCAGCTCCGGTTCCCAACGATCAAGGCGAGTTACATGATCCCCCATGTTGTGCAAAAAAGCGGTTAGCTCCTTCGGTCCTCCGATCGTTGTCAGAAGTAAGTTGGCCGCAGTGTTATCACTCATGGTTATGGCAGCACTGCATAATTCTCTTACTGTCATGCCATCCGTAAGATGCTTTTCTGTGACTGGTGAGTACTCAACCAAGTCATTCTGAGAATA [...]
+S	21	797	ACGTTCTTTAATAGTGGACTCTTGTTCCAAACTGGAACAACACTCAACCCTATCTCGGTCTATTCTTTTGATTTATAAGGGATTTTGCCGATTTCGGCCTATTGGTTAAAAAATGAGCTGATTTAACAAAAATTTAACGCGAATTTTAACAAAATATTAACGCTTACAATTTCCATTCGCCATTCAGGCTGCGCAACTGTTGGGAAGGGCGATCGGTGCGGGCCTCTTCGCTATTACGCCAGCTGGCGAAAGGGGGATGTGCTGCAAGGCGATTAAGTTGGGTAACGCCAGGGTTTTCCCAGTCACGACGTTGTAAAACGACCAGTGAGCGCGCGTAATACGACTCACTATAGGGCGAATTGGAGCTCCACCGCGGTGGCGGCCGCTCTAGAACTAGTGGATCCCCCGGGCTGCAGGAATTCGGACTGTGTGTCAGATCTGACTAAGGGTCGGAATTCGATATCAAGCTTATCGATACCGTCG [...]
+S	22	800	TTCCTGTTTTTGCTCACCCAGAAACGCTGGTGAAAGTAAAAGATGCTGAAGATCAGTTGGGTGCACGAGTGGGTTACATCGAACTGGATCTCAACAGCGGTAAGATCCTTGAGAGTTTTCGCCCCGAAGAACGTTTTCCAATGATGAGCACTTTTAAAGTTCTGCTATGTGGCGCGGTATTATCCCGTATTGACGCCGGGCAAGAGCAACTCGGTCGCCGCATACACTATTCTCAGAATGACTTGGTTGAGTACTCACCAGTCACAGAAAAGCATCTTACGGATGGCATGACAGTAAGAGAATTATGCAGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACAACGATCGGAGGACCGAAGGAGCTAACCGCTTTTTTGCACAACATGGGGGATCATGTAACTCGCCTTGATCGTTGGGAACCGGAGCTGAATGAAGCCATACCAAACGACGAGCGTGACACCACGA [...]
+S	23	800	ACTATAAAGATACCAGGCGTTTCCCCCTGGAAGCTCCCTCGTGCGCTCTCCTGTTCCGACCCTGCCGCTTACCGGATACCTGTCCGCCTTTCTCCCTTCGGGAAGCGTGGCGCTTTCTCATAGCTCACGCTGTAGGTATCTCAGTTCGGTGTAGGTCGTTCGCTCCAAGCTGGGCTGTGTGCACGAACCCCCCGTTCAGCCCGACCGCTGCGCCTTATCCGGTAACTATCGTCTTGAGTCCAACCCGGTAAGACACGACTTATCGCCACTGGCAGCAGCCACTGGTAACAGGATTAGCAGAGCGAGGTATGTAGGCGGTGCTACAGAGTTCTTGAAGTGGTGGCCTAACTACGGCTACACTAGAAGGACAGTATTTGGTATCTGCGCTCTGCTGAAGCCAGTTACCTTCGGAAAAAGAGTTGGTAGCTCTTGATCCGGCAAACAAACCACCGCTGGTAGCGGTGGTTTTTTTGTTTGCAAGCA [...]
+S	24	804	TTTAAAAGGATCTAGGTGAAGATCCTTTTTGATAATCTCATGACCAAAATCCCTTAACGTGAGTTTTCGTTCCACTGAGCGTCAGACCCCGTAGAAAAGATCAAAGGATCTTCTTGAGATCCTTTTTTTCTGCGCGTAATCTGCTGCTTGCAAACAAAAAAACCACCGCTACCAGCGGTGGTTTGTTTGCCGGATCAAGAGCTACCAACTCTTTTTCCGAAGGTAACTGGCTTCAGCAGAGCGCAGATACCAAATACTGTCCTTCTAGTGTAGCCGTAGTTAGGCCACCACTTCAAGAACTCTGTAGCACCGCCTACATACCAAAATCGCTCTGCTAATCCTGTTACCAGTGGCTGCTGCCAGTGGCGATAAGTCGTGTCTTACCGGGTTGGACTCAAGACGATAGTTACCGGATAAGGCGCAGCGGTCGGGCTGAACGGGGGGTTCGTGCACACAGCCCAGCTTGGAGCGAACGACCTACAC [...]
+S	25	794	TGTGCACGAACCCCCCGTTCAGCCCGACCGCTGCGCCTTATCCGGTAACTATCGTCTTGAGTCCAACCCGGTAAGACACGACTTATCGCCACTGGCAGCAGCCACTGGTAACAGGATTAGCAGAGCGAGGTATGTAGGCGGTGCTACAGAGTTCTTGAAGTGGTGGCCTAACTACGGCTACACTAGAAGGACAGTATTTGGTATCTGCGCTCTGCTGAAGCCAGTTACCTTCGGAAAAAGAGTTGGTAGCTCTTGATCCGGCAAACAAACCACCGCTGGTAGCGGTGGTTTTTTTGTTTGCAAGCAGCAGATTACGCGCAGAAAAACTCAAGAAGATCCTTTGATCTTTTCTACGGGGTCTGACGCTCAGTGGAACGAAAACTCACGTTAAGGGATTTTGGTCATGAGATTATCAAAAAGGATCTTCACCTAGATCCTTTTAAATTAAAAATGAAGTTTTAAATCAATCTAAAGTATATATGA [...]
+S	26	710	CATCGAACTGGATCTCAACAGCGGTAAGATCCTTGAGAGTTTTCGCCCCGAAGAACGTTTTCCAATGATGAGCACTTTTAAAGTTCTGCTATGTGGCGCGGTATTATCCCGTATTGACGCCGGGCAAGAGCAACTCGGTCGCCGCATACACTATTCTCAGAATGACTTGGTTGAGTACTCACCAGTCACAGAAAAGCATCTTACGGATGGCATGACAGTAAGAGAATTATGCAGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACAACGATCGGAGGACCGAAGGAGCTAACCGCTTTTTTGCACAACACAATGGCAACAACGTTGCGCAAACTATTAACTGGCGAACTACTTACTCTAGCTTCCCGGCAACAATTAATAGACTGGATGGAGGCGGATAAAGTTGCAGGACCACTTCTGCGCTCGGCCCTTCCGGCTGGCTGGTTTATTGCTGATAAATCTGGAGC [...]
+S	27	23	GCTCACTGCCCGCTTTCCAGTCG
+S	28	791	AGTTACCGGATAAGGCGCAGCGAACGGGGGGTTCGTGCACACAGCCCAGCTTGGAGCGAACGACCTACACCGAACTGAGATACCTACAGCGTGAGCTATGAGAAAGCGCCACGCTTCCCGAAGGGAGAAAGGCGGACAGGTATCCGGTAAGCGGCAGGGTCGGAACAGGAGAGCGCACGAGGGAGCTTCCAGGGGGAAACGCCTGGTATCTTTATAGTCCTGTCGGGTTTCGCCACCTCTGACTTGAGCGTCGATTTTTGTGATGCTCGTCAGGGGGGCGGAGCCTATGGAAAAACGCCAGCAACGCGGCCTTTTTACGGTTCCTGGCCTTTTGCTGGCCTTTTGCTCACATGTTCTTTCCTGCGTTATCCCCTGATTCTGTGGATAACCGTATTACCGCCTTTGAGTGAGCTGATACCGCTCGCCGCAGCCGAACGACCGAGCGCAGCGAGTCAGTGAGCGAGGAAGCGGAAGAGCGCCCAA [...]
+S	29	814	TCAGCCCGACCGCTGCGCCTTATATCGTCTTGAGTCCAACCCGGTAAGACACGACTTATCGCCACTGGCAGCAGCCACTGGTAACAGGATTAGCAGAGCGAGGTATGTAGGCGGTGCTACAGAGTTCTTGAAGTGGTGGCCTAACTACGGCTACACTAGAAGGACAGTATTTGGTATCTGCGCTCTGCTGAAGCCAGTTACCTTCGGAAAAAGAGTTGGTAGCTCTTGATCCGGCAAACAAACCACCGCTGGTAGCGGTGGTTTTTTTGTTTGCAAGCAGCAGATTACGCGCAGAAAAAAAGGATCTCAAGAAGATCCTTTGATCTTTTCTACGGGGTCTGACGCTCAGTGGAACGAAAACTCACGTTAAGGGATTTTGGTCATGAGATTATCAAAAAGGATCTTCACCTAGATCCTTTTAAATTAAAAATGAAGTTTTAAATCAATCTAAAGTATATATGAGTAAACTTGGTCTGACAGTTA [...]
+E	*	22-	20+	0	710	0	710	710M
+E	*	14+	20+	508	798$	0	290	290M
+E	*	25+	20+	597	794$	0	197	197M
+E	*	6+	23+	130	800$	0	670	670M
+E	*	1+	11+	15	799$	0	784	784M
+E	*	6+	26-	744	800$	654	710$	56M
+E	*	28+	0+	171	791$	0	620	620M
+E	*	1+	0+	498	799$	0	301	301M
+E	*	24+	0+	584	804$	0	220	220M
+E	*	6-	0+	0	177	0	177	177M
+E	*	21+	28-	461	797$	455	791$	336M
+E	*	21+	17+	668	797$	0	129	129M
+E	*	2+	17+	719	796$	0	77	77M
+E	*	23+	14+	272	800$	0	528	528M
+E	*	2+	13-	373	796$	376	799$	423M
+E	*	20-	15+	0	742	0	742	742M
+E	*	8-	6+	0	750	0	750	750M
+E	*	11-	6+	0	660	0	660	660M
+E	*	17+	6+	233	797$	0	564	564M
+E	*	10+	9+	283	800$	0	517	517M
+E	*	13+	9+	330	799$	0	469	469M
+E	*	17-	9+	0	123	0	123	123M
+E	*	0+	10+	7	799$	0	792	792M
+E	*	23-	13+	0	88	0	88	88M
+E	*	20+	12+	7	800$	0	793	793M
+E	*	13+	21-	324	799$	322	797$	475M
+E	*	23+	4+	195	800$	0	605	605M
+E	*	23+	5+	234	800$	0	566	566M
+E	*	22+	19+	10	800$	0	790	790M
+E	*	10+	7+	373	800$	0	427	427M
+E	*	13+	7+	420	799$	0	379	379M
+E	*	17-	7+	0	33	0	33	33M
+E	*	17+	25+	540	797$	0	257	257M
+E	*	19+	3+	236	800$	0	564	564M
+E	*	2+	10-	325	796$	329	800$	471M
+E	*	16+	24+	644	802$	0	158	158M
+E	*	6+	16-	599	800$	601	802$	201M
diff --git a/testdata/readjoiner/70x_100nt.gfa1 b/testdata/readjoiner/70x_100nt.gfa1
new file mode 100644
index 0000000..740653e
--- /dev/null
+++ b/testdata/readjoiner/70x_100nt.gfa1
@@ -0,0 +1,82 @@
+H	VN:Z:1.0
+H	pn:Z:readjoiner
+H	ol:i:0
+H	in:Z:reads
+H	cn:i:0
+H	te:i:0
+S	0	CTTGTTCCTGACCTGGGATCCCGCAGGATGGAATTTAGGCCCCACCCTGTGGCCCTGGAGGAGGTAGTGCCATGCCCTCCTTGGGCATGAAGCTGACTTT
+S	1	GGGATGGCAGAGGCCATGTTTGCCACTGTCCTAAAGCCTAAAGCAGCCTGTGGAATGTGGGTGGGGTGAACTGGCTGAGTGGCTGTATCATAGGGCCTGT
+S	2	GGTCAGGAGACTGAGACCATCCTAGCTAAGACAGTGAAAACCCGTCTCTACTAAAAATACAAAAAATTAGCCAGGCATGGTGGCAGGTGCCTGTAGTCCC
+S	3	TTTTGCTGCTCACAGGCTGGTGGGAAGAGACCATTACTGTTCCCCGCAGGAGCCCAGTAGCAAAGTGCCAGGACCCTGGACCTGTGTGGGGCCCTGGGAC
+S	4	GTGATCAGTGGCCCATCGCCTGCCCTCGTGGTGGGTGCAGTTCACAGGTGCTGCCCCAGGCCTGGCACAGTGGCCTTTTCAGCCTGTCCCAGGATAGGGG
+S	5	TGGTGCCACCTGGGACCTGCTGGGCTGTAGCCACAATAGGCTGAGCAAAAGGTGAGTGCCTCCCACAAGGACGACCAAGGGGATGTGGACACCACAGAGT
+S	6	GAGGGCAGGCCTGCCTTTGAGGCTGTGAGGCAGGGCTGCGGCAGGCAGTGGCCAGTGGAGGGAACGGGGTGGGTGCCGAGGGGCTACATGGCCATCTCCC
+S	7	CTTTCTTTCTTTCTTTCTTTCTTTTTGTTTTCTTTCATCTTTCCTTCTTCTTTTTTGATGGAGTCTCACTCTGTTGCCTGGGCTGGAGTGCAGTAAGTGG
+S	8	AATTTGGCTAAGCAATTGTACTTCTAGATTATTTATTTATTTATTTATTTATTTATTTATTTATTATTGGGACAGAGTCTCACTCTGTCCCCCAGACTGG
+S	9	CCAAATGGTGCTGGGATTACAGGTTTGAGCCACCGCACCTGGCCAGTTTATAATGTTCATAATGGCTTTTGGAGCAGGAACCAGTGGGTGCTGCTTCTTG
+S	10	ATGAAGGTGGCATTGAGGGCTGAAGTCTCCCTCACCATGAAGGGATGATGTATAGTGGGTGGGGCCTCAGGAGGAAGAGGGCCACCAACCCTACCTGGCC
+S	11	CAGATACCAAACACCCAGAAATTCCATCTTGTCATTTATTTCCACAAGAAAAAACAAGAGACCTGTATTAAAATATCCACTTCTATTGAAAATAATCACA
+S	12	GAAAGGTCAGCTCCATGGGTCTCAGCTGGCTGGGCCCATTTGGGAGTTCTATCTTTGGGGAAGGATGCTTTCCTAGGCTCTGTTGCACGCTGGCCCTAGG
+S	13	AAGCTTCTCCAAGCAGGCTTGGAAAGAAATTTCCGCATATCACTTACGTCACTCTTGCCACTAGAAGGACAATTTTTACGGTGGAGTGGAAGAAAATGAA
+S	14	AAGGATGCCATTTTTAATCTGGGCTCGTACAAAGTCAATCATTCTTTGGTGCCTGGCAATGGTGGCCACTGCAGACACTTTAATCTTGGGCTAGGAATTG
+S	15	GAGACTCCATCTCAGAATAAATAAGTAAATAAATTAATTAATTTTTAAAATCCCACTACACAGGAAACCATTCTTTCATCCTGGACCTCTAGGTCTCTGC
+S	16	TTGAGAAGGGATGATTGTATTTTGCAATGTGAGAAGGACATGAGATTTGAAGGGCCAGGGATGGAATGAAATAGTTTGGATGTTGTACCCTTTAAGTCGC
+S	17	AAAGGGCTCCAGATGAGCTCAGGCCATGGCCTCAGAGGGTGCAAACTATAAGCCTTGGTGGCTTCCATGTGGTGTTAAGCCTGCAGGTGAGCAAAGTGCA
+S	18	CAAGCTCTCCAGGCTGAGGGAACAGGAGCAGGGGTTATGTTGGGTGAAAGTGGAAGTGAGGGACCTCCCAGGAGGTGTAGAATATTCCACTAGGGACACC
+S	19	CAAGTAGAATATATTATGCTTGAATGAAATTATGAGTTGAGAGTAGGAAATCTATGGTTAACCAAACAAATTAAATAATGTTTATGAGGAAATTATACTG
+S	20	GCTGGGATGAGCTGCTGCAAAGATTTCTGAAATGCCTTCAAGACCTTTTTTTAATTGTCTTGGCTATCAGCACCTAGCTTTTTTTCAGTTATGCAAATGT
+S	21	AAAACCTGAAATCACTAGAAAGGAATGTCTAGTGACTTGTGGGGGCCAAGGCCCTTGTTATGGGGATGAAGGCTCTTAGGTGGTAGCCCTCCAAGAGAAT
+S	22	CTATACTCAGATCCAGGAGCAAAGAAATGACTTAAAGCTGGAATTTATGTTTAAACAGGAAGCAGACCAGAAAAATTTGGAAAATTTGCAGTCTGGCCAT
+S	23	AAGGGTCCTCAGGGAGGTTTTACACATGGCAGAAGGTGAAGCAAAAGAAGGTATGTCACATGGCCAGAGCAGGAGCAAGCAGGGAGAGGTGCCACACACT
+S	24	GTGAATTTTTCTTAATATGCTCTGGCAGGATCAGAAAACTAATTATTTACACTAGAGTCACTTAACCTTTCCTCTTGGTCATTTGCATGTAAATTATTTT
+S	25	TCAGGAGGTCCTGACAGCATGTGCCCAAGGTGGTCAGGATACAGCTTGCTTCTATATATTTTAGGGAGAAAATACATCAGCCTGTAAACAAAAAATTAAA
+S	26	GCCCCTGGTGTTTCTCCCTCACCAGGGAGCAGCACCTTTTGCCAGTGACTCATCTGGCAGGTATCTCAAGTCAGCCCTTGCCTGGCCTGGCACCTTGCTG
+S	27	AGAGACAGGATTCATGCCAAGCCTGCCTACCCAGCACATCTCTCCTCATGGACATGAGAGAAAACCCTCCAGCTTGGCCCTCACATCTGTGAAACCCACA
+S	28	TTGTCATATACAGATGCTCACATTGTTTTGTTTATATGAAAATGTTTGTAACTACTACGCGCATTTTTGCTACTTAAGCCTTTTGGTCTTGCTGCCATAG
+S	29	TGAGACGGAGTCTCACTGTTGCCCAGGCTGGAGTGCAGTGGCATGATTTCAGCTCACTGTCGTCTCTGCCTCCCTGACTCAAGTGATTCTCCTGCCTCAG
+S	30	TTATATACATATATATCTGTCTAATATATATACACATATACATATATATGTATATGTGTATATATACATATACATATATAATATATGTATATGTGTATAT
+S	31	GAACATAGGGTTAGCCCAGAAAGTCCATCATTCCCTCACTTCCAGAGCTCCTCTCTACAGCCAGCCTCTGCTGGCTCCCTGGGGAGGGTGGACTCCTGGG
+S	32	GAGAGCACAATGAGAAAGGGAAAGAGGGACATCTGGACATAAGGGCCAACTGGAGGGCAGGGAAGGTAATTTTCCTTACATTTTAAACTCAGACCACATA
+S	33	ACAGTGCCCAGTTCCCCCAGGAGGACCTGGCTCACCCCAAGCCCACAGGAAGCACAGGGAAGTTTCTGCATGCCACAGAAACCAGGCTCTCCCCAAGAGG
+S	34	AGAGACAAACATCTGAAATTAAAATGTTTTATTTGAGATACAAGTATTACAATTTGACACATACATGCAGAATGGGTGTCTTTAGTATGTCCGAAACATA
+S	35	GCCAAGGTATGTTTCTCTCCTGGGATTACTGGTCAGTTTTATTTTTTTCCTCGGATAGATGTTTTAAGCCATAAATCTTGACATAGACCTGATGTAGACC
+S	36	ACCAGACCCCAACTCCAACACTGGGAATTACAATTCAACATGCGACTTAAAGGGTACAACATCCAAACTATTTCATTCCATCCCTGGCCCTTCAAATCTC
+S	37	AAGGTTAAGTGACTCTAGTGTAAATAATTAGTTTTCTGATCCTGCCAGAGCATATTAAGAAAAATTCACTTTGGCAGAATTATATGGATTTGAAGAAGTA
+S	38	GAGGACTTTGGGTTCAACCTAAGCACTTTATATCCTTTATTTTCAATTGGGTAGGAGATAAAATAATTCAGCAGCAATAAAAGTCACACTTCTTAAAGTT
+S	39	CCTGCAGCTTTTCTGAGTGTCTTTCCTCTTTCCCCATCTCTCAGCCACTTTTGTGCCAGCTCTAAGCACATAAGTGCTTTCTTGGGAGAAACAGACTGCT
+S	40	CGAGAATATGTTAAGATACCACAAAAACAAAAAATATACATAGTTAAGAGCTTTCATGAGTAAGCAAATTTTATACATATAAAAATAATTTACATGCAAA
+S	41	TTCGAATTTGCCAAGGTATGTTTCTCTCCTGGGATTACTGGTCAGTTTTATTTTTTTCCTCGGATAGATGTTTTAAGCCATAAATCTTGACATAGACCTG
+S	42	TCATCATAAATTGTAGGATAGATCTGATCCAGTTGGCTTTTCAGATTGAACCCTAGGCCTTACTCCCTCTCACCACTTAAACAATTGGCTATTAAATCAG
+S	43	GGCTGGTACAGAGGGGCTGAGTTGCAGCAGAAGACCCAGCCCCTGAGCTGCAGCACAGAGTGGAGGTAGTGGGGAGCTGTCACCTGGGTATGCCACCCTT
+S	44	GGAATACACAGTGTCAGAAGGAGGACCTGTGTCCAGCCCCTGTGTTCCCCACTCCTGGGCAGATGCGTACCCAGTGCAGCGAGAATGTCTGCGAGGGGGA
+S	45	TTTTACATTTACCCCTTTCCATCAAGATCTTTCTCTTAAAGCATCAACCATGTTTATAGTTGTACAACGACTACAAGTTAGGCTTAATCATCCCTTAGTG
+S	46	GGGAAATATTCACTCCTGTTTTCTTCTCTCCCCAATCTCAGCCTTTCGGTGACTGTTTGGGCAAAGCCTCCCTTGTGGTAAAAGATGCCTCACTTCTGGG
+S	47	GGAGGGAGGCTGAGGTGGGAGGATTGCTTGAGCCTAGGCGTTGGAGACTACAACGATCTAGGATTACACCACTGCACTCCAGTCTCAGCAACAGTAAGAC
+S	48	TACTTTTAAAAATCAAGAAAATAGATTGGTCAAGAGAATTCTGCTTGTTTTGATTTTGTTATCACTCGATTAGATTAACTGTGTTAGTATAAATGTCAGT
+S	49	GAGGTCCTCTTTGAGGGCTCCAGCCGGGCATAGGCTTCTCCCTGGGCATCCAGCCTTTCTCATACATCCTCTGAAATTTAGGCAGAGAATGACAAGCCTC
+S	50	TACCTATGACCTGGAAGCCCCCACTTTGCACCCTGAGATCAAACCAGTGCAAATCTTATATGTATTGATTTGTCAATGAAAACAGTCAAAGCCAGTCAGG
+S	51	TGTCAATAGACTTTTGAAGTTTATGATCAATCTTATTTGAGGATTGTAGGACCAACACCAAATCAGAGTGCAGTAAACTTAATTTCTCTTCTGGCCAACT
+S	52	ACAGGGTGGGGCCTAAATTCCATCCTGCGGGATCCCAGGTCAGGAACAAGGCCCAGGGATGCTGCTTCTGGGTCTGAACCCCAGGTATGGGTCAAGAGGG
+S	53	GAGACTAAAGTTTTATTATGCAGATGAAGCCTCCAGGTAGCAGGGTTCAGAGAGAATAGATCGGAAAGAAACCTAAGATCTGAAAATCTGTGTTGATGTT
+S	54	GGGAGCAGCTGGGAGTGTGGCCAGCTGGGAGGTAGGAGGACTCTTGGGGAAGTGACAGTCACCTGCATGAACTCAGGGCTAGAGAGCTGTGGCTCTGGGA
+S	55	TATTCTAGGGTAATTATTAAAACATTAAGAAATACTCTTTAATCATATATGTTTAAACTTGTAGAAAATCAATAACATACAAGTAAAGAAGATCAAGAAG
+S	56	ACTTTTAAACAAATAGATCTTGCAAGAATTCACTCACCATCACAAGGACAGCACCAGGGAGATGATGCTAGACCATTCCTGAGAAATCCATCCCCATGAT
+S	57	AACAAACAAACAAACTGTCAAAATCTGTACAGTATGTGAAGAGATTTGTTCTGAACCAAATATGAATGACCATGGTCCATGACACAGCCCTCAGAAGACC
+S	58	TGAGTTTAAAAGCTTCCTTTGGAGATGCCCCTGGCCCCCTCCACCTGTCAAGAAGAGGCCATCCTATCTGCCTGTCAAGAAGAGGCCATCCTGGGCAGCA
+S	59	GTCACAATGCAGACATTCCTTTCTATTGACAACTCTTTCAACCAATTGTCAATCAGAAAAATTTTAAATCTACTTATAACCTGGAAACCCCTGCTTTGAG
+S	60	GTAGTAGTTACAAACATTTTCATATAAACAAAACAATGTGAGCATCTGTATATGACAATAACTCATGCAAAAAATATTTTTTAACTGAGACAGAAATCAT
+S	61	TATTAAATAAGAATGACCAGGAGAGCCATGGGTAAGCTCCCTCCTCAGTCATCAGGACCGCAACAGAGAGTTTTCCCCTGTGTGGACAGGGTTCTGAATT
+S	62	GCTCTTAAGACTGTGTAACCCTAGGCCATGGTCACTCATATTGGCTTAGAATAAAGCTATCTAAATACTTTGGCAGAATTTGGTTTTTTCATCACCACAA
+S	63	GGCATGTGCCACCACCCTCGGCTAATTGTGTATTTTTAGTAGAGACGGGGTTTCACCATGTTGGTCAGGCTGGTCTCGAACTCCTGACCTCAAGTGATCC
+S	64	ATATTATTAAAAGATAACGGAATACCTAACTAAAAAAAATGCGAGGAGGCATTGATGGGCCCATGTTTACTGAGCACATCCTGACTCCAGAATTAGAAAT
+S	65	CTCGGGAGGCTGAGGTAGGGCAATTGCCTGAACCCACGAGGCGGAGGTTGCAGTGAGCTGAGATCATGTCACTGGACTCCAGTCTGGGGGACAGAGTGAG
+S	66	AACCATCTGAATGGGCTTTCTTCTAGGCCAGGGCACTCTAAAATTGAAGAACCTGAACATTCCTTTCTATTGATAATACTTTCAGCCAGTTGAGCCCATT
+S	67	AGACAGGATTTTTGGCAAGAGAATAAAAGGTCAGAGTTGAGGCCTCAGTCCCCACTATTGGCCAAAGATCATTTTATGGAATGTATGTGAAGGCCAACAA
+S	68	AGACACAAGTAATTCCAGGAAAACTGGAATTTAAGTTCAATATGTTACACTAAGTACATTTGAAAGTGCATGCATTTTTATTTTAATTTAAAAAATAAAT
+S	69	ATCCCATGTCCCCCAGCCGGACCCCATGTCCGGGAGATGGCCATGTAGCCCCTCGGCACCCACCCCGTTCCCTCCACTGGCCACTGCCTGCCGCAGCCCT
+L	6	+	69	-	69M
+L	52	-	0	+	50M
+L	16	+	36	-	59M
+L	41	+	35	+	91M
+L	37	-	24	+	69M
+L	60	-	28	+	58M
diff --git a/testdata/readjoiner/70x_100nt.gfa2 b/testdata/readjoiner/70x_100nt.gfa2
new file mode 100644
index 0000000..251cb51
--- /dev/null
+++ b/testdata/readjoiner/70x_100nt.gfa2
@@ -0,0 +1,82 @@
+H	VN:Z:2.0
+H	pn:Z:readjoiner
+H	ol:i:0
+H	in:Z:reads
+H	cn:i:0
+H	te:i:0
+S	0	100	CTTGTTCCTGACCTGGGATCCCGCAGGATGGAATTTAGGCCCCACCCTGTGGCCCTGGAGGAGGTAGTGCCATGCCCTCCTTGGGCATGAAGCTGACTTT
+S	1	100	GGGATGGCAGAGGCCATGTTTGCCACTGTCCTAAAGCCTAAAGCAGCCTGTGGAATGTGGGTGGGGTGAACTGGCTGAGTGGCTGTATCATAGGGCCTGT
+S	2	100	GGTCAGGAGACTGAGACCATCCTAGCTAAGACAGTGAAAACCCGTCTCTACTAAAAATACAAAAAATTAGCCAGGCATGGTGGCAGGTGCCTGTAGTCCC
+S	3	100	TTTTGCTGCTCACAGGCTGGTGGGAAGAGACCATTACTGTTCCCCGCAGGAGCCCAGTAGCAAAGTGCCAGGACCCTGGACCTGTGTGGGGCCCTGGGAC
+S	4	100	GTGATCAGTGGCCCATCGCCTGCCCTCGTGGTGGGTGCAGTTCACAGGTGCTGCCCCAGGCCTGGCACAGTGGCCTTTTCAGCCTGTCCCAGGATAGGGG
+S	5	100	TGGTGCCACCTGGGACCTGCTGGGCTGTAGCCACAATAGGCTGAGCAAAAGGTGAGTGCCTCCCACAAGGACGACCAAGGGGATGTGGACACCACAGAGT
+S	6	100	GAGGGCAGGCCTGCCTTTGAGGCTGTGAGGCAGGGCTGCGGCAGGCAGTGGCCAGTGGAGGGAACGGGGTGGGTGCCGAGGGGCTACATGGCCATCTCCC
+S	7	100	CTTTCTTTCTTTCTTTCTTTCTTTTTGTTTTCTTTCATCTTTCCTTCTTCTTTTTTGATGGAGTCTCACTCTGTTGCCTGGGCTGGAGTGCAGTAAGTGG
+S	8	100	AATTTGGCTAAGCAATTGTACTTCTAGATTATTTATTTATTTATTTATTTATTTATTTATTTATTATTGGGACAGAGTCTCACTCTGTCCCCCAGACTGG
+S	9	100	CCAAATGGTGCTGGGATTACAGGTTTGAGCCACCGCACCTGGCCAGTTTATAATGTTCATAATGGCTTTTGGAGCAGGAACCAGTGGGTGCTGCTTCTTG
+S	10	100	ATGAAGGTGGCATTGAGGGCTGAAGTCTCCCTCACCATGAAGGGATGATGTATAGTGGGTGGGGCCTCAGGAGGAAGAGGGCCACCAACCCTACCTGGCC
+S	11	100	CAGATACCAAACACCCAGAAATTCCATCTTGTCATTTATTTCCACAAGAAAAAACAAGAGACCTGTATTAAAATATCCACTTCTATTGAAAATAATCACA
+S	12	100	GAAAGGTCAGCTCCATGGGTCTCAGCTGGCTGGGCCCATTTGGGAGTTCTATCTTTGGGGAAGGATGCTTTCCTAGGCTCTGTTGCACGCTGGCCCTAGG
+S	13	100	AAGCTTCTCCAAGCAGGCTTGGAAAGAAATTTCCGCATATCACTTACGTCACTCTTGCCACTAGAAGGACAATTTTTACGGTGGAGTGGAAGAAAATGAA
+S	14	100	AAGGATGCCATTTTTAATCTGGGCTCGTACAAAGTCAATCATTCTTTGGTGCCTGGCAATGGTGGCCACTGCAGACACTTTAATCTTGGGCTAGGAATTG
+S	15	100	GAGACTCCATCTCAGAATAAATAAGTAAATAAATTAATTAATTTTTAAAATCCCACTACACAGGAAACCATTCTTTCATCCTGGACCTCTAGGTCTCTGC
+S	16	100	TTGAGAAGGGATGATTGTATTTTGCAATGTGAGAAGGACATGAGATTTGAAGGGCCAGGGATGGAATGAAATAGTTTGGATGTTGTACCCTTTAAGTCGC
+S	17	100	AAAGGGCTCCAGATGAGCTCAGGCCATGGCCTCAGAGGGTGCAAACTATAAGCCTTGGTGGCTTCCATGTGGTGTTAAGCCTGCAGGTGAGCAAAGTGCA
+S	18	100	CAAGCTCTCCAGGCTGAGGGAACAGGAGCAGGGGTTATGTTGGGTGAAAGTGGAAGTGAGGGACCTCCCAGGAGGTGTAGAATATTCCACTAGGGACACC
+S	19	100	CAAGTAGAATATATTATGCTTGAATGAAATTATGAGTTGAGAGTAGGAAATCTATGGTTAACCAAACAAATTAAATAATGTTTATGAGGAAATTATACTG
+S	20	100	GCTGGGATGAGCTGCTGCAAAGATTTCTGAAATGCCTTCAAGACCTTTTTTTAATTGTCTTGGCTATCAGCACCTAGCTTTTTTTCAGTTATGCAAATGT
+S	21	100	AAAACCTGAAATCACTAGAAAGGAATGTCTAGTGACTTGTGGGGGCCAAGGCCCTTGTTATGGGGATGAAGGCTCTTAGGTGGTAGCCCTCCAAGAGAAT
+S	22	100	CTATACTCAGATCCAGGAGCAAAGAAATGACTTAAAGCTGGAATTTATGTTTAAACAGGAAGCAGACCAGAAAAATTTGGAAAATTTGCAGTCTGGCCAT
+S	23	100	AAGGGTCCTCAGGGAGGTTTTACACATGGCAGAAGGTGAAGCAAAAGAAGGTATGTCACATGGCCAGAGCAGGAGCAAGCAGGGAGAGGTGCCACACACT
+S	24	100	GTGAATTTTTCTTAATATGCTCTGGCAGGATCAGAAAACTAATTATTTACACTAGAGTCACTTAACCTTTCCTCTTGGTCATTTGCATGTAAATTATTTT
+S	25	100	TCAGGAGGTCCTGACAGCATGTGCCCAAGGTGGTCAGGATACAGCTTGCTTCTATATATTTTAGGGAGAAAATACATCAGCCTGTAAACAAAAAATTAAA
+S	26	100	GCCCCTGGTGTTTCTCCCTCACCAGGGAGCAGCACCTTTTGCCAGTGACTCATCTGGCAGGTATCTCAAGTCAGCCCTTGCCTGGCCTGGCACCTTGCTG
+S	27	100	AGAGACAGGATTCATGCCAAGCCTGCCTACCCAGCACATCTCTCCTCATGGACATGAGAGAAAACCCTCCAGCTTGGCCCTCACATCTGTGAAACCCACA
+S	28	100	TTGTCATATACAGATGCTCACATTGTTTTGTTTATATGAAAATGTTTGTAACTACTACGCGCATTTTTGCTACTTAAGCCTTTTGGTCTTGCTGCCATAG
+S	29	100	TGAGACGGAGTCTCACTGTTGCCCAGGCTGGAGTGCAGTGGCATGATTTCAGCTCACTGTCGTCTCTGCCTCCCTGACTCAAGTGATTCTCCTGCCTCAG
+S	30	100	TTATATACATATATATCTGTCTAATATATATACACATATACATATATATGTATATGTGTATATATACATATACATATATAATATATGTATATGTGTATAT
+S	31	100	GAACATAGGGTTAGCCCAGAAAGTCCATCATTCCCTCACTTCCAGAGCTCCTCTCTACAGCCAGCCTCTGCTGGCTCCCTGGGGAGGGTGGACTCCTGGG
+S	32	100	GAGAGCACAATGAGAAAGGGAAAGAGGGACATCTGGACATAAGGGCCAACTGGAGGGCAGGGAAGGTAATTTTCCTTACATTTTAAACTCAGACCACATA
+S	33	100	ACAGTGCCCAGTTCCCCCAGGAGGACCTGGCTCACCCCAAGCCCACAGGAAGCACAGGGAAGTTTCTGCATGCCACAGAAACCAGGCTCTCCCCAAGAGG
+S	34	100	AGAGACAAACATCTGAAATTAAAATGTTTTATTTGAGATACAAGTATTACAATTTGACACATACATGCAGAATGGGTGTCTTTAGTATGTCCGAAACATA
+S	35	100	GCCAAGGTATGTTTCTCTCCTGGGATTACTGGTCAGTTTTATTTTTTTCCTCGGATAGATGTTTTAAGCCATAAATCTTGACATAGACCTGATGTAGACC
+S	36	100	ACCAGACCCCAACTCCAACACTGGGAATTACAATTCAACATGCGACTTAAAGGGTACAACATCCAAACTATTTCATTCCATCCCTGGCCCTTCAAATCTC
+S	37	100	AAGGTTAAGTGACTCTAGTGTAAATAATTAGTTTTCTGATCCTGCCAGAGCATATTAAGAAAAATTCACTTTGGCAGAATTATATGGATTTGAAGAAGTA
+S	38	100	GAGGACTTTGGGTTCAACCTAAGCACTTTATATCCTTTATTTTCAATTGGGTAGGAGATAAAATAATTCAGCAGCAATAAAAGTCACACTTCTTAAAGTT
+S	39	100	CCTGCAGCTTTTCTGAGTGTCTTTCCTCTTTCCCCATCTCTCAGCCACTTTTGTGCCAGCTCTAAGCACATAAGTGCTTTCTTGGGAGAAACAGACTGCT
+S	40	100	CGAGAATATGTTAAGATACCACAAAAACAAAAAATATACATAGTTAAGAGCTTTCATGAGTAAGCAAATTTTATACATATAAAAATAATTTACATGCAAA
+S	41	100	TTCGAATTTGCCAAGGTATGTTTCTCTCCTGGGATTACTGGTCAGTTTTATTTTTTTCCTCGGATAGATGTTTTAAGCCATAAATCTTGACATAGACCTG
+S	42	100	TCATCATAAATTGTAGGATAGATCTGATCCAGTTGGCTTTTCAGATTGAACCCTAGGCCTTACTCCCTCTCACCACTTAAACAATTGGCTATTAAATCAG
+S	43	100	GGCTGGTACAGAGGGGCTGAGTTGCAGCAGAAGACCCAGCCCCTGAGCTGCAGCACAGAGTGGAGGTAGTGGGGAGCTGTCACCTGGGTATGCCACCCTT
+S	44	100	GGAATACACAGTGTCAGAAGGAGGACCTGTGTCCAGCCCCTGTGTTCCCCACTCCTGGGCAGATGCGTACCCAGTGCAGCGAGAATGTCTGCGAGGGGGA
+S	45	100	TTTTACATTTACCCCTTTCCATCAAGATCTTTCTCTTAAAGCATCAACCATGTTTATAGTTGTACAACGACTACAAGTTAGGCTTAATCATCCCTTAGTG
+S	46	100	GGGAAATATTCACTCCTGTTTTCTTCTCTCCCCAATCTCAGCCTTTCGGTGACTGTTTGGGCAAAGCCTCCCTTGTGGTAAAAGATGCCTCACTTCTGGG
+S	47	100	GGAGGGAGGCTGAGGTGGGAGGATTGCTTGAGCCTAGGCGTTGGAGACTACAACGATCTAGGATTACACCACTGCACTCCAGTCTCAGCAACAGTAAGAC
+S	48	100	TACTTTTAAAAATCAAGAAAATAGATTGGTCAAGAGAATTCTGCTTGTTTTGATTTTGTTATCACTCGATTAGATTAACTGTGTTAGTATAAATGTCAGT
+S	49	100	GAGGTCCTCTTTGAGGGCTCCAGCCGGGCATAGGCTTCTCCCTGGGCATCCAGCCTTTCTCATACATCCTCTGAAATTTAGGCAGAGAATGACAAGCCTC
+S	50	100	TACCTATGACCTGGAAGCCCCCACTTTGCACCCTGAGATCAAACCAGTGCAAATCTTATATGTATTGATTTGTCAATGAAAACAGTCAAAGCCAGTCAGG
+S	51	100	TGTCAATAGACTTTTGAAGTTTATGATCAATCTTATTTGAGGATTGTAGGACCAACACCAAATCAGAGTGCAGTAAACTTAATTTCTCTTCTGGCCAACT
+S	52	100	ACAGGGTGGGGCCTAAATTCCATCCTGCGGGATCCCAGGTCAGGAACAAGGCCCAGGGATGCTGCTTCTGGGTCTGAACCCCAGGTATGGGTCAAGAGGG
+S	53	100	GAGACTAAAGTTTTATTATGCAGATGAAGCCTCCAGGTAGCAGGGTTCAGAGAGAATAGATCGGAAAGAAACCTAAGATCTGAAAATCTGTGTTGATGTT
+S	54	100	GGGAGCAGCTGGGAGTGTGGCCAGCTGGGAGGTAGGAGGACTCTTGGGGAAGTGACAGTCACCTGCATGAACTCAGGGCTAGAGAGCTGTGGCTCTGGGA
+S	55	100	TATTCTAGGGTAATTATTAAAACATTAAGAAATACTCTTTAATCATATATGTTTAAACTTGTAGAAAATCAATAACATACAAGTAAAGAAGATCAAGAAG
+S	56	100	ACTTTTAAACAAATAGATCTTGCAAGAATTCACTCACCATCACAAGGACAGCACCAGGGAGATGATGCTAGACCATTCCTGAGAAATCCATCCCCATGAT
+S	57	100	AACAAACAAACAAACTGTCAAAATCTGTACAGTATGTGAAGAGATTTGTTCTGAACCAAATATGAATGACCATGGTCCATGACACAGCCCTCAGAAGACC
+S	58	100	TGAGTTTAAAAGCTTCCTTTGGAGATGCCCCTGGCCCCCTCCACCTGTCAAGAAGAGGCCATCCTATCTGCCTGTCAAGAAGAGGCCATCCTGGGCAGCA
+S	59	100	GTCACAATGCAGACATTCCTTTCTATTGACAACTCTTTCAACCAATTGTCAATCAGAAAAATTTTAAATCTACTTATAACCTGGAAACCCCTGCTTTGAG
+S	60	100	GTAGTAGTTACAAACATTTTCATATAAACAAAACAATGTGAGCATCTGTATATGACAATAACTCATGCAAAAAATATTTTTTAACTGAGACAGAAATCAT
+S	61	100	TATTAAATAAGAATGACCAGGAGAGCCATGGGTAAGCTCCCTCCTCAGTCATCAGGACCGCAACAGAGAGTTTTCCCCTGTGTGGACAGGGTTCTGAATT
+S	62	100	GCTCTTAAGACTGTGTAACCCTAGGCCATGGTCACTCATATTGGCTTAGAATAAAGCTATCTAAATACTTTGGCAGAATTTGGTTTTTTCATCACCACAA
+S	63	100	GGCATGTGCCACCACCCTCGGCTAATTGTGTATTTTTAGTAGAGACGGGGTTTCACCATGTTGGTCAGGCTGGTCTCGAACTCCTGACCTCAAGTGATCC
+S	64	100	ATATTATTAAAAGATAACGGAATACCTAACTAAAAAAAATGCGAGGAGGCATTGATGGGCCCATGTTTACTGAGCACATCCTGACTCCAGAATTAGAAAT
+S	65	100	CTCGGGAGGCTGAGGTAGGGCAATTGCCTGAACCCACGAGGCGGAGGTTGCAGTGAGCTGAGATCATGTCACTGGACTCCAGTCTGGGGGACAGAGTGAG
+S	66	100	AACCATCTGAATGGGCTTTCTTCTAGGCCAGGGCACTCTAAAATTGAAGAACCTGAACATTCCTTTCTATTGATAATACTTTCAGCCAGTTGAGCCCATT
+S	67	100	AGACAGGATTTTTGGCAAGAGAATAAAAGGTCAGAGTTGAGGCCTCAGTCCCCACTATTGGCCAAAGATCATTTTATGGAATGTATGTGAAGGCCAACAA
+S	68	100	AGACACAAGTAATTCCAGGAAAACTGGAATTTAAGTTCAATATGTTACACTAAGTACATTTGAAAGTGCATGCATTTTTATTTTAATTTAAAAAATAAAT
+S	69	100	ATCCCATGTCCCCCAGCCGGACCCCATGTCCGGGAGATGGCCATGTAGCCCCTCGGCACCCACCCCGTTCCCTCCACTGGCCACTGCCTGCCGCAGCCCT
+E	*	6+	69-	31	100$	31	100$	69M
+E	*	52-	0+	0	50	0	50	50M
+E	*	16+	36-	41	100$	41	100$	59M
+E	*	41+	35+	9	100$	0	91	91M
+E	*	37-	24+	0	69	0	69	69M
+E	*	60-	28+	0	58	0	58	58M
diff --git a/testdata/readjoiner/contained_varlen.gfa1 b/testdata/readjoiner/contained_varlen.gfa1
new file mode 100644
index 0000000..bdb201f
--- /dev/null
+++ b/testdata/readjoiner/contained_varlen.gfa1
@@ -0,0 +1,11 @@
+H	VN:Z:1.0
+H	pn:Z:readjoiner
+H	ol:i:0
+H	in:Z:reads
+H	cn:i:0
+H	te:i:0
+S	0	GCTAGTCAGTTTTTTTTTTCGATCGATGCGGCGAGGAGAGGAGAGTCATTCGATCATGGCATCGAGCGATT
+S	1	GCTAGTCAGTTTTTTTTTTCGATCGATGCGGCGAGGAGAGGAGAGTCATTCGATCATGGCATCGAGCGAT
+S	2	CTAGTCAGTTTTTTTTTTCGATCGATGCGGCGAGGAGAGGAGAGTCATTCGATCATGGCATCGAGCGATT
+S	3	CTAGTCAGTTTTTTTTTTCGATCGATGCGGCGAGGAGAGGAGAGTCATTCGATCATGGCATCGAGCGAT
+S	4	GCTAGTCAGTTTTTATTTTCGATCGATGCGGCGAGGAGAGGAGAGTCATTCGATCATGGCATCGAGCGATT
diff --git a/testdata/readjoiner/contained_varlen.gfa2 b/testdata/readjoiner/contained_varlen.gfa2
new file mode 100644
index 0000000..3f27a36
--- /dev/null
+++ b/testdata/readjoiner/contained_varlen.gfa2
@@ -0,0 +1,11 @@
+H	VN:Z:2.0
+H	pn:Z:readjoiner
+H	ol:i:0
+H	in:Z:reads
+H	cn:i:0
+H	te:i:0
+S	0	71	GCTAGTCAGTTTTTTTTTTCGATCGATGCGGCGAGGAGAGGAGAGTCATTCGATCATGGCATCGAGCGATT
+S	1	70	GCTAGTCAGTTTTTTTTTTCGATCGATGCGGCGAGGAGAGGAGAGTCATTCGATCATGGCATCGAGCGAT
+S	2	70	CTAGTCAGTTTTTTTTTTCGATCGATGCGGCGAGGAGAGGAGAGTCATTCGATCATGGCATCGAGCGATT
+S	3	69	CTAGTCAGTTTTTTTTTTCGATCGATGCGGCGAGGAGAGGAGAGTCATTCGATCATGGCATCGAGCGAT
+S	4	71	GCTAGTCAGTTTTTATTTTCGATCGATGCGGCGAGGAGAGGAGAGTCATTCGATCATGGCATCGAGCGATT
diff --git a/testdata/repfind-result/at1MB-Atinsert-greedy-20-700-75-3-39-a b/testdata/repfind-result/at1MB-Atinsert-greedy-20-700-75-3-39-a
index 244155b..22f4123 100644
--- a/testdata/repfind-result/at1MB-Atinsert-greedy-20-700-75-3-39-a
+++ b/testdata/repfind-result/at1MB-Atinsert-greedy-20-700-75-3-39-a
@@ -1,692 +1,912 @@
+# Options: -minidentity 75 -l 700 -seedlength 20 -extendgreedy -ii at1MB -q /local/kurtz/genometools/testsuite/../testdata/Atinsert.fna -outfmt alignment=70 polinfo -verify-alignment -history 60
+# Fields: s. len, s. seqnum, s. start, strand, q. len, q. seqnum, q. start, score, editdist, % identity
 852 1 0 F 852 1 0 1095 203 76.17
-atgnanantcaaaaatggagtntaggtttcatatctctcgcttttctcttcatcacttcctcttcagctg
-||  | | ||||||||  | | ||  ||||||||||||| |||||||||||||||||||||||||| || 
-atnnanantcaaaaatnnantntanntttcatatctctcncttttctcttcatcacttcctcttcanctn
-agttcatcattcaacaggtcacaaagggcanaggaatagagtacaacagttcttacagtctcgaggagaa
-| ||||||||||||||  |||||||   || |  |||| | ||||||| |||||||| |||| |  | ||
-anttcatcattcaacanntcacaaannncanannaatanantacaacanttcttacantctcnannanaa
-tcttggagtgacnagagagttgagagaagagcgaccatcgagtaagatagtgacaataacaagcttctca
-||||  | | || | | | || | | || | | |||||| | ||| ||| | |||||||||| |||||||
-tcttnnantnacnanananttnananaanancnaccatcnantaanatantnacaataacaancttctca
-gtgattaaaggcagaggagaaccctatgaatcctctgtttttgaggctgctggttacaaatggagattgg
- | ||||||  || |  | |||||||| |||||||| ||||| |  || ||  ||||||||  | |||  
-ntnattaaanncanannanaaccctatnaatcctctntttttnannctnctnnttacaaatnnanattnn
-ttttgtacgtgaatggtaataaaaacgacggtggaaatgatcatatttccctttacgcaaggatcgaaga
-|||| ||| | |||  |||||||||| ||  |  |||| ||||||||||||||||| |||  ||| || |
-ttttntacntnaatnntaataaaaacnacnntnnaaatnatcatatttccctttacncaannatcnaana
-gacaaactctcttccattaggttgggaagtgaatgttgatctcaaactctttgtccataatgggaagcta
- ||||||||||||||||||  ||   || | ||| || |||||||||||||| ||||||||   || |||
-nacaaactctcttccattannttnnnaantnaatnttnatctcaaactctttntccataatnnnaancta
-cacaaatatttgactgttacagatggcttanttgaagcgatataacaatgcnaaaaaagaatggggtttc
-||||||||||| ||| ||||| ||  |||| || || | |||||||||| | |||||| |||    ||||
-cacaaatatttnactnttacanatnncttanttnaancnatataacaatncnaaaaaanaatnnnntttc
-ggacaattgattcctcnatcaacattctacaacgcgaacgaaggttacctttgaccaaggacactggttc
-  |||||| ||||||| |||||||||||||||| | ||| ||  |||||||| |||||  |||||  |||
-nnacaattnattcctcnatcaacattctacaacncnaacnaannttacctttnaccaannacactnnttc
-cttttgggtggcnggaaaancctttattgtttaaaccngntccaccaacnaanaaaannantttctntnn
-|||||   |  |   |||| |||||||| ||||||||   ||||||||| || ||||  | ||||| |  
-cttttnnntnncnnnaaaancctttattntttaaaccnnntccaccaacnaanaaaannantttctntnn
-ntnntccaacannntncccnncnaatgttttttcccttnggaaaaanacctncgtttcctcctacctttg
- |  |||||||   | |||  | ||| |||||||||||   ||||| |||| | ||||||||||||||| 
-ntnntccaacannntncccnncnaatnttttttcccttnnnaaaaanacctncntttcctcctacctttn
-ggaaaaanaaanttcntttttactcccgaatgaattttccccctttgnaaaaaccgaatncctggttgga
-  ||||| ||| ||| ||||||||||| ||| ||||||||||||||  ||||||| ||| |||  ||  |
-nnaaaaanaaanttcntttttactcccnaatnaattttccccctttnnaaaaaccnaatncctnnttnna
-cttaggaattttaacccccnaaagggggaatggaangaaagaaaaaacccctttgcccnttcccaatcct
-||||  ||||||||||||| |||     |||  ||  ||| ||||||||||||| ||| |||||||||||
-cttannaattttaacccccnaaannnnnaatnnaannaaanaaaaaacccctttncccnttcccaatcct
-tccctantttgc
-|||||| ||| |
-tccctantttnc
+Sbjct  0    atgnanantcaaaaatggagtntaggtttcatatctctcgcttttctcttcatcacttcctcttcagctg  69
+            ||  | | ||||||||  | | ||  ||||||||||||| |||||||||||||||||||||||||| || 
+Query  0    atnnanantcaaaaatnnantntanntttcatatctctcncttttctcttcatcacttcctcttcanctn  69
+
+Sbjct  70   agttcatcattcaacaggtcacaaagggcanaggaatagagtacaacagttcttacagtctcgaggagaa  139
+            | ||||||||||||||  |||||||   || |  |||| | ||||||| |||||||| |||| |  | ||
+Query  70   anttcatcattcaacanntcacaaannncanannaatanantacaacanttcttacantctcnannanaa  139
+
+Sbjct  140  tcttggagtgacnagagagttgagagaagagcgaccatcgagtaagatagtgacaataacaagcttctca  209
+            ||||  | | || | | | || | | || | | |||||| | ||| ||| | |||||||||| |||||||
+Query  140  tcttnnantnacnanananttnananaanancnaccatcnantaanatantnacaataacaancttctca  209
+
+Sbjct  210  gtgattaaaggcagaggagaaccctatgaatcctctgtttttgaggctgctggttacaaatggagattgg  279
+             | ||||||  || |  | |||||||| |||||||| ||||| |  || ||  ||||||||  | |||  
+Query  210  ntnattaaanncanannanaaccctatnaatcctctntttttnannctnctnnttacaaatnnanattnn  279
+
+Sbjct  280  ttttgtacgtgaatggtaataaaaacgacggtggaaatgatcatatttccctttacgcaaggatcgaaga  349
+            |||| ||| | |||  |||||||||| ||  |  |||| ||||||||||||||||| |||  ||| || |
+Query  280  ttttntacntnaatnntaataaaaacnacnntnnaaatnatcatatttccctttacncaannatcnaana  349
+
+Sbjct  350  gacaaactctcttccattaggttgggaagtgaatgttgatctcaaactctttgtccataatgggaagcta  419
+             ||||||||||||||||||  ||   || | ||| || |||||||||||||| ||||||||   || |||
+Query  350  nacaaactctcttccattannttnnnaantnaatnttnatctcaaactctttntccataatnnnaancta  419
+
+Sbjct  420  cacaaatatttgactgttacagatggcttanttgaagcgatataacaatgcnaaaaaagaatggggtttc  489
+            ||||||||||| ||| ||||| ||  |||| || || | |||||||||| | |||||| |||    ||||
+Query  420  cacaaatatttnactnttacanatnncttanttnaancnatataacaatncnaaaaaanaatnnnntttc  489
+
+Sbjct  490  ggacaattgattcctcnatcaacattctacaacgcgaacgaaggttacctttgaccaaggacactggttc  559
+              |||||| ||||||| |||||||||||||||| | ||| ||  |||||||| |||||  |||||  |||
+Query  490  nnacaattnattcctcnatcaacattctacaacncnaacnaannttacctttnaccaannacactnnttc  559
+
+Sbjct  560  cttttgggtggcnggaaaancctttattgtttaaaccngntccaccaacnaanaaaannantttctntnn  629
+            |||||   |  |   |||| |||||||| ||||||||   ||||||||| || ||||  | ||||| |  
+Query  560  cttttnnntnncnnnaaaancctttattntttaaaccnnntccaccaacnaanaaaannantttctntnn  629
+
+Sbjct  630  ntnntccaacannntncccnncnaatgttttttcccttnggaaaaanacctncgtttcctcctacctttg  699
+             |  |||||||   | |||  | ||| |||||||||||   ||||| |||| | ||||||||||||||| 
+Query  630  ntnntccaacannntncccnncnaatnttttttcccttnnnaaaaanacctncntttcctcctacctttn  699
+
+Sbjct  700  ggaaaaanaaanttcntttttactcccgaatgaattttccccctttgnaaaaaccgaatncctggttgga  769
+              ||||| ||| ||| ||||||||||| ||| ||||||||||||||  ||||||| ||| |||  ||  |
+Query  700  nnaaaaanaaanttcntttttactcccnaatnaattttccccctttnnaaaaaccnaatncctnnttnna  769
+
+Sbjct  770  cttaggaattttaacccccnaaagggggaatggaangaaagaaaaaacccctttgcccnttcccaatcct  839
+            ||||  ||||||||||||| |||     |||  ||  ||| ||||||||||||| ||| |||||||||||
+Query  770  cttannaattttaacccccnaaannnnnaatnnaannaaanaaaaaacccctttncccnttcccaatcct  839
+
+Sbjct  840  tccctantttgc  851
+            |||||| ||| |
+Query  840  tccctantttnc  851
+
 # polishing(m=500,d=-500,p=30): 64/64
 718 2 1 F 718 2 1 995 147 79.53
-tgantgttgatctcaaactctttgtccataatgggaagctacacaaatatttgactgttacagatggctt
-| | | || |||||||||||||| ||||||||   || |||||||||||||| ||| ||||| ||  |||
-tnantnttnatctcaaactctttntccataatnnnaanctacacaaatatttnactnttacanatnnctt
-agtgaagcgatataacaatgcgaaaaaagaatggggtttcggacaattgattcctcgatcaacattctac
-| | || | |||||||||| | |||||| |||    ||||  |||||| ||||||| |||||||||||||
-antnaancnatataacaatncnaaaaaanaatnnnntttcnnacaattnattcctcnatcaacattctac
-aacgcgaacgaaggttaccttgaccaggacactggttcttttggtgctgagatctttattgttaaaccgg
-||| | ||| ||  ||||||| ||||  |||||  |||||||  | || | ||||||||| |||||||  
-aacncnaacnaannttaccttnaccannacactnnttcttttnntnctnanatctttattnttaaaccnn
-ctcaacaacaagagaaagttacattcatatcaaaccctccaaacaatgttttcacttggaagatacttcg
-||||||||||| | ||| ||||||||||||||||||||||||||||| |||||||||  || ||||||| 
-ctcaacaacaananaaanttacattcatatcaaaccctccaaacaatnttttcacttnnaanatacttcn
-tttctctaccttggaagataaattctattactccgatgattttctcgttgaagaccgatactggagacta
-||||||||||||  || ||||||||||||||||| || |||||||| || || ||| |||||  | ||||
-tttctctaccttnnaanataaattctattactccnatnattttctcnttnaanaccnatactnnanacta
-ggatttaacccgaaaggggatggaggaggaagaccacatgcacttccaatcttcctatttgctcaaggcc
-  ||||||||| |||    ||  |  |  || ||||||| |||||||||||||||||||| |||||  ||
-nnatttaacccnaaannnnatnnannannaanaccacatncacttccaatcttcctatttnctcaanncc
-ataaggcaaatgcagttgctacaaacacttggggagcggttaatctgcggttaaagaatcaacgaanttc
-||||  ||||| || || ||||||||||||    | |  ||||||| |  ||||| ||||||| || |||
-ataanncaaatncanttnctacaaacacttnnnnancnnttaatctncnnttaaanaatcaacnaanttc
-taaccatagacaatatntctgcacttggtacccattggaaacgttatggtntgggantaacatatctact
-|||||||| ||||||| ||| |||||  ||||||||  |||| ||||  | |   | |||||||||||||
-taaccatanacaatatntctncacttnntacccattnnaaacnttatnntntnnnantaacatatctact
-gttgctgattaacgagcatccaaaggattttggtgatgagccntatcttgaactgaatggttaagnccta
- || || |||||| | ||||||||  |||||  | || | || |||||| |||| |||  ||||  ||||
-nttnctnattaacnancatccaaannattttnntnatnanccntatcttnaactnaatnnttaannccta
-taccactctctccctnaattctccttcttntcncnacatcncnttnataaaaaatttattgataattttt
-||||||||||||||| ||||||||||||| || | ||||| | || |||||||||||||| |||||||||
-taccactctctccctnaattctccttcttntcncnacatcncnttnataaaaaatttattnataattttt
-tanaaacttatttttnta
-|| |||||||||||| ||
-tanaaacttatttttnta
+Sbjct  1    tgantgttgatctcaaactctttgtccataatgggaagctacacaaatatttgactgttacagatggctt  70
+            | | | || |||||||||||||| ||||||||   || |||||||||||||| ||| ||||| ||  |||
+Query  1    tnantnttnatctcaaactctttntccataatnnnaanctacacaaatatttnactnttacanatnnctt  70
+
+Sbjct  71   agtgaagcgatataacaatgcgaaaaaagaatggggtttcggacaattgattcctcgatcaacattctac  140
+            | | || | |||||||||| | |||||| |||    ||||  |||||| ||||||| |||||||||||||
+Query  71   antnaancnatataacaatncnaaaaaanaatnnnntttcnnacaattnattcctcnatcaacattctac  140
+
+Sbjct  141  aacgcgaacgaaggttaccttgaccaggacactggttcttttggtgctgagatctttattgttaaaccgg  210
+            ||| | ||| ||  ||||||| ||||  |||||  |||||||  | || | ||||||||| |||||||  
+Query  141  aacncnaacnaannttaccttnaccannacactnnttcttttnntnctnanatctttattnttaaaccnn  210
+
+Sbjct  211  ctcaacaacaagagaaagttacattcatatcaaaccctccaaacaatgttttcacttggaagatacttcg  280
+            ||||||||||| | ||| ||||||||||||||||||||||||||||| |||||||||  || ||||||| 
+Query  211  ctcaacaacaananaaanttacattcatatcaaaccctccaaacaatnttttcacttnnaanatacttcn  280
+
+Sbjct  281  tttctctaccttggaagataaattctattactccgatgattttctcgttgaagaccgatactggagacta  350
+            ||||||||||||  || ||||||||||||||||| || |||||||| || || ||| |||||  | ||||
+Query  281  tttctctaccttnnaanataaattctattactccnatnattttctcnttnaanaccnatactnnanacta  350
+
+Sbjct  351  ggatttaacccgaaaggggatggaggaggaagaccacatgcacttccaatcttcctatttgctcaaggcc  420
+              ||||||||| |||    ||  |  |  || ||||||| |||||||||||||||||||| |||||  ||
+Query  351  nnatttaacccnaaannnnatnnannannaanaccacatncacttccaatcttcctatttnctcaanncc  420
+
+Sbjct  421  ataaggcaaatgcagttgctacaaacacttggggagcggttaatctgcggttaaagaatcaacgaanttc  490
+            ||||  ||||| || || ||||||||||||    | |  ||||||| |  ||||| ||||||| || |||
+Query  421  ataanncaaatncanttnctacaaacacttnnnnancnnttaatctncnnttaaanaatcaacnaanttc  490
+
+Sbjct  491  taaccatagacaatatntctgcacttggtacccattggaaacgttatggtntgggantaacatatctact  560
+            |||||||| ||||||| ||| |||||  ||||||||  |||| ||||  | |   | |||||||||||||
+Query  491  taaccatanacaatatntctncacttnntacccattnnaaacnttatnntntnnnantaacatatctact  560
+
+Sbjct  561  gttgctgattaacgagcatccaaaggattttggtgatgagccntatcttgaactgaatggttaagnccta  630
+             || || |||||| | ||||||||  |||||  | || | || |||||| |||| |||  ||||  ||||
+Query  561  nttnctnattaacnancatccaaannattttnntnatnanccntatcttnaactnaatnnttaannccta  630
+
+Sbjct  631  taccactctctccctnaattctccttcttntcncnacatcncnttnataaaaaatttattgataattttt  700
+            ||||||||||||||| ||||||||||||| || | ||||| | || |||||||||||||| |||||||||
+Query  631  taccactctctccctnaattctccttcttntcncnacatcncnttnataaaaaatttattnataattttt  700
+
+Sbjct  701  tanaaacttatttttnta  718
+            || |||||||||||| ||
+Query  701  tanaaacttatttttnta  718
+
 # polishing(m=500,d=-500,p=30): 64/64
 718 2 1 F 718 2 1 995 147 79.53
-tgantgttgatctcaaactctttgtccataatgggaagctacacaaatatttgactgttacagatggctt
-| | | || |||||||||||||| ||||||||   || |||||||||||||| ||| ||||| ||  |||
-tnantnttnatctcaaactctttntccataatnnnaanctacacaaatatttnactnttacanatnnctt
-agtgaagcgatataacaatgcgaaaaaagaatggggtttcggacaattgattcctcgatcaacattctac
-| | || | |||||||||| | |||||| |||    ||||  |||||| ||||||| |||||||||||||
-antnaancnatataacaatncnaaaaaanaatnnnntttcnnacaattnattcctcnatcaacattctac
-aacgcgaacgaaggttaccttgaccaggacactggttcttttggtgctgagatctttattgttaaaccgg
-||| | ||| ||  ||||||| ||||  |||||  |||||||  | || | ||||||||| |||||||  
-aacncnaacnaannttaccttnaccannacactnnttcttttnntnctnanatctttattnttaaaccnn
-ctcaacaacaagagaaagttacattcatatcaaaccctccaaacaatgttttcacttggaagatacttcg
-||||||||||| | ||| ||||||||||||||||||||||||||||| |||||||||  || ||||||| 
-ctcaacaacaananaaanttacattcatatcaaaccctccaaacaatnttttcacttnnaanatacttcn
-tttctctaccttggaagataaattctattactccgatgattttctcgttgaagaccgatactggagacta
-||||||||||||  || ||||||||||||||||| || |||||||| || || ||| |||||  | ||||
-tttctctaccttnnaanataaattctattactccnatnattttctcnttnaanaccnatactnnanacta
-ggatttaacccgaaaggggatggaggaggaagaccacatgcacttccaatcttcctatttgctcaaggcc
-  ||||||||| |||    ||  |  |  || ||||||| |||||||||||||||||||| |||||  ||
-nnatttaacccnaaannnnatnnannannaanaccacatncacttccaatcttcctatttnctcaanncc
-ataaggcaaatgcagttgctacaaacacttggggagcggttaatctgcggttaaagaatcaacgaanttc
-||||  ||||| || || ||||||||||||    | |  ||||||| |  ||||| ||||||| || |||
-ataanncaaatncanttnctacaaacacttnnnnancnnttaatctncnnttaaanaatcaacnaanttc
-taaccatagacaatatntctgcacttggtacccattggaaacgttatggtntgggantaacatatctact
-|||||||| ||||||| ||| |||||  ||||||||  |||| ||||  | |   | |||||||||||||
-taaccatanacaatatntctncacttnntacccattnnaaacnttatnntntnnnantaacatatctact
-gttgctgattaacgagcatccaaaggattttggtgatgagccntatcttgaactgaatggttaagnccta
- || || |||||| | ||||||||  |||||  | || | || |||||| |||| |||  ||||  ||||
-nttnctnattaacnancatccaaannattttnntnatnanccntatcttnaactnaatnnttaannccta
-taccactctctccctnaattctccttcttntcncnacatcncnttnataaaaaatttattgataattttt
-||||||||||||||| ||||||||||||| || | ||||| | || |||||||||||||| |||||||||
-taccactctctccctnaattctccttcttntcncnacatcncnttnataaaaaatttattnataattttt
-tanaaacttatttttnta
-|| |||||||||||| ||
-tanaaacttatttttnta
+Sbjct  1    tgantgttgatctcaaactctttgtccataatgggaagctacacaaatatttgactgttacagatggctt  70
+            | | | || |||||||||||||| ||||||||   || |||||||||||||| ||| ||||| ||  |||
+Query  1    tnantnttnatctcaaactctttntccataatnnnaanctacacaaatatttnactnttacanatnnctt  70
+
+Sbjct  71   agtgaagcgatataacaatgcgaaaaaagaatggggtttcggacaattgattcctcgatcaacattctac  140
+            | | || | |||||||||| | |||||| |||    ||||  |||||| ||||||| |||||||||||||
+Query  71   antnaancnatataacaatncnaaaaaanaatnnnntttcnnacaattnattcctcnatcaacattctac  140
+
+Sbjct  141  aacgcgaacgaaggttaccttgaccaggacactggttcttttggtgctgagatctttattgttaaaccgg  210
+            ||| | ||| ||  ||||||| ||||  |||||  |||||||  | || | ||||||||| |||||||  
+Query  141  aacncnaacnaannttaccttnaccannacactnnttcttttnntnctnanatctttattnttaaaccnn  210
+
+Sbjct  211  ctcaacaacaagagaaagttacattcatatcaaaccctccaaacaatgttttcacttggaagatacttcg  280
+            ||||||||||| | ||| ||||||||||||||||||||||||||||| |||||||||  || ||||||| 
+Query  211  ctcaacaacaananaaanttacattcatatcaaaccctccaaacaatnttttcacttnnaanatacttcn  280
+
+Sbjct  281  tttctctaccttggaagataaattctattactccgatgattttctcgttgaagaccgatactggagacta  350
+            ||||||||||||  || ||||||||||||||||| || |||||||| || || ||| |||||  | ||||
+Query  281  tttctctaccttnnaanataaattctattactccnatnattttctcnttnaanaccnatactnnanacta  350
+
+Sbjct  351  ggatttaacccgaaaggggatggaggaggaagaccacatgcacttccaatcttcctatttgctcaaggcc  420
+              ||||||||| |||    ||  |  |  || ||||||| |||||||||||||||||||| |||||  ||
+Query  351  nnatttaacccnaaannnnatnnannannaanaccacatncacttccaatcttcctatttnctcaanncc  420
+
+Sbjct  421  ataaggcaaatgcagttgctacaaacacttggggagcggttaatctgcggttaaagaatcaacgaanttc  490
+            ||||  ||||| || || ||||||||||||    | |  ||||||| |  ||||| ||||||| || |||
+Query  421  ataanncaaatncanttnctacaaacacttnnnnancnnttaatctncnnttaaanaatcaacnaanttc  490
+
+Sbjct  491  taaccatagacaatatntctgcacttggtacccattggaaacgttatggtntgggantaacatatctact  560
+            |||||||| ||||||| ||| |||||  ||||||||  |||| ||||  | |   | |||||||||||||
+Query  491  taaccatanacaatatntctncacttnntacccattnnaaacnttatnntntnnnantaacatatctact  560
+
+Sbjct  561  gttgctgattaacgagcatccaaaggattttggtgatgagccntatcttgaactgaatggttaagnccta  630
+             || || |||||| | ||||||||  |||||  | || | || |||||| |||| |||  ||||  ||||
+Query  561  nttnctnattaacnancatccaaannattttnntnatnanccntatcttnaactnaatnnttaannccta  630
+
+Sbjct  631  taccactctctccctnaattctccttcttntcncnacatcncnttnataaaaaatttattgataattttt  700
+            ||||||||||||||| ||||||||||||| || | ||||| | || |||||||||||||| |||||||||
+Query  631  taccactctctccctnaattctccttcttntcncnacatcncnttnataaaaaatttattnataattttt  700
+
+Sbjct  701  tanaaacttatttttnta  718
+            || |||||||||||| ||
+Query  701  tanaaacttatttttnta  718
+
 # polishing(m=500,d=-500,p=30): 64/64
 745 3 1 F 745 3 1 1049 147 80.27
-tgaagcgatacaacgatgcaaaaaaagagtggggattcacacaattgatttctcttccaacattctacaa
-| || | ||||||| || |||||||| | |    |||||||||||| |||||||||||||||||||||||
-tnaancnatacaacnatncaaaaaaanantnnnnattcacacaattnatttctcttccaacattctacaa
-cgcgaacgaagggtacnttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgaca
-| | ||| ||   ||| || | ||  ||||| ||||||||  | || | ||||||||| ||||||| |||
-cncnaacnaannntacnttntncannacacancttcttttnntnctnanatcttcatcnttaacccnaca
-gaaaaacaagagaaagtcacattcatatcaaaccctccgaacaatgttttcacttggaagatacttcgtt
- |||||||| | ||| |||||||||||||||||||||| |||||| |||||||||  || ||||||| ||
-naaaaacaananaaantcacattcatatcaaaccctccnaacaatnttttcacttnnaanatacttcntt
-tctctaccttggaagataaattctattactctgatgattttctcgttgaagaccgatactggagattagg
-||||||||||  || ||||||||||||||||| || |||||||| || || ||| |||||  | ||||  
-tctctaccttnnaanataaattctattactctnatnattttctcnttnaanaccnatactnnanattann
-atttaacccgaaaggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggccat
-||||||||| |||  ||||  |  |   | ||||||| |||||||||||||||||||| |||||  ||||
-atttaacccnaaannatctnntnnannnanaccacatncacttccaatcttcctatatnctcaannccat
-aaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcca
-||  ||||| || || ||||||||||||    | |  ||||||| |  ||||| ||||||| || |||||
-aanncaaacncanttnttacaaacacttnnnnancnnttaatctncnnttaaanaatcaacnaanctcca
-accacaaacaattatattctgcagcttggtaccccgattcgaagcgattatggtgtgggagtgaacaata
-|||||||||||||||||||| || |||  |||||| |||| || | |||||  | |   | | |||||||
-accacaaacaattatattctncancttnntaccccnattcnaancnattatnntntnnnantnaacaata
-tcatattgatgtcagaagctaaaagatgcatcnaaagggtatatggtgaatgatgccattatcttttgaa
-||||||| || ||| || |||||| || |||| |||   |||||  | ||| || |||||||||||| ||
-tcatattnatntcanaanctaaaanatncatcnaaannntatatnntnaatnatnccattatcttttnaa
-actgaaatggttaaggtctctgtgaacaacatantctccncttaaatatatntcactacttctttatccc
-||| ||||  ||||  ||||| | ||||||||| ||||| ||||||||||| ||||||||||||||||||
-actnaaatnnttaanntctctntnaacaacatantctccncttaaatatatntcactacttctttatccc
-ccgnaataaccttacaaagaaaaattgatgatttaatttgttatacnacactttattnatgcctgtgang
-||  |||||||||||||| ||||||| || ||||||||| |||||| |||||||||| || ||| | |  
-ccnnaataaccttacaaanaaaaattnatnatttaatttnttatacnacactttattnatncctntnann
-taaccttgtttccgctccccnaatttccttttttttcctgttttt
-||||||| ||||| |||||| |||||||||||||||||| |||||
-taaccttntttccnctccccnaatttccttttttttcctnttttt
+Sbjct  1    tgaagcgatacaacgatgcaaaaaaagagtggggattcacacaattgatttctcttccaacattctacaa  70
+            | || | ||||||| || |||||||| | |    |||||||||||| |||||||||||||||||||||||
+Query  1    tnaancnatacaacnatncaaaaaaanantnnnnattcacacaattnatttctcttccaacattctacaa  70
+
+Sbjct  71   cgcgaacgaagggtacnttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgaca  140
+            | | ||| ||   ||| || | ||  ||||| ||||||||  | || | ||||||||| ||||||| |||
+Query  71   cncnaacnaannntacnttntncannacacancttcttttnntnctnanatcttcatcnttaacccnaca  140
+
+Sbjct  141  gaaaaacaagagaaagtcacattcatatcaaaccctccgaacaatgttttcacttggaagatacttcgtt  210
+             |||||||| | ||| |||||||||||||||||||||| |||||| |||||||||  || ||||||| ||
+Query  141  naaaaacaananaaantcacattcatatcaaaccctccnaacaatnttttcacttnnaanatacttcntt  210
+
+Sbjct  211  tctctaccttggaagataaattctattactctgatgattttctcgttgaagaccgatactggagattagg  280
+            ||||||||||  || ||||||||||||||||| || |||||||| || || ||| |||||  | ||||  
+Query  211  tctctaccttnnaanataaattctattactctnatnattttctcnttnaanaccnatactnnanattann  280
+
+Sbjct  281  atttaacccgaaaggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggccat  350
+            ||||||||| |||  ||||  |  |   | ||||||| |||||||||||||||||||| |||||  ||||
+Query  281  atttaacccnaaannatctnntnnannnanaccacatncacttccaatcttcctatatnctcaannccat  350
+
+Sbjct  351  aaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcca  420
+            ||  ||||| || || ||||||||||||    | |  ||||||| |  ||||| ||||||| || |||||
+Query  351  aanncaaacncanttnttacaaacacttnnnnancnnttaatctncnnttaaanaatcaacnaanctcca  420
+
+Sbjct  421  accacaaacaattatattctgcagcttggtaccccgattcgaagcgattatggtgtgggagtgaacaata  490
+            |||||||||||||||||||| || |||  |||||| |||| || | |||||  | |   | | |||||||
+Query  421  accacaaacaattatattctncancttnntaccccnattcnaancnattatnntntnnnantnaacaata  490
+
+Sbjct  491  tcatattgatgtcagaagctaaaagatgcatcnaaagggtatatggtgaatgatgccattatcttttgaa  560
+            ||||||| || ||| || |||||| || |||| |||   |||||  | ||| || |||||||||||| ||
+Query  491  tcatattnatntcanaanctaaaanatncatcnaaannntatatnntnaatnatnccattatcttttnaa  560
+
+Sbjct  561  actgaaatggttaaggtctctgtgaacaacatantctccncttaaatatatntcactacttctttatccc  630
+            ||| ||||  ||||  ||||| | ||||||||| ||||| ||||||||||| ||||||||||||||||||
+Query  561  actnaaatnnttaanntctctntnaacaacatantctccncttaaatatatntcactacttctttatccc  630
+
+Sbjct  631  ccgnaataaccttacaaagaaaaattgatgatttaatttgttatacnacactttattnatgcctgtgang  700
+            ||  |||||||||||||| ||||||| || ||||||||| |||||| |||||||||| || ||| | |  
+Query  631  ccnnaataaccttacaaanaaaaattnatnatttaatttnttatacnacactttattnatncctntnann  700
+
+Sbjct  701  taaccttgtttccgctccccnaatttccttttttttcctgttttt  745
+            ||||||| ||||| |||||| |||||||||||||||||| |||||
+Query  701  taaccttntttccnctccccnaatttccttttttttcctnttttt  745
+
 # polishing(m=500,d=-500,p=30): 64/64
 745 3 1 F 745 3 1 1049 147 80.27
-tgaagcgatacaacgatgcaaaaaaagagtggggattcacacaattgatttctcttccaacattctacaa
-| || | ||||||| || |||||||| | |    |||||||||||| |||||||||||||||||||||||
-tnaancnatacaacnatncaaaaaaanantnnnnattcacacaattnatttctcttccaacattctacaa
-cgcgaacgaagggtacnttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgaca
-| | ||| ||   ||| || | ||  ||||| ||||||||  | || | ||||||||| ||||||| |||
-cncnaacnaannntacnttntncannacacancttcttttnntnctnanatcttcatcnttaacccnaca
-gaaaaacaagagaaagtcacattcatatcaaaccctccgaacaatgttttcacttggaagatacttcgtt
- |||||||| | ||| |||||||||||||||||||||| |||||| |||||||||  || ||||||| ||
-naaaaacaananaaantcacattcatatcaaaccctccnaacaatnttttcacttnnaanatacttcntt
-tctctaccttggaagataaattctattactctgatgattttctcgttgaagaccgatactggagattagg
-||||||||||  || ||||||||||||||||| || |||||||| || || ||| |||||  | ||||  
-tctctaccttnnaanataaattctattactctnatnattttctcnttnaanaccnatactnnanattann
-atttaacccgaaaggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggccat
-||||||||| |||  ||||  |  |   | ||||||| |||||||||||||||||||| |||||  ||||
-atttaacccnaaannatctnntnnannnanaccacatncacttccaatcttcctatatnctcaannccat
-aaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcca
-||  ||||| || || ||||||||||||    | |  ||||||| |  ||||| ||||||| || |||||
-aanncaaacncanttnttacaaacacttnnnnancnnttaatctncnnttaaanaatcaacnaanctcca
-accacaaacaattatattctgcagcttggtaccccgattcgaagcgattatggtgtgggagtgaacaata
-|||||||||||||||||||| || |||  |||||| |||| || | |||||  | |   | | |||||||
-accacaaacaattatattctncancttnntaccccnattcnaancnattatnntntnnnantnaacaata
-tcatattgatgtcagaagctaaaagatgcatcnaaagggtatatggtgaatgatgccattatcttttgaa
-||||||| || ||| || |||||| || |||| |||   |||||  | ||| || |||||||||||| ||
-tcatattnatntcanaanctaaaanatncatcnaaannntatatnntnaatnatnccattatcttttnaa
-actgaaatggttaaggtctctgtgaacaacatantctccncttaaatatatntcactacttctttatccc
-||| ||||  ||||  ||||| | ||||||||| ||||| ||||||||||| ||||||||||||||||||
-actnaaatnnttaanntctctntnaacaacatantctccncttaaatatatntcactacttctttatccc
-ccgnaataaccttacaaagaaaaattgatgatttaatttgttatacnacactttattnatgcctgtgang
-||  |||||||||||||| ||||||| || ||||||||| |||||| |||||||||| || ||| | |  
-ccnnaataaccttacaaanaaaaattnatnatttaatttnttatacnacactttattnatncctntnann
-taaccttgtttccgctccccnaatttccttttttttcctgttttt
-||||||| ||||| |||||| |||||||||||||||||| |||||
-taaccttntttccnctccccnaatttccttttttttcctnttttt
+Sbjct  1    tgaagcgatacaacgatgcaaaaaaagagtggggattcacacaattgatttctcttccaacattctacaa  70
+            | || | ||||||| || |||||||| | |    |||||||||||| |||||||||||||||||||||||
+Query  1    tnaancnatacaacnatncaaaaaaanantnnnnattcacacaattnatttctcttccaacattctacaa  70
+
+Sbjct  71   cgcgaacgaagggtacnttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgaca  140
+            | | ||| ||   ||| || | ||  ||||| ||||||||  | || | ||||||||| ||||||| |||
+Query  71   cncnaacnaannntacnttntncannacacancttcttttnntnctnanatcttcatcnttaacccnaca  140
+
+Sbjct  141  gaaaaacaagagaaagtcacattcatatcaaaccctccgaacaatgttttcacttggaagatacttcgtt  210
+             |||||||| | ||| |||||||||||||||||||||| |||||| |||||||||  || ||||||| ||
+Query  141  naaaaacaananaaantcacattcatatcaaaccctccnaacaatnttttcacttnnaanatacttcntt  210
+
+Sbjct  211  tctctaccttggaagataaattctattactctgatgattttctcgttgaagaccgatactggagattagg  280
+            ||||||||||  || ||||||||||||||||| || |||||||| || || ||| |||||  | ||||  
+Query  211  tctctaccttnnaanataaattctattactctnatnattttctcnttnaanaccnatactnnanattann  280
+
+Sbjct  281  atttaacccgaaaggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggccat  350
+            ||||||||| |||  ||||  |  |   | ||||||| |||||||||||||||||||| |||||  ||||
+Query  281  atttaacccnaaannatctnntnnannnanaccacatncacttccaatcttcctatatnctcaannccat  350
+
+Sbjct  351  aaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcca  420
+            ||  ||||| || || ||||||||||||    | |  ||||||| |  ||||| ||||||| || |||||
+Query  351  aanncaaacncanttnttacaaacacttnnnnancnnttaatctncnnttaaanaatcaacnaanctcca  420
+
+Sbjct  421  accacaaacaattatattctgcagcttggtaccccgattcgaagcgattatggtgtgggagtgaacaata  490
+            |||||||||||||||||||| || |||  |||||| |||| || | |||||  | |   | | |||||||
+Query  421  accacaaacaattatattctncancttnntaccccnattcnaancnattatnntntnnnantnaacaata  490
+
+Sbjct  491  tcatattgatgtcagaagctaaaagatgcatcnaaagggtatatggtgaatgatgccattatcttttgaa  560
+            ||||||| || ||| || |||||| || |||| |||   |||||  | ||| || |||||||||||| ||
+Query  491  tcatattnatntcanaanctaaaanatncatcnaaannntatatnntnaatnatnccattatcttttnaa  560
+
+Sbjct  561  actgaaatggttaaggtctctgtgaacaacatantctccncttaaatatatntcactacttctttatccc  630
+            ||| ||||  ||||  ||||| | ||||||||| ||||| ||||||||||| ||||||||||||||||||
+Query  561  actnaaatnnttaanntctctntnaacaacatantctccncttaaatatatntcactacttctttatccc  630
+
+Sbjct  631  ccgnaataaccttacaaagaaaaattgatgatttaatttgttatacnacactttattnatgcctgtgang  700
+            ||  |||||||||||||| ||||||| || ||||||||| |||||| |||||||||| || ||| | |  
+Query  631  ccnnaataaccttacaaanaaaaattnatnatttaatttnttatacnacactttattnatncctntnann  700
+
+Sbjct  701  taaccttgtttccgctccccnaatttccttttttttcctgttttt  745
+            ||||||| ||||| |||||| |||||||||||||||||| |||||
+Query  701  taaccttntttccnctccccnaatttccttttttttcctnttttt  745
+
 # polishing(m=500,d=-500,p=30): 64/64
 745 3 1 F 745 3 1 1049 147 80.27
-tgaagcgatacaacgatgcaaaaaaagagtggggattcacacaattgatttctcttccaacattctacaa
-| || | ||||||| || |||||||| | |    |||||||||||| |||||||||||||||||||||||
-tnaancnatacaacnatncaaaaaaanantnnnnattcacacaattnatttctcttccaacattctacaa
-cgcgaacgaagggtacnttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgaca
-| | ||| ||   ||| || | ||  ||||| ||||||||  | || | ||||||||| ||||||| |||
-cncnaacnaannntacnttntncannacacancttcttttnntnctnanatcttcatcnttaacccnaca
-gaaaaacaagagaaagtcacattcatatcaaaccctccgaacaatgttttcacttggaagatacttcgtt
- |||||||| | ||| |||||||||||||||||||||| |||||| |||||||||  || ||||||| ||
-naaaaacaananaaantcacattcatatcaaaccctccnaacaatnttttcacttnnaanatacttcntt
-tctctaccttggaagataaattctattactctgatgattttctcgttgaagaccgatactggagattagg
-||||||||||  || ||||||||||||||||| || |||||||| || || ||| |||||  | ||||  
-tctctaccttnnaanataaattctattactctnatnattttctcnttnaanaccnatactnnanattann
-atttaacccgaaaggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggccat
-||||||||| |||  ||||  |  |   | ||||||| |||||||||||||||||||| |||||  ||||
-atttaacccnaaannatctnntnnannnanaccacatncacttccaatcttcctatatnctcaannccat
-aaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcca
-||  ||||| || || ||||||||||||    | |  ||||||| |  ||||| ||||||| || |||||
-aanncaaacncanttnttacaaacacttnnnnancnnttaatctncnnttaaanaatcaacnaanctcca
-accacaaacaattatattctgcagcttggtaccccgattcgaagcgattatggtgtgggagtgaacaata
-|||||||||||||||||||| || |||  |||||| |||| || | |||||  | |   | | |||||||
-accacaaacaattatattctncancttnntaccccnattcnaancnattatnntntnnnantnaacaata
-tcatattgatgtcagaagctaaaagatgcatcnaaagggtatatggtgaatgatgccattatcttttgaa
-||||||| || ||| || |||||| || |||| |||   |||||  | ||| || |||||||||||| ||
-tcatattnatntcanaanctaaaanatncatcnaaannntatatnntnaatnatnccattatcttttnaa
-actgaaatggttaaggtctctgtgaacaacatantctccncttaaatatatntcactacttctttatccc
-||| ||||  ||||  ||||| | ||||||||| ||||| ||||||||||| ||||||||||||||||||
-actnaaatnnttaanntctctntnaacaacatantctccncttaaatatatntcactacttctttatccc
-ccgnaataaccttacaaagaaaaattgatgatttaatttgttatacnacactttattnatgcctgtgang
-||  |||||||||||||| ||||||| || ||||||||| |||||| |||||||||| || ||| | |  
-ccnnaataaccttacaaanaaaaattnatnatttaatttnttatacnacactttattnatncctntnann
-taaccttgtttccgctccccnaatttccttttttttcctgttttt
-||||||| ||||| |||||| |||||||||||||||||| |||||
-taaccttntttccnctccccnaatttccttttttttcctnttttt
+Sbjct  1    tgaagcgatacaacgatgcaaaaaaagagtggggattcacacaattgatttctcttccaacattctacaa  70
+            | || | ||||||| || |||||||| | |    |||||||||||| |||||||||||||||||||||||
+Query  1    tnaancnatacaacnatncaaaaaaanantnnnnattcacacaattnatttctcttccaacattctacaa  70
+
+Sbjct  71   cgcgaacgaagggtacnttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgaca  140
+            | | ||| ||   ||| || | ||  ||||| ||||||||  | || | ||||||||| ||||||| |||
+Query  71   cncnaacnaannntacnttntncannacacancttcttttnntnctnanatcttcatcnttaacccnaca  140
+
+Sbjct  141  gaaaaacaagagaaagtcacattcatatcaaaccctccgaacaatgttttcacttggaagatacttcgtt  210
+             |||||||| | ||| |||||||||||||||||||||| |||||| |||||||||  || ||||||| ||
+Query  141  naaaaacaananaaantcacattcatatcaaaccctccnaacaatnttttcacttnnaanatacttcntt  210
+
+Sbjct  211  tctctaccttggaagataaattctattactctgatgattttctcgttgaagaccgatactggagattagg  280
+            ||||||||||  || ||||||||||||||||| || |||||||| || || ||| |||||  | ||||  
+Query  211  tctctaccttnnaanataaattctattactctnatnattttctcnttnaanaccnatactnnanattann  280
+
+Sbjct  281  atttaacccgaaaggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggccat  350
+            ||||||||| |||  ||||  |  |   | ||||||| |||||||||||||||||||| |||||  ||||
+Query  281  atttaacccnaaannatctnntnnannnanaccacatncacttccaatcttcctatatnctcaannccat  350
+
+Sbjct  351  aaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcca  420
+            ||  ||||| || || ||||||||||||    | |  ||||||| |  ||||| ||||||| || |||||
+Query  351  aanncaaacncanttnttacaaacacttnnnnancnnttaatctncnnttaaanaatcaacnaanctcca  420
+
+Sbjct  421  accacaaacaattatattctgcagcttggtaccccgattcgaagcgattatggtgtgggagtgaacaata  490
+            |||||||||||||||||||| || |||  |||||| |||| || | |||||  | |   | | |||||||
+Query  421  accacaaacaattatattctncancttnntaccccnattcnaancnattatnntntnnnantnaacaata  490
+
+Sbjct  491  tcatattgatgtcagaagctaaaagatgcatcnaaagggtatatggtgaatgatgccattatcttttgaa  560
+            ||||||| || ||| || |||||| || |||| |||   |||||  | ||| || |||||||||||| ||
+Query  491  tcatattnatntcanaanctaaaanatncatcnaaannntatatnntnaatnatnccattatcttttnaa  560
+
+Sbjct  561  actgaaatggttaaggtctctgtgaacaacatantctccncttaaatatatntcactacttctttatccc  630
+            ||| ||||  ||||  ||||| | ||||||||| ||||| ||||||||||| ||||||||||||||||||
+Query  561  actnaaatnnttaanntctctntnaacaacatantctccncttaaatatatntcactacttctttatccc  630
+
+Sbjct  631  ccgnaataaccttacaaagaaaaattgatgatttaatttgttatacnacactttattnatgcctgtgang  700
+            ||  |||||||||||||| ||||||| || ||||||||| |||||| |||||||||| || ||| | |  
+Query  631  ccnnaataaccttacaaanaaaaattnatnatttaatttnttatacnacactttattnatncctntnann  700
+
+Sbjct  701  taaccttgtttccgctccccnaatttccttttttttcctgttttt  745
+            ||||||| ||||| |||||| |||||||||||||||||| |||||
+Query  701  taaccttntttccnctccccnaatttccttttttttcctnttttt  745
+
 # polishing(m=500,d=-500,p=30): 64/64
 745 3 1 F 745 3 1 1049 147 80.27
-tgaagcgatacaacgatgcaaaaaaagagtggggattcacacaattgatttctcttccaacattctacaa
-| || | ||||||| || |||||||| | |    |||||||||||| |||||||||||||||||||||||
-tnaancnatacaacnatncaaaaaaanantnnnnattcacacaattnatttctcttccaacattctacaa
-cgcgaacgaagggtacnttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgaca
-| | ||| ||   ||| || | ||  ||||| ||||||||  | || | ||||||||| ||||||| |||
-cncnaacnaannntacnttntncannacacancttcttttnntnctnanatcttcatcnttaacccnaca
-gaaaaacaagagaaagtcacattcatatcaaaccctccgaacaatgttttcacttggaagatacttcgtt
- |||||||| | ||| |||||||||||||||||||||| |||||| |||||||||  || ||||||| ||
-naaaaacaananaaantcacattcatatcaaaccctccnaacaatnttttcacttnnaanatacttcntt
-tctctaccttggaagataaattctattactctgatgattttctcgttgaagaccgatactggagattagg
-||||||||||  || ||||||||||||||||| || |||||||| || || ||| |||||  | ||||  
-tctctaccttnnaanataaattctattactctnatnattttctcnttnaanaccnatactnnanattann
-atttaacccgaaaggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggccat
-||||||||| |||  ||||  |  |   | ||||||| |||||||||||||||||||| |||||  ||||
-atttaacccnaaannatctnntnnannnanaccacatncacttccaatcttcctatatnctcaannccat
-aaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcca
-||  ||||| || || ||||||||||||    | |  ||||||| |  ||||| ||||||| || |||||
-aanncaaacncanttnttacaaacacttnnnnancnnttaatctncnnttaaanaatcaacnaanctcca
-accacaaacaattatattctgcagcttggtaccccgattcgaagcgattatggtgtgggagtgaacaata
-|||||||||||||||||||| || |||  |||||| |||| || | |||||  | |   | | |||||||
-accacaaacaattatattctncancttnntaccccnattcnaancnattatnntntnnnantnaacaata
-tcatattgatgtcagaagctaaaagatgcatcnaaagggtatatggtgaatgatgccattatcttttgaa
-||||||| || ||| || |||||| || |||| |||   |||||  | ||| || |||||||||||| ||
-tcatattnatntcanaanctaaaanatncatcnaaannntatatnntnaatnatnccattatcttttnaa
-actgaaatggttaaggtctctgtgaacaacatantctccncttaaatatatntcactacttctttatccc
-||| ||||  ||||  ||||| | ||||||||| ||||| ||||||||||| ||||||||||||||||||
-actnaaatnnttaanntctctntnaacaacatantctccncttaaatatatntcactacttctttatccc
-ccgnaataaccttacaaagaaaaattgatgatttaatttgttatacnacactttattnatgcctgtgang
-||  |||||||||||||| ||||||| || ||||||||| |||||| |||||||||| || ||| | |  
-ccnnaataaccttacaaanaaaaattnatnatttaatttnttatacnacactttattnatncctntnann
-taaccttgtttccgctccccnaatttccttttttttcctgttttt
-||||||| ||||| |||||| |||||||||||||||||| |||||
-taaccttntttccnctccccnaatttccttttttttcctnttttt
+Sbjct  1    tgaagcgatacaacgatgcaaaaaaagagtggggattcacacaattgatttctcttccaacattctacaa  70
+            | || | ||||||| || |||||||| | |    |||||||||||| |||||||||||||||||||||||
+Query  1    tnaancnatacaacnatncaaaaaaanantnnnnattcacacaattnatttctcttccaacattctacaa  70
+
+Sbjct  71   cgcgaacgaagggtacnttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgaca  140
+            | | ||| ||   ||| || | ||  ||||| ||||||||  | || | ||||||||| ||||||| |||
+Query  71   cncnaacnaannntacnttntncannacacancttcttttnntnctnanatcttcatcnttaacccnaca  140
+
+Sbjct  141  gaaaaacaagagaaagtcacattcatatcaaaccctccgaacaatgttttcacttggaagatacttcgtt  210
+             |||||||| | ||| |||||||||||||||||||||| |||||| |||||||||  || ||||||| ||
+Query  141  naaaaacaananaaantcacattcatatcaaaccctccnaacaatnttttcacttnnaanatacttcntt  210
+
+Sbjct  211  tctctaccttggaagataaattctattactctgatgattttctcgttgaagaccgatactggagattagg  280
+            ||||||||||  || ||||||||||||||||| || |||||||| || || ||| |||||  | ||||  
+Query  211  tctctaccttnnaanataaattctattactctnatnattttctcnttnaanaccnatactnnanattann  280
+
+Sbjct  281  atttaacccgaaaggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggccat  350
+            ||||||||| |||  ||||  |  |   | ||||||| |||||||||||||||||||| |||||  ||||
+Query  281  atttaacccnaaannatctnntnnannnanaccacatncacttccaatcttcctatatnctcaannccat  350
+
+Sbjct  351  aaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcca  420
+            ||  ||||| || || ||||||||||||    | |  ||||||| |  ||||| ||||||| || |||||
+Query  351  aanncaaacncanttnttacaaacacttnnnnancnnttaatctncnnttaaanaatcaacnaanctcca  420
+
+Sbjct  421  accacaaacaattatattctgcagcttggtaccccgattcgaagcgattatggtgtgggagtgaacaata  490
+            |||||||||||||||||||| || |||  |||||| |||| || | |||||  | |   | | |||||||
+Query  421  accacaaacaattatattctncancttnntaccccnattcnaancnattatnntntnnnantnaacaata  490
+
+Sbjct  491  tcatattgatgtcagaagctaaaagatgcatcnaaagggtatatggtgaatgatgccattatcttttgaa  560
+            ||||||| || ||| || |||||| || |||| |||   |||||  | ||| || |||||||||||| ||
+Query  491  tcatattnatntcanaanctaaaanatncatcnaaannntatatnntnaatnatnccattatcttttnaa  560
+
+Sbjct  561  actgaaatggttaaggtctctgtgaacaacatantctccncttaaatatatntcactacttctttatccc  630
+            ||| ||||  ||||  ||||| | ||||||||| ||||| ||||||||||| ||||||||||||||||||
+Query  561  actnaaatnnttaanntctctntnaacaacatantctccncttaaatatatntcactacttctttatccc  630
+
+Sbjct  631  ccgnaataaccttacaaagaaaaattgatgatttaatttgttatacnacactttattnatgcctgtgang  700
+            ||  |||||||||||||| ||||||| || ||||||||| |||||| |||||||||| || ||| | |  
+Query  631  ccnnaataaccttacaaanaaaaattnatnatttaatttnttatacnacactttattnatncctntnann  700
+
+Sbjct  701  taaccttgtttccgctccccnaatttccttttttttcctgttttt  745
+            ||||||| ||||| |||||| |||||||||||||||||| |||||
+Query  701  taaccttntttccnctccccnaatttccttttttttcctnttttt  745
+
 # polishing(m=500,d=-500,p=30): 64/64
 745 3 1 F 745 3 1 1049 147 80.27
-tgaagcgatacaacgatgcaaaaaaagagtggggattcacacaattgatttctcttccaacattctacaa
-| || | ||||||| || |||||||| | |    |||||||||||| |||||||||||||||||||||||
-tnaancnatacaacnatncaaaaaaanantnnnnattcacacaattnatttctcttccaacattctacaa
-cgcgaacgaagggtacnttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgaca
-| | ||| ||   ||| || | ||  ||||| ||||||||  | || | ||||||||| ||||||| |||
-cncnaacnaannntacnttntncannacacancttcttttnntnctnanatcttcatcnttaacccnaca
-gaaaaacaagagaaagtcacattcatatcaaaccctccgaacaatgttttcacttggaagatacttcgtt
- |||||||| | ||| |||||||||||||||||||||| |||||| |||||||||  || ||||||| ||
-naaaaacaananaaantcacattcatatcaaaccctccnaacaatnttttcacttnnaanatacttcntt
-tctctaccttggaagataaattctattactctgatgattttctcgttgaagaccgatactggagattagg
-||||||||||  || ||||||||||||||||| || |||||||| || || ||| |||||  | ||||  
-tctctaccttnnaanataaattctattactctnatnattttctcnttnaanaccnatactnnanattann
-atttaacccgaaaggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggccat
-||||||||| |||  ||||  |  |   | ||||||| |||||||||||||||||||| |||||  ||||
-atttaacccnaaannatctnntnnannnanaccacatncacttccaatcttcctatatnctcaannccat
-aaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcca
-||  ||||| || || ||||||||||||    | |  ||||||| |  ||||| ||||||| || |||||
-aanncaaacncanttnttacaaacacttnnnnancnnttaatctncnnttaaanaatcaacnaanctcca
-accacaaacaattatattctgcagcttggtaccccgattcgaagcgattatggtgtgggagtgaacaata
-|||||||||||||||||||| || |||  |||||| |||| || | |||||  | |   | | |||||||
-accacaaacaattatattctncancttnntaccccnattcnaancnattatnntntnnnantnaacaata
-tcatattgatgtcagaagctaaaagatgcatcnaaagggtatatggtgaatgatgccattatcttttgaa
-||||||| || ||| || |||||| || |||| |||   |||||  | ||| || |||||||||||| ||
-tcatattnatntcanaanctaaaanatncatcnaaannntatatnntnaatnatnccattatcttttnaa
-actgaaatggttaaggtctctgtgaacaacatantctccncttaaatatatntcactacttctttatccc
-||| ||||  ||||  ||||| | ||||||||| ||||| ||||||||||| ||||||||||||||||||
-actnaaatnnttaanntctctntnaacaacatantctccncttaaatatatntcactacttctttatccc
-ccgnaataaccttacaaagaaaaattgatgatttaatttgttatacnacactttattnatgcctgtgang
-||  |||||||||||||| ||||||| || ||||||||| |||||| |||||||||| || ||| | |  
-ccnnaataaccttacaaanaaaaattnatnatttaatttnttatacnacactttattnatncctntnann
-taaccttgtttccgctccccnaatttccttttttttcctgttttt
-||||||| ||||| |||||| |||||||||||||||||| |||||
-taaccttntttccnctccccnaatttccttttttttcctnttttt
+Sbjct  1    tgaagcgatacaacgatgcaaaaaaagagtggggattcacacaattgatttctcttccaacattctacaa  70
+            | || | ||||||| || |||||||| | |    |||||||||||| |||||||||||||||||||||||
+Query  1    tnaancnatacaacnatncaaaaaaanantnnnnattcacacaattnatttctcttccaacattctacaa  70
+
+Sbjct  71   cgcgaacgaagggtacnttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgaca  140
+            | | ||| ||   ||| || | ||  ||||| ||||||||  | || | ||||||||| ||||||| |||
+Query  71   cncnaacnaannntacnttntncannacacancttcttttnntnctnanatcttcatcnttaacccnaca  140
+
+Sbjct  141  gaaaaacaagagaaagtcacattcatatcaaaccctccgaacaatgttttcacttggaagatacttcgtt  210
+             |||||||| | ||| |||||||||||||||||||||| |||||| |||||||||  || ||||||| ||
+Query  141  naaaaacaananaaantcacattcatatcaaaccctccnaacaatnttttcacttnnaanatacttcntt  210
+
+Sbjct  211  tctctaccttggaagataaattctattactctgatgattttctcgttgaagaccgatactggagattagg  280
+            ||||||||||  || ||||||||||||||||| || |||||||| || || ||| |||||  | ||||  
+Query  211  tctctaccttnnaanataaattctattactctnatnattttctcnttnaanaccnatactnnanattann  280
+
+Sbjct  281  atttaacccgaaaggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggccat  350
+            ||||||||| |||  ||||  |  |   | ||||||| |||||||||||||||||||| |||||  ||||
+Query  281  atttaacccnaaannatctnntnnannnanaccacatncacttccaatcttcctatatnctcaannccat  350
+
+Sbjct  351  aaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcca  420
+            ||  ||||| || || ||||||||||||    | |  ||||||| |  ||||| ||||||| || |||||
+Query  351  aanncaaacncanttnttacaaacacttnnnnancnnttaatctncnnttaaanaatcaacnaanctcca  420
+
+Sbjct  421  accacaaacaattatattctgcagcttggtaccccgattcgaagcgattatggtgtgggagtgaacaata  490
+            |||||||||||||||||||| || |||  |||||| |||| || | |||||  | |   | | |||||||
+Query  421  accacaaacaattatattctncancttnntaccccnattcnaancnattatnntntnnnantnaacaata  490
+
+Sbjct  491  tcatattgatgtcagaagctaaaagatgcatcnaaagggtatatggtgaatgatgccattatcttttgaa  560
+            ||||||| || ||| || |||||| || |||| |||   |||||  | ||| || |||||||||||| ||
+Query  491  tcatattnatntcanaanctaaaanatncatcnaaannntatatnntnaatnatnccattatcttttnaa  560
+
+Sbjct  561  actgaaatggttaaggtctctgtgaacaacatantctccncttaaatatatntcactacttctttatccc  630
+            ||| ||||  ||||  ||||| | ||||||||| ||||| ||||||||||| ||||||||||||||||||
+Query  561  actnaaatnnttaanntctctntnaacaacatantctccncttaaatatatntcactacttctttatccc  630
+
+Sbjct  631  ccgnaataaccttacaaagaaaaattgatgatttaatttgttatacnacactttattnatgcctgtgang  700
+            ||  |||||||||||||| ||||||| || ||||||||| |||||| |||||||||| || ||| | |  
+Query  631  ccnnaataaccttacaaanaaaaattnatnatttaatttnttatacnacactttattnatncctntnann  700
+
+Sbjct  701  taaccttgtttccgctccccnaatttccttttttttcctgttttt  745
+            ||||||| ||||| |||||| |||||||||||||||||| |||||
+Query  701  taaccttntttccnctccccnaatttccttttttttcctnttttt  745
+
 # polishing(m=500,d=-500,p=30): 64/64
 798 5 2 F 798 5 2 1116 160 79.95
-aagttaaagaaatatttgtctgttacagatggaacagtgaagcgatacaacgatgcaaaaaaagagtggg
-|| ||||| |||||||| ||| ||||| ||  |||| | || | ||||||| || |||||||| | |   
-aanttaaanaaatatttntctnttacanatnnaacantnaancnatacaacnatncaaaaaaanantnnn
-gattcacacaattgatttctcttccaacattctacaacgcgaacgaagggtaccttgtgcaggacacagc
- |||||||||||| |||||||||||||||||||||||| | ||| ||   |||||| | ||  ||||| |
-nattcacacaattnatttctcttccaacattctacaacncnaacnaannntaccttntncannacacanc
-ttcttttggtgctgagatcttcatcgttaacccgacagaaaaacaagagaaagtcacattcatatcaaac
-|||||||  | || | ||||||||| ||||||| ||| |||||||| | ||| |||||||||||||||||
-ttcttttnntnctnanatcttcatcnttaacccnacanaaaaacaananaaantcacattcatatcaaac
-cctccagacaatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactccg
-|||||| ||||| |||||||||  || ||||||| ||||||||||||  || ||||||||||||||||| 
-cctccanacaatnttttcacttnnaanatacttcntttctctaccttnnaanataaattctattactccn
-atgattttctcgttgaagaccgatactggagactaggatttaacccgaaaggggatggaggaggaagacc
-|| |||||||| || || ||| |||||  | ||||  ||||||||| |||    ||  |  |  || |||
-atnattttctcnttnaanaccnatactnnanactannatttaacccnaaannnnatnnannannaanacc
-acatgcacttccaatcttcctatttgctcaaggccataaggcaaacgcagttgctacaaacacttgggga
-|||| |||||||||||||||||||| |||||  ||||||  ||||| || || ||||||||||||    |
-acatncacttccaatcttcctatttnctcaannccataanncaaacncanttnctacaaacacttnnnna
-gcggttaatctgcggttaaagaatcaacgaagtactaaccatagacaaatatattctgcagcttggtacc
- |  ||||||| |  ||||| ||||||| || ||||||||||| ||||||||||||| || |||  ||||
-ncnnttaatctncnnttaaanaatcaacnaantactaaccatanacaaatatattctncancttnntacc
-cgattggaagcggttatggtgtgggagtgaacaatatcatactgttagctgatttaaacgatgcatcaaa
-| |||  || |  ||||  | |   | | |||||||||||||| ||| || |||||||| || |||||||
-cnattnnaancnnttatnntntnnnantnaacaatatcatactnttanctnatttaaacnatncatcaaa
-aggatatttggtgaatgatgccattatctttgaagctgaaatggttaaggtctctataaccaacatcgtc
-|  ||||||  | ||| || ||||||||||| || || ||||  ||||  ||||||||||||||||| ||
-annatatttnntnaatnatnccattatctttnaanctnaaatnnttaanntctctataaccaacatcntc
-tccgcttaaatatctgcacttctttgtctacgatcaatcaaccttatgaataaagagatatttgatgagt
-||| ||||||||||| ||||||||| ||||| ||||||||||||||| |||||| | |||||| || | |
-tccncttaaatatctncacttctttntctacnatcaatcaaccttatnaataaananatatttnatnant
-ttgtaataagaaaacgttaatgtttgtgaattgtgaagttattacttctgttcttctgagtttttttatt
-|| |||||| ||||| ||||| ||| | |||| | || ||||||||||| ||||||| | ||||||||||
-ttntaataanaaaacnttaatntttntnaattntnaanttattacttctnttcttctnantttttttatt
-tcaatgaaaataaaactcttaccggttt
-||||| |||||||||||||||||  |||
-tcaatnaaaataaaactcttaccnnttt
+Sbjct  2    aagttaaagaaatatttgtctgttacagatggaacagtgaagcgatacaacgatgcaaaaaaagagtggg  71
+            || ||||| |||||||| ||| ||||| ||  |||| | || | ||||||| || |||||||| | |   
+Query  2    aanttaaanaaatatttntctnttacanatnnaacantnaancnatacaacnatncaaaaaaanantnnn  71
+
+Sbjct  72   gattcacacaattgatttctcttccaacattctacaacgcgaacgaagggtaccttgtgcaggacacagc  141
+             |||||||||||| |||||||||||||||||||||||| | ||| ||   |||||| | ||  ||||| |
+Query  72   nattcacacaattnatttctcttccaacattctacaacncnaacnaannntaccttntncannacacanc  141
+
+Sbjct  142  ttcttttggtgctgagatcttcatcgttaacccgacagaaaaacaagagaaagtcacattcatatcaaac  211
+            |||||||  | || | ||||||||| ||||||| ||| |||||||| | ||| |||||||||||||||||
+Query  142  ttcttttnntnctnanatcttcatcnttaacccnacanaaaaacaananaaantcacattcatatcaaac  211
+
+Sbjct  212  cctccagacaatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactccg  281
+            |||||| ||||| |||||||||  || ||||||| ||||||||||||  || ||||||||||||||||| 
+Query  212  cctccanacaatnttttcacttnnaanatacttcntttctctaccttnnaanataaattctattactccn  281
+
+Sbjct  282  atgattttctcgttgaagaccgatactggagactaggatttaacccgaaaggggatggaggaggaagacc  351
+            || |||||||| || || ||| |||||  | ||||  ||||||||| |||    ||  |  |  || |||
+Query  282  atnattttctcnttnaanaccnatactnnanactannatttaacccnaaannnnatnnannannaanacc  351
+
+Sbjct  352  acatgcacttccaatcttcctatttgctcaaggccataaggcaaacgcagttgctacaaacacttgggga  421
+            |||| |||||||||||||||||||| |||||  ||||||  ||||| || || ||||||||||||    |
+Query  352  acatncacttccaatcttcctatttnctcaannccataanncaaacncanttnctacaaacacttnnnna  421
+
+Sbjct  422  gcggttaatctgcggttaaagaatcaacgaagtactaaccatagacaaatatattctgcagcttggtacc  491
+             |  ||||||| |  ||||| ||||||| || ||||||||||| ||||||||||||| || |||  ||||
+Query  422  ncnnttaatctncnnttaaanaatcaacnaantactaaccatanacaaatatattctncancttnntacc  491
+
+Sbjct  492  cgattggaagcggttatggtgtgggagtgaacaatatcatactgttagctgatttaaacgatgcatcaaa  561
+            | |||  || |  ||||  | |   | | |||||||||||||| ||| || |||||||| || |||||||
+Query  492  cnattnnaancnnttatnntntnnnantnaacaatatcatactnttanctnatttaaacnatncatcaaa  561
+
+Sbjct  562  aggatatttggtgaatgatgccattatctttgaagctgaaatggttaaggtctctataaccaacatcgtc  631
+            |  ||||||  | ||| || ||||||||||| || || ||||  ||||  ||||||||||||||||| ||
+Query  562  annatatttnntnaatnatnccattatctttnaanctnaaatnnttaanntctctataaccaacatcntc  631
+
+Sbjct  632  tccgcttaaatatctgcacttctttgtctacgatcaatcaaccttatgaataaagagatatttgatgagt  701
+            ||| ||||||||||| ||||||||| ||||| ||||||||||||||| |||||| | |||||| || | |
+Query  632  tccncttaaatatctncacttctttntctacnatcaatcaaccttatnaataaananatatttnatnant  701
+
+Sbjct  702  ttgtaataagaaaacgttaatgtttgtgaattgtgaagttattacttctgttcttctgagtttttttatt  771
+            || |||||| ||||| ||||| ||| | |||| | || ||||||||||| ||||||| | ||||||||||
+Query  702  ttntaataanaaaacnttaatntttntnaattntnaanttattacttctnttcttctnantttttttatt  771
+
+Sbjct  772  tcaatgaaaataaaactcttaccggttt  799
+            ||||| |||||||||||||||||  |||
+Query  772  tcaatnaaaataaaactcttaccnnttt  799
+
 # polishing(m=500,d=-500,p=30): 64/64
 798 5 2 F 798 5 2 1116 160 79.95
-aagttaaagaaatatttgtctgttacagatggaacagtgaagcgatacaacgatgcaaaaaaagagtggg
-|| ||||| |||||||| ||| ||||| ||  |||| | || | ||||||| || |||||||| | |   
-aanttaaanaaatatttntctnttacanatnnaacantnaancnatacaacnatncaaaaaaanantnnn
-gattcacacaattgatttctcttccaacattctacaacgcgaacgaagggtaccttgtgcaggacacagc
- |||||||||||| |||||||||||||||||||||||| | ||| ||   |||||| | ||  ||||| |
-nattcacacaattnatttctcttccaacattctacaacncnaacnaannntaccttntncannacacanc
-ttcttttggtgctgagatcttcatcgttaacccgacagaaaaacaagagaaagtcacattcatatcaaac
-|||||||  | || | ||||||||| ||||||| ||| |||||||| | ||| |||||||||||||||||
-ttcttttnntnctnanatcttcatcnttaacccnacanaaaaacaananaaantcacattcatatcaaac
-cctccagacaatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactccg
-|||||| ||||| |||||||||  || ||||||| ||||||||||||  || ||||||||||||||||| 
-cctccanacaatnttttcacttnnaanatacttcntttctctaccttnnaanataaattctattactccn
-atgattttctcgttgaagaccgatactggagactaggatttaacccgaaaggggatggaggaggaagacc
-|| |||||||| || || ||| |||||  | ||||  ||||||||| |||    ||  |  |  || |||
-atnattttctcnttnaanaccnatactnnanactannatttaacccnaaannnnatnnannannaanacc
-acatgcacttccaatcttcctatttgctcaaggccataaggcaaacgcagttgctacaaacacttgggga
-|||| |||||||||||||||||||| |||||  ||||||  ||||| || || ||||||||||||    |
-acatncacttccaatcttcctatttnctcaannccataanncaaacncanttnctacaaacacttnnnna
-gcggttaatctgcggttaaagaatcaacgaagtactaaccatagacaaatatattctgcagcttggtacc
- |  ||||||| |  ||||| ||||||| || ||||||||||| ||||||||||||| || |||  ||||
-ncnnttaatctncnnttaaanaatcaacnaantactaaccatanacaaatatattctncancttnntacc
-cgattggaagcggttatggtgtgggagtgaacaatatcatactgttagctgatttaaacgatgcatcaaa
-| |||  || |  ||||  | |   | | |||||||||||||| ||| || |||||||| || |||||||
-cnattnnaancnnttatnntntnnnantnaacaatatcatactnttanctnatttaaacnatncatcaaa
-aggatatttggtgaatgatgccattatctttgaagctgaaatggttaaggtctctataaccaacatcgtc
-|  ||||||  | ||| || ||||||||||| || || ||||  ||||  ||||||||||||||||| ||
-annatatttnntnaatnatnccattatctttnaanctnaaatnnttaanntctctataaccaacatcntc
-tccgcttaaatatctgcacttctttgtctacgatcaatcaaccttatgaataaagagatatttgatgagt
-||| ||||||||||| ||||||||| ||||| ||||||||||||||| |||||| | |||||| || | |
-tccncttaaatatctncacttctttntctacnatcaatcaaccttatnaataaananatatttnatnant
-ttgtaataagaaaacgttaatgtttgtgaattgtgaagttattacttctgttcttctgagtttttttatt
-|| |||||| ||||| ||||| ||| | |||| | || ||||||||||| ||||||| | ||||||||||
-ttntaataanaaaacnttaatntttntnaattntnaanttattacttctnttcttctnantttttttatt
-tcaatgaaaataaaactcttaccggttt
-||||| |||||||||||||||||  |||
-tcaatnaaaataaaactcttaccnnttt
+Sbjct  2    aagttaaagaaatatttgtctgttacagatggaacagtgaagcgatacaacgatgcaaaaaaagagtggg  71
+            || ||||| |||||||| ||| ||||| ||  |||| | || | ||||||| || |||||||| | |   
+Query  2    aanttaaanaaatatttntctnttacanatnnaacantnaancnatacaacnatncaaaaaaanantnnn  71
+
+Sbjct  72   gattcacacaattgatttctcttccaacattctacaacgcgaacgaagggtaccttgtgcaggacacagc  141
+             |||||||||||| |||||||||||||||||||||||| | ||| ||   |||||| | ||  ||||| |
+Query  72   nattcacacaattnatttctcttccaacattctacaacncnaacnaannntaccttntncannacacanc  141
+
+Sbjct  142  ttcttttggtgctgagatcttcatcgttaacccgacagaaaaacaagagaaagtcacattcatatcaaac  211
+            |||||||  | || | ||||||||| ||||||| ||| |||||||| | ||| |||||||||||||||||
+Query  142  ttcttttnntnctnanatcttcatcnttaacccnacanaaaaacaananaaantcacattcatatcaaac  211
+
+Sbjct  212  cctccagacaatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactccg  281
+            |||||| ||||| |||||||||  || ||||||| ||||||||||||  || ||||||||||||||||| 
+Query  212  cctccanacaatnttttcacttnnaanatacttcntttctctaccttnnaanataaattctattactccn  281
+
+Sbjct  282  atgattttctcgttgaagaccgatactggagactaggatttaacccgaaaggggatggaggaggaagacc  351
+            || |||||||| || || ||| |||||  | ||||  ||||||||| |||    ||  |  |  || |||
+Query  282  atnattttctcnttnaanaccnatactnnanactannatttaacccnaaannnnatnnannannaanacc  351
+
+Sbjct  352  acatgcacttccaatcttcctatttgctcaaggccataaggcaaacgcagttgctacaaacacttgggga  421
+            |||| |||||||||||||||||||| |||||  ||||||  ||||| || || ||||||||||||    |
+Query  352  acatncacttccaatcttcctatttnctcaannccataanncaaacncanttnctacaaacacttnnnna  421
+
+Sbjct  422  gcggttaatctgcggttaaagaatcaacgaagtactaaccatagacaaatatattctgcagcttggtacc  491
+             |  ||||||| |  ||||| ||||||| || ||||||||||| ||||||||||||| || |||  ||||
+Query  422  ncnnttaatctncnnttaaanaatcaacnaantactaaccatanacaaatatattctncancttnntacc  491
+
+Sbjct  492  cgattggaagcggttatggtgtgggagtgaacaatatcatactgttagctgatttaaacgatgcatcaaa  561
+            | |||  || |  ||||  | |   | | |||||||||||||| ||| || |||||||| || |||||||
+Query  492  cnattnnaancnnttatnntntnnnantnaacaatatcatactnttanctnatttaaacnatncatcaaa  561
+
+Sbjct  562  aggatatttggtgaatgatgccattatctttgaagctgaaatggttaaggtctctataaccaacatcgtc  631
+            |  ||||||  | ||| || ||||||||||| || || ||||  ||||  ||||||||||||||||| ||
+Query  562  annatatttnntnaatnatnccattatctttnaanctnaaatnnttaanntctctataaccaacatcntc  631
+
+Sbjct  632  tccgcttaaatatctgcacttctttgtctacgatcaatcaaccttatgaataaagagatatttgatgagt  701
+            ||| ||||||||||| ||||||||| ||||| ||||||||||||||| |||||| | |||||| || | |
+Query  632  tccncttaaatatctncacttctttntctacnatcaatcaaccttatnaataaananatatttnatnant  701
+
+Sbjct  702  ttgtaataagaaaacgttaatgtttgtgaattgtgaagttattacttctgttcttctgagtttttttatt  771
+            || |||||| ||||| ||||| ||| | |||| | || ||||||||||| ||||||| | ||||||||||
+Query  702  ttntaataanaaaacnttaatntttntnaattntnaanttattacttctnttcttctnantttttttatt  771
+
+Sbjct  772  tcaatgaaaataaaactcttaccggttt  799
+            ||||| |||||||||||||||||  |||
+Query  772  tcaatnaaaataaaactcttaccnnttt  799
+
 # polishing(m=500,d=-500,p=30): 64/64
 798 5 2 F 798 5 2 1116 160 79.95
-aagttaaagaaatatttgtctgttacagatggaacagtgaagcgatacaacgatgcaaaaaaagagtggg
-|| ||||| |||||||| ||| ||||| ||  |||| | || | ||||||| || |||||||| | |   
-aanttaaanaaatatttntctnttacanatnnaacantnaancnatacaacnatncaaaaaaanantnnn
-gattcacacaattgatttctcttccaacattctacaacgcgaacgaagggtaccttgtgcaggacacagc
- |||||||||||| |||||||||||||||||||||||| | ||| ||   |||||| | ||  ||||| |
-nattcacacaattnatttctcttccaacattctacaacncnaacnaannntaccttntncannacacanc
-ttcttttggtgctgagatcttcatcgttaacccgacagaaaaacaagagaaagtcacattcatatcaaac
-|||||||  | || | ||||||||| ||||||| ||| |||||||| | ||| |||||||||||||||||
-ttcttttnntnctnanatcttcatcnttaacccnacanaaaaacaananaaantcacattcatatcaaac
-cctccagacaatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactccg
-|||||| ||||| |||||||||  || ||||||| ||||||||||||  || ||||||||||||||||| 
-cctccanacaatnttttcacttnnaanatacttcntttctctaccttnnaanataaattctattactccn
-atgattttctcgttgaagaccgatactggagactaggatttaacccgaaaggggatggaggaggaagacc
-|| |||||||| || || ||| |||||  | ||||  ||||||||| |||    ||  |  |  || |||
-atnattttctcnttnaanaccnatactnnanactannatttaacccnaaannnnatnnannannaanacc
-acatgcacttccaatcttcctatttgctcaaggccataaggcaaacgcagttgctacaaacacttgggga
-|||| |||||||||||||||||||| |||||  ||||||  ||||| || || ||||||||||||    |
-acatncacttccaatcttcctatttnctcaannccataanncaaacncanttnctacaaacacttnnnna
-gcggttaatctgcggttaaagaatcaacgaagtactaaccatagacaaatatattctgcagcttggtacc
- |  ||||||| |  ||||| ||||||| || ||||||||||| ||||||||||||| || |||  ||||
-ncnnttaatctncnnttaaanaatcaacnaantactaaccatanacaaatatattctncancttnntacc
-cgattggaagcggttatggtgtgggagtgaacaatatcatactgttagctgatttaaacgatgcatcaaa
-| |||  || |  ||||  | |   | | |||||||||||||| ||| || |||||||| || |||||||
-cnattnnaancnnttatnntntnnnantnaacaatatcatactnttanctnatttaaacnatncatcaaa
-aggatatttggtgaatgatgccattatctttgaagctgaaatggttaaggtctctataaccaacatcgtc
-|  ||||||  | ||| || ||||||||||| || || ||||  ||||  ||||||||||||||||| ||
-annatatttnntnaatnatnccattatctttnaanctnaaatnnttaanntctctataaccaacatcntc
-tccgcttaaatatctgcacttctttgtctacgatcaatcaaccttatgaataaagagatatttgatgagt
-||| ||||||||||| ||||||||| ||||| ||||||||||||||| |||||| | |||||| || | |
-tccncttaaatatctncacttctttntctacnatcaatcaaccttatnaataaananatatttnatnant
-ttgtaataagaaaacgttaatgtttgtgaattgtgaagttattacttctgttcttctgagtttttttatt
-|| |||||| ||||| ||||| ||| | |||| | || ||||||||||| ||||||| | ||||||||||
-ttntaataanaaaacnttaatntttntnaattntnaanttattacttctnttcttctnantttttttatt
-tcaatgaaaataaaactcttaccggttt
-||||| |||||||||||||||||  |||
-tcaatnaaaataaaactcttaccnnttt
+Sbjct  2    aagttaaagaaatatttgtctgttacagatggaacagtgaagcgatacaacgatgcaaaaaaagagtggg  71
+            || ||||| |||||||| ||| ||||| ||  |||| | || | ||||||| || |||||||| | |   
+Query  2    aanttaaanaaatatttntctnttacanatnnaacantnaancnatacaacnatncaaaaaaanantnnn  71
+
+Sbjct  72   gattcacacaattgatttctcttccaacattctacaacgcgaacgaagggtaccttgtgcaggacacagc  141
+             |||||||||||| |||||||||||||||||||||||| | ||| ||   |||||| | ||  ||||| |
+Query  72   nattcacacaattnatttctcttccaacattctacaacncnaacnaannntaccttntncannacacanc  141
+
+Sbjct  142  ttcttttggtgctgagatcttcatcgttaacccgacagaaaaacaagagaaagtcacattcatatcaaac  211
+            |||||||  | || | ||||||||| ||||||| ||| |||||||| | ||| |||||||||||||||||
+Query  142  ttcttttnntnctnanatcttcatcnttaacccnacanaaaaacaananaaantcacattcatatcaaac  211
+
+Sbjct  212  cctccagacaatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactccg  281
+            |||||| ||||| |||||||||  || ||||||| ||||||||||||  || ||||||||||||||||| 
+Query  212  cctccanacaatnttttcacttnnaanatacttcntttctctaccttnnaanataaattctattactccn  281
+
+Sbjct  282  atgattttctcgttgaagaccgatactggagactaggatttaacccgaaaggggatggaggaggaagacc  351
+            || |||||||| || || ||| |||||  | ||||  ||||||||| |||    ||  |  |  || |||
+Query  282  atnattttctcnttnaanaccnatactnnanactannatttaacccnaaannnnatnnannannaanacc  351
+
+Sbjct  352  acatgcacttccaatcttcctatttgctcaaggccataaggcaaacgcagttgctacaaacacttgggga  421
+            |||| |||||||||||||||||||| |||||  ||||||  ||||| || || ||||||||||||    |
+Query  352  acatncacttccaatcttcctatttnctcaannccataanncaaacncanttnctacaaacacttnnnna  421
+
+Sbjct  422  gcggttaatctgcggttaaagaatcaacgaagtactaaccatagacaaatatattctgcagcttggtacc  491
+             |  ||||||| |  ||||| ||||||| || ||||||||||| ||||||||||||| || |||  ||||
+Query  422  ncnnttaatctncnnttaaanaatcaacnaantactaaccatanacaaatatattctncancttnntacc  491
+
+Sbjct  492  cgattggaagcggttatggtgtgggagtgaacaatatcatactgttagctgatttaaacgatgcatcaaa  561
+            | |||  || |  ||||  | |   | | |||||||||||||| ||| || |||||||| || |||||||
+Query  492  cnattnnaancnnttatnntntnnnantnaacaatatcatactnttanctnatttaaacnatncatcaaa  561
+
+Sbjct  562  aggatatttggtgaatgatgccattatctttgaagctgaaatggttaaggtctctataaccaacatcgtc  631
+            |  ||||||  | ||| || ||||||||||| || || ||||  ||||  ||||||||||||||||| ||
+Query  562  annatatttnntnaatnatnccattatctttnaanctnaaatnnttaanntctctataaccaacatcntc  631
+
+Sbjct  632  tccgcttaaatatctgcacttctttgtctacgatcaatcaaccttatgaataaagagatatttgatgagt  701
+            ||| ||||||||||| ||||||||| ||||| ||||||||||||||| |||||| | |||||| || | |
+Query  632  tccncttaaatatctncacttctttntctacnatcaatcaaccttatnaataaananatatttnatnant  701
+
+Sbjct  702  ttgtaataagaaaacgttaatgtttgtgaattgtgaagttattacttctgttcttctgagtttttttatt  771
+            || |||||| ||||| ||||| ||| | |||| | || ||||||||||| ||||||| | ||||||||||
+Query  702  ttntaataanaaaacnttaatntttntnaattntnaanttattacttctnttcttctnantttttttatt  771
+
+Sbjct  772  tcaatgaaaataaaactcttaccggttt  799
+            ||||| |||||||||||||||||  |||
+Query  772  tcaatnaaaataaaactcttaccnnttt  799
+
 # polishing(m=500,d=-500,p=30): 64/64
 764 39 107 F 760 6 35 960 188 75.33
-attcacacaattgatttctcttccaacattctacaacgcgaacgaagggtaccttgtgcaggacacagct
-|||  ||  ||  || |||||||    |||||    | | ||  ||   |||||| |  |  ||    ||
-attnncannatnnatntctcttcnnnnattctnnnncncnaannaannntaccttntnnannacnnnnct
-tcttttggtgctgagatcttcat-cgttaacccgacagaaaaacaagagaaagtcacattcatatcaaac
-|||||   | || | |||||||| |  || ||| ||| ||| ||   | | | || ||||||||||  ||
-tctttnnntnctnanatcttcatncnntancccnacanaaanacnnnananantcncattcatatcnnac
-cctccaaacaatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactctg
-||||| |||||| |||||||||  || ||||||| ||||||||||||  || ||||||||||||||||| 
-cctccnaacaatnttttcacttnnaanatacttcntttctctaccttnnaanataaattctattactctn
-atgattttctngttggagaccgatactggagactaggatttaacccgaaaggatctggtggaggaagacc
-|| |||||||  ||  | ||| |||||  | | ||  ||||||||| |||  ||||  |  |   | |||
-atnattttctcnttnaanaccnatactnnanattannatttaacccnaaannatctnntnnannnanacc
-acatgcacttccaatcttcctatatgctcaaggccataaggcaaacgcagttgttacaaacacttgggga
-|||| |||||||||||||||||||| |||||  ||||||  ||||| || || ||||||||||||    |
-acatncacttccaatcttcctatatnctcaannccataanncaaacncanttnttacaaacacttnnnna
-gcggttaatctgcggttaaagaatcaacgaagctccaaccacaaacaattatattctgcagcttggtacc
- |  ||||||| |  ||||| ||||||| || ||||||||||||||||||||||||| || |||  ||||
-ncnnttaatctncnnttaaanaatcaacnaanctccaaccacaaacaattatattctncancttnntacc
-cgattcgaagcgattatggtgtgggagtgaacaatataatattgatgtcagagctaaaagatgcatc-aa
-| |||| || | |||||  | |   | | |||||||||||||| || ||| | |||||| || |||| ||
-cnattcnaancnattatnntntnnnantnaacaatataatattnatntcananctaaaanatncatccaa
-aagggtatatggtgaatgatgccattatctttgaagctgaaatggttaaggtctctgtgacaaacatagt
-||   |||||  | ||| || ||||||||||| || || ||||  ||||  ||||| | ||||||||| |
-aannntatatnntnaatnatnccattatctttnaanctnaaatnnttaanntctctntnacaaacatant
-ctccgtttaaatatcactacttctttttcaacaacaaccttacgaataaagtggactttgatgagtttaa
-|||| |||||||||||||||||||||||||||||||||||||| |||||| |  ||||| || | |||||
-ctccntttaaatatcactacttctttttcaacaacaaccttacnaataaantnnactttnatnantttaa
-tttgttatacgacaacgttgttgatgcttgtgatgtnatcgttgtttctgctctccgagttttcgtttta
-||| |||||| ||||| || || || ||| | || | ||| || ||||| |||||| | ||||| |||||
-tttnttatacnacaacnttnttnatncttntnatntaatcnttntttctnctctccnanttttcntttta
-ctttttttttcatgttttgctatccaatgaaaataaaaggtttaaaactctcctttggtttttaaa
-||||||||||||| |||| ||||| ||| ||| ||||   | |||||||||| ||   |||| |||
-ctttttttttcatnttttnctatc-aatnaaa-taaa-nntataaaactctc-tt-nntttt-aaa
+Sbjct  107  attcacacaattgatttctcttccaacattctacaacgcgaacgaagggtaccttgtgcaggacacagct  176
+            |||  ||  ||  || |||||||    |||||    | | ||  ||   |||||| |  |  ||    ||
+Query  35   attnncannatnnatntctcttcnnnnattctnnnncncnaannaannntaccttntnnannacnnnnct  104
+
+Sbjct  177  tcttttggtgctgagatcttcat-cgttaacccgacagaaaaacaagagaaagtcacattcatatcaaac  245
+            |||||   | || | |||||||| |  || ||| ||| ||| ||   | | | || ||||||||||  ||
+Query  105  tctttnnntnctnanatcttcatncnntancccnacanaaanacnnnananantcncattcatatcnnac  174
+
+Sbjct  246  cctccaaacaatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactctg  315
+            ||||| |||||| |||||||||  || ||||||| ||||||||||||  || ||||||||||||||||| 
+Query  175  cctccnaacaatnttttcacttnnaanatacttcntttctctaccttnnaanataaattctattactctn  244
+
+Sbjct  316  atgattttctngttggagaccgatactggagactaggatttaacccgaaaggatctggtggaggaagacc  385
+            || |||||||  ||  | ||| |||||  | | ||  ||||||||| |||  ||||  |  |   | |||
+Query  245  atnattttctcnttnaanaccnatactnnanattannatttaacccnaaannatctnntnnannnanacc  314
+
+Sbjct  386  acatgcacttccaatcttcctatatgctcaaggccataaggcaaacgcagttgttacaaacacttgggga  455
+            |||| |||||||||||||||||||| |||||  ||||||  ||||| || || ||||||||||||    |
+Query  315  acatncacttccaatcttcctatatnctcaannccataanncaaacncanttnttacaaacacttnnnna  384
+
+Sbjct  456  gcggttaatctgcggttaaagaatcaacgaagctccaaccacaaacaattatattctgcagcttggtacc  525
+             |  ||||||| |  ||||| ||||||| || ||||||||||||||||||||||||| || |||  ||||
+Query  385  ncnnttaatctncnnttaaanaatcaacnaanctccaaccacaaacaattatattctncancttnntacc  454
+
+Sbjct  526  cgattcgaagcgattatggtgtgggagtgaacaatataatattgatgtcagagctaaaagatgcatc-aa  594
+            | |||| || | |||||  | |   | | |||||||||||||| || ||| | |||||| || |||| ||
+Query  455  cnattcnaancnattatnntntnnnantnaacaatataatattnatntcananctaaaanatncatccaa  524
+
+Sbjct  595  aagggtatatggtgaatgatgccattatctttgaagctgaaatggttaaggtctctgtgacaaacatagt  664
+            ||   |||||  | ||| || ||||||||||| || || ||||  ||||  ||||| | ||||||||| |
+Query  525  aannntatatnntnaatnatnccattatctttnaanctnaaatnnttaanntctctntnacaaacatant  594
+
+Sbjct  665  ctccgtttaaatatcactacttctttttcaacaacaaccttacgaataaagtggactttgatgagtttaa  734
+            |||| |||||||||||||||||||||||||||||||||||||| |||||| |  ||||| || | |||||
+Query  595  ctccntttaaatatcactacttctttttcaacaacaaccttacnaataaantnnactttnatnantttaa  664
+
+Sbjct  735  tttgttatacgacaacgttgttgatgcttgtgatgtnatcgttgtttctgctctccgagttttcgtttta  804
+            ||| |||||| ||||| || || || ||| | || | ||| || ||||| |||||| | ||||| |||||
+Query  665  tttnttatacnacaacnttnttnatncttntnatntaatcnttntttctnctctccnanttttcntttta  734
+
+Sbjct  805  ctttttttttcatgttttgctatccaatgaaaataaaaggtttaaaactctcctttggtttttaaa  870
+            ||||||||||||| |||| ||||| ||| ||| ||||   | |||||||||| ||   |||| |||
+Query  735  ctttttttttcatnttttnctatc-aatnaaa-taaa-nntataaaactctc-tt-nntttt-aaa  794
+
 # polishing(m=500,d=-500,p=30): 64/64
 762 6 35 F 762 6 35 993 177 76.77
-attnncannatngatntctcttcnnnnattctnnnncgcgaangaagggtaccttgtgnangacnnnnct
-|||  ||  ||  || |||||||    |||||    | | ||  ||   |||||| |  |  ||    ||
-attnncannatnnatntctcttcnnnnattctnnnncncnaannaannntaccttntnnannacnnnnct
-tctttnggtgctganatcttcatgcgntancccgacagaaanacnnnananagtcncattcatatcnnac
-|||||   | || | |||||||| |  || ||| ||| ||| ||   | | | || ||||||||||  ||
-tctttnnntnctnanatcttcatncnntancccnacanaaanacnnnananantcncattcatatcnnac
-cctccnaacaatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactctg
-||||| |||||| |||||||||  || ||||||| ||||||||||||  || ||||||||||||||||| 
-cctccnaacaatnttttcacttnnaanatacttcntttctctaccttnnaanataaattctattactctn
-atgattttctcgttgaagaccgatactggagattaggatttaacccgaaaggatctggtggagggagacc
-|| |||||||| || || ||| |||||  | ||||  ||||||||| |||  ||||  |  |   | |||
-atnattttctcnttnaanaccnatactnnanattannatttaacccnaaannatctnntnnannnanacc
-acatgcacttccaatcttcctatatgctcaaggccataaggcaaacgcagttgttacaaacacttgggga
-|||| |||||||||||||||||||| |||||  ||||||  ||||| || || ||||||||||||    |
-acatncacttccaatcttcctatatnctcaannccataanncaaacncanttnttacaaacacttnnnna
-gcggttaatctgcggttaaagaatcaacgaagctccaaccacaaacaattatattctgcagcttggtacc
- |  ||||||| |  ||||| ||||||| || ||||||||||||||||||||||||| || |||  ||||
-ncnnttaatctncnnttaaanaatcaacnaanctccaaccacaaacaattatattctncancttnntacc
-cgattcgaagcgattatggtgtgggagtgaacaatataatattgatgtcagagctaaaagatgcatccaa
-| |||| || | |||||  | |   | | |||||||||||||| || ||| | |||||| || |||||||
-cnattcnaancnattatnntntnnnantnaacaatataatattnatntcananctaaaanatncatccaa
-aagggtatatggtgaatgatgccattatctttgaagctgaaatggttaaggtctctgtgacaaacatagt
-||   |||||  | ||| || ||||||||||| || || ||||  ||||  ||||| | ||||||||| |
-aannntatatnntnaatnatnccattatctttnaanctnaaatnnttaanntctctntnacaaacatant
-ctccgtttaaatatcactacttctttttcaacaacaaccttacgaataaagtggactttgatgagtttaa
-|||| |||||||||||||||||||||||||||||||||||||| |||||| |  ||||| || | |||||
-ctccntttaaatatcactacttctttttcaacaacaaccttacnaataaantnnactttnatnantttaa
-tttgttatacgacaacgttgttgatgcttgtgatgtaatcgttgtttctgctctccgagttttcgtttta
-||| |||||| ||||| || || || ||| | || ||||| || ||||| |||||| | ||||| |||||
-tttnttatacnacaacnttnttnatncttntnatntaatcnttntttctnctctccnanttttcntttta
-ctttttttttcatgttttgctatcaatgaaataaaggtataaaactctcttggttttaaagt
-||||||||||||| |||| |||||||| |||||||  ||||||||||||||  ||||||| |
-ctttttttttcatnttttnctatcaatnaaataaanntataaaactctcttnnttttaaant
+Sbjct  35   attnncannatngatntctcttcnnnnattctnnnncgcgaangaagggtaccttgtgnangacnnnnct  104
+            |||  ||  ||  || |||||||    |||||    | | ||  ||   |||||| |  |  ||    ||
+Query  35   attnncannatnnatntctcttcnnnnattctnnnncncnaannaannntaccttntnnannacnnnnct  104
+
+Sbjct  105  tctttnggtgctganatcttcatgcgntancccgacagaaanacnnnananagtcncattcatatcnnac  174
+            |||||   | || | |||||||| |  || ||| ||| ||| ||   | | | || ||||||||||  ||
+Query  105  tctttnnntnctnanatcttcatncnntancccnacanaaanacnnnananantcncattcatatcnnac  174
+
+Sbjct  175  cctccnaacaatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactctg  244
+            ||||| |||||| |||||||||  || ||||||| ||||||||||||  || ||||||||||||||||| 
+Query  175  cctccnaacaatnttttcacttnnaanatacttcntttctctaccttnnaanataaattctattactctn  244
+
+Sbjct  245  atgattttctcgttgaagaccgatactggagattaggatttaacccgaaaggatctggtggagggagacc  314
+            || |||||||| || || ||| |||||  | ||||  ||||||||| |||  ||||  |  |   | |||
+Query  245  atnattttctcnttnaanaccnatactnnanattannatttaacccnaaannatctnntnnannnanacc  314
+
+Sbjct  315  acatgcacttccaatcttcctatatgctcaaggccataaggcaaacgcagttgttacaaacacttgggga  384
+            |||| |||||||||||||||||||| |||||  ||||||  ||||| || || ||||||||||||    |
+Query  315  acatncacttccaatcttcctatatnctcaannccataanncaaacncanttnttacaaacacttnnnna  384
+
+Sbjct  385  gcggttaatctgcggttaaagaatcaacgaagctccaaccacaaacaattatattctgcagcttggtacc  454
+             |  ||||||| |  ||||| ||||||| || ||||||||||||||||||||||||| || |||  ||||
+Query  385  ncnnttaatctncnnttaaanaatcaacnaanctccaaccacaaacaattatattctncancttnntacc  454
+
+Sbjct  455  cgattcgaagcgattatggtgtgggagtgaacaatataatattgatgtcagagctaaaagatgcatccaa  524
+            | |||| || | |||||  | |   | | |||||||||||||| || ||| | |||||| || |||||||
+Query  455  cnattcnaancnattatnntntnnnantnaacaatataatattnatntcananctaaaanatncatccaa  524
+
+Sbjct  525  aagggtatatggtgaatgatgccattatctttgaagctgaaatggttaaggtctctgtgacaaacatagt  594
+            ||   |||||  | ||| || ||||||||||| || || ||||  ||||  ||||| | ||||||||| |
+Query  525  aannntatatnntnaatnatnccattatctttnaanctnaaatnnttaanntctctntnacaaacatant  594
+
+Sbjct  595  ctccgtttaaatatcactacttctttttcaacaacaaccttacgaataaagtggactttgatgagtttaa  664
+            |||| |||||||||||||||||||||||||||||||||||||| |||||| |  ||||| || | |||||
+Query  595  ctccntttaaatatcactacttctttttcaacaacaaccttacnaataaantnnactttnatnantttaa  664
+
+Sbjct  665  tttgttatacgacaacgttgttgatgcttgtgatgtaatcgttgtttctgctctccgagttttcgtttta  734
+            ||| |||||| ||||| || || || ||| | || ||||| || ||||| |||||| | ||||| |||||
+Query  665  tttnttatacnacaacnttnttnatncttntnatntaatcnttntttctnctctccnanttttcntttta  734
+
+Sbjct  735  ctttttttttcatgttttgctatcaatgaaataaaggtataaaactctcttggttttaaagt  796
+            ||||||||||||| |||| |||||||| |||||||  ||||||||||||||  ||||||| |
+Query  735  ctttttttttcatnttttnctatcaatnaaataaanntataaaactctcttnnttttaaant  796
+
 # polishing(m=500,d=-500,p=30): 64/64
 764 39 107 F 760 6 35 960 188 75.33
-attcacacaattgatttctcttccaacattctacaacgcgaacgaagggtaccttgtgcaggacacagct
-|||  ||  ||  || |||||||    |||||    | | ||  ||   |||||| |  |  ||    ||
-attnncannatnnatntctcttcnnnnattctnnnncncnaannaannntaccttntnnannacnnnnct
-tcttttggtgctgagatcttcat-cgttaacccgacagaaaaacaagagaaagtcacattcatatcaaac
-|||||   | || | |||||||| |  || ||| ||| ||| ||   | | | || ||||||||||  ||
-tctttnnntnctnanatcttcatncnntancccnacanaaanacnnnananantcncattcatatcnnac
-cctccaaacaatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactctg
-||||| |||||| |||||||||  || ||||||| ||||||||||||  || ||||||||||||||||| 
-cctccnaacaatnttttcacttnnaanatacttcntttctctaccttnnaanataaattctattactctn
-atgattttctngttggagaccgatactggagactaggatttaacccgaaaggatctggtggaggaagacc
-|| |||||||  ||  | ||| |||||  | | ||  ||||||||| |||  ||||  |  |   | |||
-atnattttctcnttnaanaccnatactnnanattannatttaacccnaaannatctnntnnannnanacc
-acatgcacttccaatcttcctatatgctcaaggccataaggcaaacgcagttgttacaaacacttgggga
-|||| |||||||||||||||||||| |||||  ||||||  ||||| || || ||||||||||||    |
-acatncacttccaatcttcctatatnctcaannccataanncaaacncanttnttacaaacacttnnnna
-gcggttaatctgcggttaaagaatcaacgaagctccaaccacaaacaattatattctgcagcttggtacc
- |  ||||||| |  ||||| ||||||| || ||||||||||||||||||||||||| || |||  ||||
-ncnnttaatctncnnttaaanaatcaacnaanctccaaccacaaacaattatattctncancttnntacc
-cgattcgaagcgattatggtgtgggagtgaacaatataatattgatgtcagagctaaaagatgcatc-aa
-| |||| || | |||||  | |   | | |||||||||||||| || ||| | |||||| || |||| ||
-cnattcnaancnattatnntntnnnantnaacaatataatattnatntcananctaaaanatncatccaa
-aagggtatatggtgaatgatgccattatctttgaagctgaaatggttaaggtctctgtgacaaacatagt
-||   |||||  | ||| || ||||||||||| || || ||||  ||||  ||||| | ||||||||| |
-aannntatatnntnaatnatnccattatctttnaanctnaaatnnttaanntctctntnacaaacatant
-ctccgtttaaatatcactacttctttttcaacaacaaccttacgaataaagtggactttgatgagtttaa
-|||| |||||||||||||||||||||||||||||||||||||| |||||| |  ||||| || | |||||
-ctccntttaaatatcactacttctttttcaacaacaaccttacnaataaantnnactttnatnantttaa
-tttgttatacgacaacgttgttgatgcttgtgatgtnatcgttgtttctgctctccgagttttcgtttta
-||| |||||| ||||| || || || ||| | || | ||| || ||||| |||||| | ||||| |||||
-tttnttatacnacaacnttnttnatncttntnatntaatcnttntttctnctctccnanttttcntttta
-ctttttttttcatgttttgctatccaatgaaaataaaaggtttaaaactctcctttggtttttaaa
-||||||||||||| |||| ||||| ||| ||| ||||   | |||||||||| ||   |||| |||
-ctttttttttcatnttttnctatc-aatnaaa-taaa-nntataaaactctc-tt-nntttt-aaa
+Sbjct  107  attcacacaattgatttctcttccaacattctacaacgcgaacgaagggtaccttgtgcaggacacagct  176
+            |||  ||  ||  || |||||||    |||||    | | ||  ||   |||||| |  |  ||    ||
+Query  35   attnncannatnnatntctcttcnnnnattctnnnncncnaannaannntaccttntnnannacnnnnct  104
+
+Sbjct  177  tcttttggtgctgagatcttcat-cgttaacccgacagaaaaacaagagaaagtcacattcatatcaaac  245
+            |||||   | || | |||||||| |  || ||| ||| ||| ||   | | | || ||||||||||  ||
+Query  105  tctttnnntnctnanatcttcatncnntancccnacanaaanacnnnananantcncattcatatcnnac  174
+
+Sbjct  246  cctccaaacaatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactctg  315
+            ||||| |||||| |||||||||  || ||||||| ||||||||||||  || ||||||||||||||||| 
+Query  175  cctccnaacaatnttttcacttnnaanatacttcntttctctaccttnnaanataaattctattactctn  244
+
+Sbjct  316  atgattttctngttggagaccgatactggagactaggatttaacccgaaaggatctggtggaggaagacc  385
+            || |||||||  ||  | ||| |||||  | | ||  ||||||||| |||  ||||  |  |   | |||
+Query  245  atnattttctcnttnaanaccnatactnnanattannatttaacccnaaannatctnntnnannnanacc  314
+
+Sbjct  386  acatgcacttccaatcttcctatatgctcaaggccataaggcaaacgcagttgttacaaacacttgggga  455
+            |||| |||||||||||||||||||| |||||  ||||||  ||||| || || ||||||||||||    |
+Query  315  acatncacttccaatcttcctatatnctcaannccataanncaaacncanttnttacaaacacttnnnna  384
+
+Sbjct  456  gcggttaatctgcggttaaagaatcaacgaagctccaaccacaaacaattatattctgcagcttggtacc  525
+             |  ||||||| |  ||||| ||||||| || ||||||||||||||||||||||||| || |||  ||||
+Query  385  ncnnttaatctncnnttaaanaatcaacnaanctccaaccacaaacaattatattctncancttnntacc  454
+
+Sbjct  526  cgattcgaagcgattatggtgtgggagtgaacaatataatattgatgtcagagctaaaagatgcatc-aa  594
+            | |||| || | |||||  | |   | | |||||||||||||| || ||| | |||||| || |||| ||
+Query  455  cnattcnaancnattatnntntnnnantnaacaatataatattnatntcananctaaaanatncatccaa  524
+
+Sbjct  595  aagggtatatggtgaatgatgccattatctttgaagctgaaatggttaaggtctctgtgacaaacatagt  664
+            ||   |||||  | ||| || ||||||||||| || || ||||  ||||  ||||| | ||||||||| |
+Query  525  aannntatatnntnaatnatnccattatctttnaanctnaaatnnttaanntctctntnacaaacatant  594
+
+Sbjct  665  ctccgtttaaatatcactacttctttttcaacaacaaccttacgaataaagtggactttgatgagtttaa  734
+            |||| |||||||||||||||||||||||||||||||||||||| |||||| |  ||||| || | |||||
+Query  595  ctccntttaaatatcactacttctttttcaacaacaaccttacnaataaantnnactttnatnantttaa  664
+
+Sbjct  735  tttgttatacgacaacgttgttgatgcttgtgatgtnatcgttgtttctgctctccgagttttcgtttta  804
+            ||| |||||| ||||| || || || ||| | || | ||| || ||||| |||||| | ||||| |||||
+Query  665  tttnttatacnacaacnttnttnatncttntnatntaatcnttntttctnctctccnanttttcntttta  734
+
+Sbjct  805  ctttttttttcatgttttgctatccaatgaaaataaaaggtttaaaactctcctttggtttttaaa  870
+            ||||||||||||| |||| ||||| ||| ||| ||||   | |||||||||| ||   |||| |||
+Query  735  ctttttttttcatnttttnctatc-aatnaaa-taaa-nntataaaactctc-tt-nntttt-aaa  794
+
 # polishing(m=500,d=-500,p=30): 64/64
 762 6 35 F 762 6 35 993 177 76.77
-attnncannatngatntctcttcnnnnattctnnnncgcgaangaagggtaccttgtgnangacnnnnct
-|||  ||  ||  || |||||||    |||||    | | ||  ||   |||||| |  |  ||    ||
-attnncannatnnatntctcttcnnnnattctnnnncncnaannaannntaccttntnnannacnnnnct
-tctttnggtgctganatcttcatgcgntancccgacagaaanacnnnananagtcncattcatatcnnac
-|||||   | || | |||||||| |  || ||| ||| ||| ||   | | | || ||||||||||  ||
-tctttnnntnctnanatcttcatncnntancccnacanaaanacnnnananantcncattcatatcnnac
-cctccnaacaatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactctg
-||||| |||||| |||||||||  || ||||||| ||||||||||||  || ||||||||||||||||| 
-cctccnaacaatnttttcacttnnaanatacttcntttctctaccttnnaanataaattctattactctn
-atgattttctcgttgaagaccgatactggagattaggatttaacccgaaaggatctggtggagggagacc
-|| |||||||| || || ||| |||||  | ||||  ||||||||| |||  ||||  |  |   | |||
-atnattttctcnttnaanaccnatactnnanattannatttaacccnaaannatctnntnnannnanacc
-acatgcacttccaatcttcctatatgctcaaggccataaggcaaacgcagttgttacaaacacttgggga
-|||| |||||||||||||||||||| |||||  ||||||  ||||| || || ||||||||||||    |
-acatncacttccaatcttcctatatnctcaannccataanncaaacncanttnttacaaacacttnnnna
-gcggttaatctgcggttaaagaatcaacgaagctccaaccacaaacaattatattctgcagcttggtacc
- |  ||||||| |  ||||| ||||||| || ||||||||||||||||||||||||| || |||  ||||
-ncnnttaatctncnnttaaanaatcaacnaanctccaaccacaaacaattatattctncancttnntacc
-cgattcgaagcgattatggtgtgggagtgaacaatataatattgatgtcagagctaaaagatgcatccaa
-| |||| || | |||||  | |   | | |||||||||||||| || ||| | |||||| || |||||||
-cnattcnaancnattatnntntnnnantnaacaatataatattnatntcananctaaaanatncatccaa
-aagggtatatggtgaatgatgccattatctttgaagctgaaatggttaaggtctctgtgacaaacatagt
-||   |||||  | ||| || ||||||||||| || || ||||  ||||  ||||| | ||||||||| |
-aannntatatnntnaatnatnccattatctttnaanctnaaatnnttaanntctctntnacaaacatant
-ctccgtttaaatatcactacttctttttcaacaacaaccttacgaataaagtggactttgatgagtttaa
-|||| |||||||||||||||||||||||||||||||||||||| |||||| |  ||||| || | |||||
-ctccntttaaatatcactacttctttttcaacaacaaccttacnaataaantnnactttnatnantttaa
-tttgttatacgacaacgttgttgatgcttgtgatgtaatcgttgtttctgctctccgagttttcgtttta
-||| |||||| ||||| || || || ||| | || ||||| || ||||| |||||| | ||||| |||||
-tttnttatacnacaacnttnttnatncttntnatntaatcnttntttctnctctccnanttttcntttta
-ctttttttttcatgttttgctatcaatgaaataaaggtataaaactctcttggttttaaagt
-||||||||||||| |||| |||||||| |||||||  ||||||||||||||  ||||||| |
-ctttttttttcatnttttnctatcaatnaaataaanntataaaactctcttnnttttaaant
+Sbjct  35   attnncannatngatntctcttcnnnnattctnnnncgcgaangaagggtaccttgtgnangacnnnnct  104
+            |||  ||  ||  || |||||||    |||||    | | ||  ||   |||||| |  |  ||    ||
+Query  35   attnncannatnnatntctcttcnnnnattctnnnncncnaannaannntaccttntnnannacnnnnct  104
+
+Sbjct  105  tctttnggtgctganatcttcatgcgntancccgacagaaanacnnnananagtcncattcatatcnnac  174
+            |||||   | || | |||||||| |  || ||| ||| ||| ||   | | | || ||||||||||  ||
+Query  105  tctttnnntnctnanatcttcatncnntancccnacanaaanacnnnananantcncattcatatcnnac  174
+
+Sbjct  175  cctccnaacaatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactctg  244
+            ||||| |||||| |||||||||  || ||||||| ||||||||||||  || ||||||||||||||||| 
+Query  175  cctccnaacaatnttttcacttnnaanatacttcntttctctaccttnnaanataaattctattactctn  244
+
+Sbjct  245  atgattttctcgttgaagaccgatactggagattaggatttaacccgaaaggatctggtggagggagacc  314
+            || |||||||| || || ||| |||||  | ||||  ||||||||| |||  ||||  |  |   | |||
+Query  245  atnattttctcnttnaanaccnatactnnanattannatttaacccnaaannatctnntnnannnanacc  314
+
+Sbjct  315  acatgcacttccaatcttcctatatgctcaaggccataaggcaaacgcagttgttacaaacacttgggga  384
+            |||| |||||||||||||||||||| |||||  ||||||  ||||| || || ||||||||||||    |
+Query  315  acatncacttccaatcttcctatatnctcaannccataanncaaacncanttnttacaaacacttnnnna  384
+
+Sbjct  385  gcggttaatctgcggttaaagaatcaacgaagctccaaccacaaacaattatattctgcagcttggtacc  454
+             |  ||||||| |  ||||| ||||||| || ||||||||||||||||||||||||| || |||  ||||
+Query  385  ncnnttaatctncnnttaaanaatcaacnaanctccaaccacaaacaattatattctncancttnntacc  454
+
+Sbjct  455  cgattcgaagcgattatggtgtgggagtgaacaatataatattgatgtcagagctaaaagatgcatccaa  524
+            | |||| || | |||||  | |   | | |||||||||||||| || ||| | |||||| || |||||||
+Query  455  cnattcnaancnattatnntntnnnantnaacaatataatattnatntcananctaaaanatncatccaa  524
+
+Sbjct  525  aagggtatatggtgaatgatgccattatctttgaagctgaaatggttaaggtctctgtgacaaacatagt  594
+            ||   |||||  | ||| || ||||||||||| || || ||||  ||||  ||||| | ||||||||| |
+Query  525  aannntatatnntnaatnatnccattatctttnaanctnaaatnnttaanntctctntnacaaacatant  594
+
+Sbjct  595  ctccgtttaaatatcactacttctttttcaacaacaaccttacgaataaagtggactttgatgagtttaa  664
+            |||| |||||||||||||||||||||||||||||||||||||| |||||| |  ||||| || | |||||
+Query  595  ctccntttaaatatcactacttctttttcaacaacaaccttacnaataaantnnactttnatnantttaa  664
+
+Sbjct  665  tttgttatacgacaacgttgttgatgcttgtgatgtaatcgttgtttctgctctccgagttttcgtttta  734
+            ||| |||||| ||||| || || || ||| | || ||||| || ||||| |||||| | ||||| |||||
+Query  665  tttnttatacnacaacnttnttnatncttntnatntaatcnttntttctnctctccnanttttcntttta  734
+
+Sbjct  735  ctttttttttcatgttttgctatcaatgaaataaaggtataaaactctcttggttttaaagt  796
+            ||||||||||||| |||| |||||||| |||||||  ||||||||||||||  ||||||| |
+Query  735  ctttttttttcatnttttnctatcaatnaaataaanntataaaactctcttnnttttaaant  796
+
 # polishing(m=500,d=-500,p=30): 64/64
 762 6 35 F 762 6 35 993 177 76.77
-attnncannatngatntctcttcnnnnattctnnnncgcgaangaagggtaccttgtgnangacnnnnct
-|||  ||  ||  || |||||||    |||||    | | ||  ||   |||||| |  |  ||    ||
-attnncannatnnatntctcttcnnnnattctnnnncncnaannaannntaccttntnnannacnnnnct
-tctttnggtgctganatcttcatgcgntancccgacagaaanacnnnananagtcncattcatatcnnac
-|||||   | || | |||||||| |  || ||| ||| ||| ||   | | | || ||||||||||  ||
-tctttnnntnctnanatcttcatncnntancccnacanaaanacnnnananantcncattcatatcnnac
-cctccnaacaatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactctg
-||||| |||||| |||||||||  || ||||||| ||||||||||||  || ||||||||||||||||| 
-cctccnaacaatnttttcacttnnaanatacttcntttctctaccttnnaanataaattctattactctn
-atgattttctcgttgaagaccgatactggagattaggatttaacccgaaaggatctggtggagggagacc
-|| |||||||| || || ||| |||||  | ||||  ||||||||| |||  ||||  |  |   | |||
-atnattttctcnttnaanaccnatactnnanattannatttaacccnaaannatctnntnnannnanacc
-acatgcacttccaatcttcctatatgctcaaggccataaggcaaacgcagttgttacaaacacttgggga
-|||| |||||||||||||||||||| |||||  ||||||  ||||| || || ||||||||||||    |
-acatncacttccaatcttcctatatnctcaannccataanncaaacncanttnttacaaacacttnnnna
-gcggttaatctgcggttaaagaatcaacgaagctccaaccacaaacaattatattctgcagcttggtacc
- |  ||||||| |  ||||| ||||||| || ||||||||||||||||||||||||| || |||  ||||
-ncnnttaatctncnnttaaanaatcaacnaanctccaaccacaaacaattatattctncancttnntacc
-cgattcgaagcgattatggtgtgggagtgaacaatataatattgatgtcagagctaaaagatgcatccaa
-| |||| || | |||||  | |   | | |||||||||||||| || ||| | |||||| || |||||||
-cnattcnaancnattatnntntnnnantnaacaatataatattnatntcananctaaaanatncatccaa
-aagggtatatggtgaatgatgccattatctttgaagctgaaatggttaaggtctctgtgacaaacatagt
-||   |||||  | ||| || ||||||||||| || || ||||  ||||  ||||| | ||||||||| |
-aannntatatnntnaatnatnccattatctttnaanctnaaatnnttaanntctctntnacaaacatant
-ctccgtttaaatatcactacttctttttcaacaacaaccttacgaataaagtggactttgatgagtttaa
-|||| |||||||||||||||||||||||||||||||||||||| |||||| |  ||||| || | |||||
-ctccntttaaatatcactacttctttttcaacaacaaccttacnaataaantnnactttnatnantttaa
-tttgttatacgacaacgttgttgatgcttgtgatgtaatcgttgtttctgctctccgagttttcgtttta
-||| |||||| ||||| || || || ||| | || ||||| || ||||| |||||| | ||||| |||||
-tttnttatacnacaacnttnttnatncttntnatntaatcnttntttctnctctccnanttttcntttta
-ctttttttttcatgttttgctatcaatgaaataaaggtataaaactctcttggttttaaagt
-||||||||||||| |||| |||||||| |||||||  ||||||||||||||  ||||||| |
-ctttttttttcatnttttnctatcaatnaaataaanntataaaactctcttnnttttaaant
+Sbjct  35   attnncannatngatntctcttcnnnnattctnnnncgcgaangaagggtaccttgtgnangacnnnnct  104
+            |||  ||  ||  || |||||||    |||||    | | ||  ||   |||||| |  |  ||    ||
+Query  35   attnncannatnnatntctcttcnnnnattctnnnncncnaannaannntaccttntnnannacnnnnct  104
+
+Sbjct  105  tctttnggtgctganatcttcatgcgntancccgacagaaanacnnnananagtcncattcatatcnnac  174
+            |||||   | || | |||||||| |  || ||| ||| ||| ||   | | | || ||||||||||  ||
+Query  105  tctttnnntnctnanatcttcatncnntancccnacanaaanacnnnananantcncattcatatcnnac  174
+
+Sbjct  175  cctccnaacaatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactctg  244
+            ||||| |||||| |||||||||  || ||||||| ||||||||||||  || ||||||||||||||||| 
+Query  175  cctccnaacaatnttttcacttnnaanatacttcntttctctaccttnnaanataaattctattactctn  244
+
+Sbjct  245  atgattttctcgttgaagaccgatactggagattaggatttaacccgaaaggatctggtggagggagacc  314
+            || |||||||| || || ||| |||||  | ||||  ||||||||| |||  ||||  |  |   | |||
+Query  245  atnattttctcnttnaanaccnatactnnanattannatttaacccnaaannatctnntnnannnanacc  314
+
+Sbjct  315  acatgcacttccaatcttcctatatgctcaaggccataaggcaaacgcagttgttacaaacacttgggga  384
+            |||| |||||||||||||||||||| |||||  ||||||  ||||| || || ||||||||||||    |
+Query  315  acatncacttccaatcttcctatatnctcaannccataanncaaacncanttnttacaaacacttnnnna  384
+
+Sbjct  385  gcggttaatctgcggttaaagaatcaacgaagctccaaccacaaacaattatattctgcagcttggtacc  454
+             |  ||||||| |  ||||| ||||||| || ||||||||||||||||||||||||| || |||  ||||
+Query  385  ncnnttaatctncnnttaaanaatcaacnaanctccaaccacaaacaattatattctncancttnntacc  454
+
+Sbjct  455  cgattcgaagcgattatggtgtgggagtgaacaatataatattgatgtcagagctaaaagatgcatccaa  524
+            | |||| || | |||||  | |   | | |||||||||||||| || ||| | |||||| || |||||||
+Query  455  cnattcnaancnattatnntntnnnantnaacaatataatattnatntcananctaaaanatncatccaa  524
+
+Sbjct  525  aagggtatatggtgaatgatgccattatctttgaagctgaaatggttaaggtctctgtgacaaacatagt  594
+            ||   |||||  | ||| || ||||||||||| || || ||||  ||||  ||||| | ||||||||| |
+Query  525  aannntatatnntnaatnatnccattatctttnaanctnaaatnnttaanntctctntnacaaacatant  594
+
+Sbjct  595  ctccgtttaaatatcactacttctttttcaacaacaaccttacgaataaagtggactttgatgagtttaa  664
+            |||| |||||||||||||||||||||||||||||||||||||| |||||| |  ||||| || | |||||
+Query  595  ctccntttaaatatcactacttctttttcaacaacaaccttacnaataaantnnactttnatnantttaa  664
+
+Sbjct  665  tttgttatacgacaacgttgttgatgcttgtgatgtaatcgttgtttctgctctccgagttttcgtttta  734
+            ||| |||||| ||||| || || || ||| | || ||||| || ||||| |||||| | ||||| |||||
+Query  665  tttnttatacnacaacnttnttnatncttntnatntaatcnttntttctnctctccnanttttcntttta  734
+
+Sbjct  735  ctttttttttcatgttttgctatcaatgaaataaaggtataaaactctcttggttttaaagt  796
+            ||||||||||||| |||| |||||||| |||||||  ||||||||||||||  ||||||| |
+Query  735  ctttttttttcatnttttnctatcaatnaaataaanntataaaactctcttnnttttaaant  796
+
 # polishing(m=500,d=-500,p=30): 64/64
 764 39 107 F 760 6 35 960 188 75.33
-attcacacaattgatttctcttccaacattctacaacgcgaacgaagggtaccttgtgcaggacacagct
-|||  ||  ||  || |||||||    |||||    | | ||  ||   |||||| |  |  ||    ||
-attnncannatnnatntctcttcnnnnattctnnnncncnaannaannntaccttntnnannacnnnnct
-tcttttggtgctgagatcttcat-cgttaacccgacagaaaaacaagagaaagtcacattcatatcaaac
-|||||   | || | |||||||| |  || ||| ||| ||| ||   | | | || ||||||||||  ||
-tctttnnntnctnanatcttcatncnntancccnacanaaanacnnnananantcncattcatatcnnac
-cctccaaacaatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactctg
-||||| |||||| |||||||||  || ||||||| ||||||||||||  || ||||||||||||||||| 
-cctccnaacaatnttttcacttnnaanatacttcntttctctaccttnnaanataaattctattactctn
-atgattttctngttggagaccgatactggagactaggatttaacccgaaaggatctggtggaggaagacc
-|| |||||||  ||  | ||| |||||  | | ||  ||||||||| |||  ||||  |  |   | |||
-atnattttctcnttnaanaccnatactnnanattannatttaacccnaaannatctnntnnannnanacc
-acatgcacttccaatcttcctatatgctcaaggccataaggcaaacgcagttgttacaaacacttgggga
-|||| |||||||||||||||||||| |||||  ||||||  ||||| || || ||||||||||||    |
-acatncacttccaatcttcctatatnctcaannccataanncaaacncanttnttacaaacacttnnnna
-gcggttaatctgcggttaaagaatcaacgaagctccaaccacaaacaattatattctgcagcttggtacc
- |  ||||||| |  ||||| ||||||| || ||||||||||||||||||||||||| || |||  ||||
-ncnnttaatctncnnttaaanaatcaacnaanctccaaccacaaacaattatattctncancttnntacc
-cgattcgaagcgattatggtgtgggagtgaacaatataatattgatgtcagagctaaaagatgcat-caa
-| |||| || | |||||  | |   | | |||||||||||||| || ||| | |||||| || ||| |||
-cnattcnaancnattatnntntnnnantnaacaatataatattnatntcananctaaaanatncatccaa
-aagggtatatggtgaatgatgccattatctttgaagctgaaatggttaaggtctctgtgacaaacatagt
-||   |||||  | ||| || ||||||||||| || || ||||  ||||  ||||| | ||||||||| |
-aannntatatnntnaatnatnccattatctttnaanctnaaatnnttaanntctctntnacaaacatant
-ctccgtttaaatatcactacttctttttcaacaacaaccttacgaataaagtggactttgatgagtttaa
-|||| |||||||||||||||||||||||||||||||||||||| |||||| |  ||||| || | |||||
-ctccntttaaatatcactacttctttttcaacaacaaccttacnaataaantnnactttnatnantttaa
-tttgttatacgacaacgttgttgatgcttgtgatgtnatcgttgtttctgctctccgagttttcgtttta
-||| |||||| ||||| || || || ||| | || | ||| || ||||| |||||| | ||||| |||||
-tttnttatacnacaacnttnttnatncttntnatntaatcnttntttctnctctccnanttttcntttta
-ctttttttttcatgttttgctatccaatgaaaataaaaggtttaaaactctcctttggtttttaaa
-||||||||||||| |||| ||||| ||| ||| ||||   | |||||||||| ||   |||| |||
-ctttttttttcatnttttnctatc-aatnaaa-taaa-nntataaaactctc-tt-nntttt-aaa
+Sbjct  107  attcacacaattgatttctcttccaacattctacaacgcgaacgaagggtaccttgtgcaggacacagct  176
+            |||  ||  ||  || |||||||    |||||    | | ||  ||   |||||| |  |  ||    ||
+Query  35   attnncannatnnatntctcttcnnnnattctnnnncncnaannaannntaccttntnnannacnnnnct  104
+
+Sbjct  177  tcttttggtgctgagatcttcat-cgttaacccgacagaaaaacaagagaaagtcacattcatatcaaac  245
+            |||||   | || | |||||||| |  || ||| ||| ||| ||   | | | || ||||||||||  ||
+Query  105  tctttnnntnctnanatcttcatncnntancccnacanaaanacnnnananantcncattcatatcnnac  174
+
+Sbjct  246  cctccaaacaatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactctg  315
+            ||||| |||||| |||||||||  || ||||||| ||||||||||||  || ||||||||||||||||| 
+Query  175  cctccnaacaatnttttcacttnnaanatacttcntttctctaccttnnaanataaattctattactctn  244
+
+Sbjct  316  atgattttctngttggagaccgatactggagactaggatttaacccgaaaggatctggtggaggaagacc  385
+            || |||||||  ||  | ||| |||||  | | ||  ||||||||| |||  ||||  |  |   | |||
+Query  245  atnattttctcnttnaanaccnatactnnanattannatttaacccnaaannatctnntnnannnanacc  314
+
+Sbjct  386  acatgcacttccaatcttcctatatgctcaaggccataaggcaaacgcagttgttacaaacacttgggga  455
+            |||| |||||||||||||||||||| |||||  ||||||  ||||| || || ||||||||||||    |
+Query  315  acatncacttccaatcttcctatatnctcaannccataanncaaacncanttnttacaaacacttnnnna  384
+
+Sbjct  456  gcggttaatctgcggttaaagaatcaacgaagctccaaccacaaacaattatattctgcagcttggtacc  525
+             |  ||||||| |  ||||| ||||||| || ||||||||||||||||||||||||| || |||  ||||
+Query  385  ncnnttaatctncnnttaaanaatcaacnaanctccaaccacaaacaattatattctncancttnntacc  454
+
+Sbjct  526  cgattcgaagcgattatggtgtgggagtgaacaatataatattgatgtcagagctaaaagatgcat-caa  594
+            | |||| || | |||||  | |   | | |||||||||||||| || ||| | |||||| || ||| |||
+Query  455  cnattcnaancnattatnntntnnnantnaacaatataatattnatntcananctaaaanatncatccaa  524
+
+Sbjct  595  aagggtatatggtgaatgatgccattatctttgaagctgaaatggttaaggtctctgtgacaaacatagt  664
+            ||   |||||  | ||| || ||||||||||| || || ||||  ||||  ||||| | ||||||||| |
+Query  525  aannntatatnntnaatnatnccattatctttnaanctnaaatnnttaanntctctntnacaaacatant  594
+
+Sbjct  665  ctccgtttaaatatcactacttctttttcaacaacaaccttacgaataaagtggactttgatgagtttaa  734
+            |||| |||||||||||||||||||||||||||||||||||||| |||||| |  ||||| || | |||||
+Query  595  ctccntttaaatatcactacttctttttcaacaacaaccttacnaataaantnnactttnatnantttaa  664
+
+Sbjct  735  tttgttatacgacaacgttgttgatgcttgtgatgtnatcgttgtttctgctctccgagttttcgtttta  804
+            ||| |||||| ||||| || || || ||| | || | ||| || ||||| |||||| | ||||| |||||
+Query  665  tttnttatacnacaacnttnttnatncttntnatntaatcnttntttctnctctccnanttttcntttta  734
+
+Sbjct  805  ctttttttttcatgttttgctatccaatgaaaataaaaggtttaaaactctcctttggtttttaaa  870
+            ||||||||||||| |||| ||||| ||| ||| ||||   | |||||||||| ||   |||| |||
+Query  735  ctttttttttcatnttttnctatc-aatnaaa-taaa-nntataaaactctc-tt-nntttt-aaa  794
+
 # polishing(m=500,d=-500,p=30): 64/64
 863 16 2 F 863 16 2 1204 174 79.84
-taataaaaacgacggtggaaatgatcatatttccctttacgcaaggatcgaagagacaaactctcttcca
-|||||||||| ||  |  |||| ||||||||||||||||| |||  ||| || | |||||||||||||||
-taataaaaacnacnntnnaaatnatcatatttccctttacncaannatcnaananacaaactctcttcca
-ttaggttgggaagtgaatgttgatctcaaactctttgtccataatgggaagctacacaaatatttgactg
-|||  ||   || | ||| || |||||||||||||| ||||||||   || |||||||||||||| ||| 
-ttannttnnnaantnaatnttnatctcaaactctttntccataatnnnaanctacacaaatatttnactn
-ttacagatggcttagtgaagcgatataacaatgcgaaaaaagaatggggtttcggacaattgattcctcg
-||||| ||  |||| | || | |||||||||| | |||||| |||    ||||  |||||| ||||||| 
-ttacanatnncttantnaancnatataacaatncnaaaaaanaatnnnntttcnnacaattnattcctcn
-atcaacattctacaacgcgaacgaaggttaccttgaccaggacactggttcttttggtgctgagatcttt
-|||||||||||||||| | ||| ||  ||||||| ||||  |||||  |||||||  | || | ||||||
-atcaacattctacaacncnaacnaannttaccttnaccannacactnnttcttttnntnctnanatcttt
-attgttaaaccggctcaacaacaagagaaagttacattcatatcaaaccctccaaacaatgttttcactt
-||| |||||||  ||||||||||| | ||| ||||||||||||||||||||||||||||| |||||||||
-attnttaaaccnnctcaacaacaananaaanttacattcatatcaaaccctccaaacaatnttttcactt
-ggaagatacttcgtttctctaccttggaagataaattctattactccgatgatnttctcgttgaagaccg
-  || ||||||| ||||||||||||  || ||||||||||||||||| || || ||||| || || ||| 
-nnaanatacttcntttctctaccttnnaanataaattctattactccnatnatnttctcnttnaanaccn
-atactggagactaggatttaacccgaaaggggatggaggaggaagaccacatgcacttccaatcttccta
-|||||  | ||||  ||||||||| |||    ||  |  |  || ||||||| |||||||||||||||||
-atactnnanactannatttaacccnaaannnnatnnannannaanaccacatncacttccaatcttccta
-tttgctcaaggccataaggcaaatgcagttgctacaaacacttggggagcggttaatctgcggttaaaga
-||| |||||  ||||||  ||||| || || ||||||||||||    | |  ||||||| |  ||||| |
-tttnctcaannccataanncaaatncanttnctacaaacacttnnnnancnnttaatctncnnttaaana
-atcaacgaagtactaaccatagacaaatatattctgcagcttggtacccgattggaaacggttatggtgt
-|||||| || ||||||||||| ||||||||||||| || |||  ||||| |||  ||||  ||||  | |
-atcaacnaantactaaccatanacaaatatattctncancttnntacccnattnnaaacnnttatnntnt
-gggagtgaacaatatcatactgttagctgatttaaacgatgcatccaaaggatatttggtgaatgatgcc
-   | | |||||||||||||| ||| || |||||||| || ||||||||  ||||||  | ||| || ||
-nnnantnaacaatatcatactnttanctnatttaaacnatncatccaaannatatttnntnaatnatncc
-attatctttgaagctgaaatggttaaggtctctataaccaacatcgtctccgcttaaatatctgcncttc
-||||||||| || || ||||  ||||  ||||||||||||||||| ||||| ||||||||||| | ||||
-attatctttnaanctnaaatnnttaanntctctataaccaacatcntctccncttaaatatctncncttc
-tttgtctacnancaatccaccttatgaataaaaaaattttaatttgatgaatttgttataanaaaacttt
-||| ||||| | ||||||||||||| ||||||||||||||||||| || ||||| |||||| ||||||||
-tttntctacnancaatccaccttatnaataaaaaaattttaatttnatnaatttnttataanaaaacttt
-aatgtttgttaaatgtgaaattt
-||| ||| |||||| | ||||||
-aatntttnttaaatntnaaattt
+Sbjct  2    taataaaaacgacggtggaaatgatcatatttccctttacgcaaggatcgaagagacaaactctcttcca  71
+            |||||||||| ||  |  |||| ||||||||||||||||| |||  ||| || | |||||||||||||||
+Query  2    taataaaaacnacnntnnaaatnatcatatttccctttacncaannatcnaananacaaactctcttcca  71
+
+Sbjct  72   ttaggttgggaagtgaatgttgatctcaaactctttgtccataatgggaagctacacaaatatttgactg  141
+            |||  ||   || | ||| || |||||||||||||| ||||||||   || |||||||||||||| ||| 
+Query  72   ttannttnnnaantnaatnttnatctcaaactctttntccataatnnnaanctacacaaatatttnactn  141
+
+Sbjct  142  ttacagatggcttagtgaagcgatataacaatgcgaaaaaagaatggggtttcggacaattgattcctcg  211
+            ||||| ||  |||| | || | |||||||||| | |||||| |||    ||||  |||||| ||||||| 
+Query  142  ttacanatnncttantnaancnatataacaatncnaaaaaanaatnnnntttcnnacaattnattcctcn  211
+
+Sbjct  212  atcaacattctacaacgcgaacgaaggttaccttgaccaggacactggttcttttggtgctgagatcttt  281
+            |||||||||||||||| | ||| ||  ||||||| ||||  |||||  |||||||  | || | ||||||
+Query  212  atcaacattctacaacncnaacnaannttaccttnaccannacactnnttcttttnntnctnanatcttt  281
+
+Sbjct  282  attgttaaaccggctcaacaacaagagaaagttacattcatatcaaaccctccaaacaatgttttcactt  351
+            ||| |||||||  ||||||||||| | ||| ||||||||||||||||||||||||||||| |||||||||
+Query  282  attnttaaaccnnctcaacaacaananaaanttacattcatatcaaaccctccaaacaatnttttcactt  351
+
+Sbjct  352  ggaagatacttcgtttctctaccttggaagataaattctattactccgatgatnttctcgttgaagaccg  421
+              || ||||||| ||||||||||||  || ||||||||||||||||| || || ||||| || || ||| 
+Query  352  nnaanatacttcntttctctaccttnnaanataaattctattactccnatnatnttctcnttnaanaccn  421
+
+Sbjct  422  atactggagactaggatttaacccgaaaggggatggaggaggaagaccacatgcacttccaatcttccta  491
+            |||||  | ||||  ||||||||| |||    ||  |  |  || ||||||| |||||||||||||||||
+Query  422  atactnnanactannatttaacccnaaannnnatnnannannaanaccacatncacttccaatcttccta  491
+
+Sbjct  492  tttgctcaaggccataaggcaaatgcagttgctacaaacacttggggagcggttaatctgcggttaaaga  561
+            ||| |||||  ||||||  ||||| || || ||||||||||||    | |  ||||||| |  ||||| |
+Query  492  tttnctcaannccataanncaaatncanttnctacaaacacttnnnnancnnttaatctncnnttaaana  561
+
+Sbjct  562  atcaacgaagtactaaccatagacaaatatattctgcagcttggtacccgattggaaacggttatggtgt  631
+            |||||| || ||||||||||| ||||||||||||| || |||  ||||| |||  ||||  ||||  | |
+Query  562  atcaacnaantactaaccatanacaaatatattctncancttnntacccnattnnaaacnnttatnntnt  631
+
+Sbjct  632  gggagtgaacaatatcatactgttagctgatttaaacgatgcatccaaaggatatttggtgaatgatgcc  701
+               | | |||||||||||||| ||| || |||||||| || ||||||||  ||||||  | ||| || ||
+Query  632  nnnantnaacaatatcatactnttanctnatttaaacnatncatccaaannatatttnntnaatnatncc  701
+
+Sbjct  702  attatctttgaagctgaaatggttaaggtctctataaccaacatcgtctccgcttaaatatctgcncttc  771
+            ||||||||| || || ||||  ||||  ||||||||||||||||| ||||| ||||||||||| | ||||
+Query  702  attatctttnaanctnaaatnnttaanntctctataaccaacatcntctccncttaaatatctncncttc  771
+
+Sbjct  772  tttgtctacnancaatccaccttatgaataaaaaaattttaatttgatgaatttgttataanaaaacttt  841
+            ||| ||||| | ||||||||||||| ||||||||||||||||||| || ||||| |||||| ||||||||
+Query  772  tttntctacnancaatccaccttatnaataaaaaaattttaatttnatnaatttnttataanaaaacttt  841
+
+Sbjct  842  aatgtttgttaaatgtgaaattt  864
+            ||| ||| |||||| | ||||||
+Query  842  aatntttnttaaatntnaaattt  864
+
 # polishing(m=500,d=-500,p=30): 64/64
 863 16 2 F 863 16 2 1204 174 79.84
-taataaaaacgacggtggaaatgatcatatttccctttacgcaaggatcgaagagacaaactctcttcca
-|||||||||| ||  |  |||| ||||||||||||||||| |||  ||| || | |||||||||||||||
-taataaaaacnacnntnnaaatnatcatatttccctttacncaannatcnaananacaaactctcttcca
-ttaggttgggaagtgaatgttgatctcaaactctttgtccataatgggaagctacacaaatatttgactg
-|||  ||   || | ||| || |||||||||||||| ||||||||   || |||||||||||||| ||| 
-ttannttnnnaantnaatnttnatctcaaactctttntccataatnnnaanctacacaaatatttnactn
-ttacagatggcttagtgaagcgatataacaatgcgaaaaaagaatggggtttcggacaattgattcctcg
-||||| ||  |||| | || | |||||||||| | |||||| |||    ||||  |||||| ||||||| 
-ttacanatnncttantnaancnatataacaatncnaaaaaanaatnnnntttcnnacaattnattcctcn
-atcaacattctacaacgcgaacgaaggttaccttgaccaggacactggttcttttggtgctgagatcttt
-|||||||||||||||| | ||| ||  ||||||| ||||  |||||  |||||||  | || | ||||||
-atcaacattctacaacncnaacnaannttaccttnaccannacactnnttcttttnntnctnanatcttt
-attgttaaaccggctcaacaacaagagaaagttacattcatatcaaaccctccaaacaatgttttcactt
-||| |||||||  ||||||||||| | ||| ||||||||||||||||||||||||||||| |||||||||
-attnttaaaccnnctcaacaacaananaaanttacattcatatcaaaccctccaaacaatnttttcactt
-ggaagatacttcgtttctctaccttggaagataaattctattactccgatgatnttctcgttgaagaccg
-  || ||||||| ||||||||||||  || ||||||||||||||||| || || ||||| || || ||| 
-nnaanatacttcntttctctaccttnnaanataaattctattactccnatnatnttctcnttnaanaccn
-atactggagactaggatttaacccgaaaggggatggaggaggaagaccacatgcacttccaatcttccta
-|||||  | ||||  ||||||||| |||    ||  |  |  || ||||||| |||||||||||||||||
-atactnnanactannatttaacccnaaannnnatnnannannaanaccacatncacttccaatcttccta
-tttgctcaaggccataaggcaaatgcagttgctacaaacacttggggagcggttaatctgcggttaaaga
-||| |||||  ||||||  ||||| || || ||||||||||||    | |  ||||||| |  ||||| |
-tttnctcaannccataanncaaatncanttnctacaaacacttnnnnancnnttaatctncnnttaaana
-atcaacgaagtactaaccatagacaaatatattctgcagcttggtacccgattggaaacggttatggtgt
-|||||| || ||||||||||| ||||||||||||| || |||  ||||| |||  ||||  ||||  | |
-atcaacnaantactaaccatanacaaatatattctncancttnntacccnattnnaaacnnttatnntnt
-gggagtgaacaatatcatactgttagctgatttaaacgatgcatccaaaggatatttggtgaatgatgcc
-   | | |||||||||||||| ||| || |||||||| || ||||||||  ||||||  | ||| || ||
-nnnantnaacaatatcatactnttanctnatttaaacnatncatccaaannatatttnntnaatnatncc
-attatctttgaagctgaaatggttaaggtctctataaccaacatcgtctccgcttaaatatctgcncttc
-||||||||| || || ||||  ||||  ||||||||||||||||| ||||| ||||||||||| | ||||
-attatctttnaanctnaaatnnttaanntctctataaccaacatcntctccncttaaatatctncncttc
-tttgtctacnancaatccaccttatgaataaaaaaattttaatttgatgaatttgttataanaaaacttt
-||| ||||| | ||||||||||||| ||||||||||||||||||| || ||||| |||||| ||||||||
-tttntctacnancaatccaccttatnaataaaaaaattttaatttnatnaatttnttataanaaaacttt
-aatgtttgttaaatgtgaaattt
-||| ||| |||||| | ||||||
-aatntttnttaaatntnaaattt
+Sbjct  2    taataaaaacgacggtggaaatgatcatatttccctttacgcaaggatcgaagagacaaactctcttcca  71
+            |||||||||| ||  |  |||| ||||||||||||||||| |||  ||| || | |||||||||||||||
+Query  2    taataaaaacnacnntnnaaatnatcatatttccctttacncaannatcnaananacaaactctcttcca  71
+
+Sbjct  72   ttaggttgggaagtgaatgttgatctcaaactctttgtccataatgggaagctacacaaatatttgactg  141
+            |||  ||   || | ||| || |||||||||||||| ||||||||   || |||||||||||||| ||| 
+Query  72   ttannttnnnaantnaatnttnatctcaaactctttntccataatnnnaanctacacaaatatttnactn  141
+
+Sbjct  142  ttacagatggcttagtgaagcgatataacaatgcgaaaaaagaatggggtttcggacaattgattcctcg  211
+            ||||| ||  |||| | || | |||||||||| | |||||| |||    ||||  |||||| ||||||| 
+Query  142  ttacanatnncttantnaancnatataacaatncnaaaaaanaatnnnntttcnnacaattnattcctcn  211
+
+Sbjct  212  atcaacattctacaacgcgaacgaaggttaccttgaccaggacactggttcttttggtgctgagatcttt  281
+            |||||||||||||||| | ||| ||  ||||||| ||||  |||||  |||||||  | || | ||||||
+Query  212  atcaacattctacaacncnaacnaannttaccttnaccannacactnnttcttttnntnctnanatcttt  281
+
+Sbjct  282  attgttaaaccggctcaacaacaagagaaagttacattcatatcaaaccctccaaacaatgttttcactt  351
+            ||| |||||||  ||||||||||| | ||| ||||||||||||||||||||||||||||| |||||||||
+Query  282  attnttaaaccnnctcaacaacaananaaanttacattcatatcaaaccctccaaacaatnttttcactt  351
+
+Sbjct  352  ggaagatacttcgtttctctaccttggaagataaattctattactccgatgatnttctcgttgaagaccg  421
+              || ||||||| ||||||||||||  || ||||||||||||||||| || || ||||| || || ||| 
+Query  352  nnaanatacttcntttctctaccttnnaanataaattctattactccnatnatnttctcnttnaanaccn  421
+
+Sbjct  422  atactggagactaggatttaacccgaaaggggatggaggaggaagaccacatgcacttccaatcttccta  491
+            |||||  | ||||  ||||||||| |||    ||  |  |  || ||||||| |||||||||||||||||
+Query  422  atactnnanactannatttaacccnaaannnnatnnannannaanaccacatncacttccaatcttccta  491
+
+Sbjct  492  tttgctcaaggccataaggcaaatgcagttgctacaaacacttggggagcggttaatctgcggttaaaga  561
+            ||| |||||  ||||||  ||||| || || ||||||||||||    | |  ||||||| |  ||||| |
+Query  492  tttnctcaannccataanncaaatncanttnctacaaacacttnnnnancnnttaatctncnnttaaana  561
+
+Sbjct  562  atcaacgaagtactaaccatagacaaatatattctgcagcttggtacccgattggaaacggttatggtgt  631
+            |||||| || ||||||||||| ||||||||||||| || |||  ||||| |||  ||||  ||||  | |
+Query  562  atcaacnaantactaaccatanacaaatatattctncancttnntacccnattnnaaacnnttatnntnt  631
+
+Sbjct  632  gggagtgaacaatatcatactgttagctgatttaaacgatgcatccaaaggatatttggtgaatgatgcc  701
+               | | |||||||||||||| ||| || |||||||| || ||||||||  ||||||  | ||| || ||
+Query  632  nnnantnaacaatatcatactnttanctnatttaaacnatncatccaaannatatttnntnaatnatncc  701
+
+Sbjct  702  attatctttgaagctgaaatggttaaggtctctataaccaacatcgtctccgcttaaatatctgcncttc  771
+            ||||||||| || || ||||  ||||  ||||||||||||||||| ||||| ||||||||||| | ||||
+Query  702  attatctttnaanctnaaatnnttaanntctctataaccaacatcntctccncttaaatatctncncttc  771
+
+Sbjct  772  tttgtctacnancaatccaccttatgaataaaaaaattttaatttgatgaatttgttataanaaaacttt  841
+            ||| ||||| | ||||||||||||| ||||||||||||||||||| || ||||| |||||| ||||||||
+Query  772  tttntctacnancaatccaccttatnaataaaaaaattttaatttnatnaatttnttataanaaaacttt  841
+
+Sbjct  842  aatgtttgttaaatgtgaaattt  864
+            ||| ||| |||||| | ||||||
+Query  842  aatntttnttaaatntnaaattt  864
+
 # polishing(m=500,d=-500,p=30): 64/64
diff --git a/testdata/repfind-result/at1MB-U8-greedy-r-12-30-80-2-36-a b/testdata/repfind-result/at1MB-U8-greedy-r-12-30-80-2-36-a
index 0107bae..01270fc 100644
--- a/testdata/repfind-result/at1MB-U8-greedy-r-12-30-80-2-36-a
+++ b/testdata/repfind-result/at1MB-U8-greedy-r-12-30-80-2-36-a
@@ -1,773 +1,930 @@
+# Options: -minidentity 80 -l 30 -seedlength 12 -extendgreedy -ii at1MB -q /local/kurtz/genometools/testsuite/../testdata/U89959_genomic.fas -r -outfmt alignment=70 polinfo -verify-alignment -history 60
+# Fields: s. len, s. seqnum, s. start, strand, q. len, q. seqnum, q. start, score, editdist, % identity
 32 1099 143 R 30 0 106365 44 6 80.65
-cttgtttgggctcttcaggat-ctcttgtcaag
-||| |||||||||||| | || || ||||| ||
-ctt-tttgggctcttccg-atgct-ttgtctag
+Sbjct  143  cttgtttgggctcttcaggat-ctcttgtcaag  174
+            ||| |||||||||||| | || || ||||| ||
+Query  578  ctt-tttgggctcttccg-atgct-ttgtctag  607
+
 # polishing(m=400,d=-600,p=30): 33/33, seed_on_start, seed_on_end
 32 1013 180 R 30 0 100448 44 6 80.65
-gcaagagtaatcctctattattatctccccca
-|||| | ||||||||||||| || | || |||
-gcaacactaatcctctattacta-c-cctcca
+Sbjct  180   gcaagagtaatcctctattattatctccccca  211
+             |||| | ||||||||||||| || | || |||
+Query  6495  gcaacactaatcctctattacta-c-cctcca  6524
+
 # polishing(m=400,d=-600,p=30): 32/32, seed_on_start, seed_on_end
 31 986 284 R 32 0 97954 45 6 80.95
-tatgt-taatatttgtattatggtttgtatta
-||| | ||||||||||||| |  ||| |||||
-tatttataatatttgtattgttttttttatta
+Sbjct  284   tatgt-taatatttgtattatggtttgtatta  314
+             ||| | ||||||||||||| |  ||| |||||
+Query  8987  tatttataatatttgtattgttttttttatta  9018
+
 # polishing(m=400,d=-600,p=30): 32/32, seed_on_start, seed_on_end
 31 139 93 R 30 0 97699 46 5 83.61
-tttcttattcggaaaaaaaaaatgattggaa
-||||||| |   || ||||||||||||||||
-tttctta-taaaaataaaaaaatgattggaa
+Sbjct  93    tttcttattcggaaaaaaaaaatgattggaa  123
+             ||||||| |   || ||||||||||||||||
+Query  9244  tttctta-taaaaataaaaaaatgattggaa  9273
+
 # polishing(m=400,d=-600,p=30): 31/31, seed_on_start, seed_on_end
 33 571 310 R 29 0 97107 44 6 80.65
-ttcttcttcttctttcttaaacttttgcatcaa
-|||||||||||||| ||||   | ||||| |||
-ttcttcttcttctt-ctta---tgttgcaccaa
+Sbjct  310   ttcttcttcttctttcttaaacttttgcatcaa  342
+             |||||||||||||| ||||   | ||||| |||
+Query  9837  ttcttcttcttctt-ctta---tgttgcaccaa  9865
+
 # polishing(m=400,d=-600,p=30): 33/33, seed_on_start, seed_on_end
 30 103 64 R 30 0 97114 42 6 80.00
-tcagccatgg-cttcttcttcttcttctctt
-||| || ||  ||||||||||||||| | ||
-tcaacc-tgttcttcttcttcttcttatgtt
+Sbjct  64    tcagccatgg-cttcttcttcttcttctctt  93
+             ||| || ||  ||||||||||||||| | ||
+Query  9829  tcaacc-tgttcttcttcttcttcttatgtt  9858
+
 # polishing(m=400,d=-600,p=30): 31/31, seed_on_start, seed_on_end
 35 1231 19 R 36 0 94850 50 7 80.28
-ac-a-tatcccatttgtgagagaaggacttgtgaagg
-|| | |||||||||||| |||||||   || ||||||
-acgagtatcccatttgt-agagaagtttttttgaagg
+Sbjct  19     ac-a-tatcccatttgtgagagaaggacttgtgaagg  53
+              || | |||||||||||| |||||||   || ||||||
+Query  12087  acgagtatcccatttgt-agagaagtttttttgaagg  12122
+
 # polishing(m=400,d=-600,p=30): 37/37, seed_on_start, seed_on_end
 31 31 0 R 31 0 93825 47 5 83.87
-ctctg-tctctttcttcttcttcttcttcttc
-||||  | |||||||||||| |||||| ||||
-ctctcat-tctttcttcttcctcttctacttc
+Sbjct  0      ctctg-tctctttcttcttcttcttcttcttc  30
+              ||||  | |||||||||||| |||||| ||||
+Query  13117  ctctcat-tctttcttcttcctcttctacttc  13147
+
 # polishing(m=400,d=-600,p=30): 32/32, seed_on_start, seed_on_end
 30 479 183 R 31 0 91402 46 5 83.61
-aagaaaaaagaaaaaaaaagcaag-aaacat
-|| ||||||||||||||||   || ||||||
-aataaaaaagaaaaaaaaaattagcaaacat
+Sbjct  183    aagaaaaaagaaaaaaaaagcaag-aaacat  212
+              || ||||||||||||||||   || ||||||
+Query  15540  aataaaaaagaaaaaaaaaattagcaaacat  15570
+
 # polishing(m=400,d=-600,p=30): 31/31, seed_on_start, seed_on_end
 32 522 317 R 28 0 88553 42 6 80.00
-atgtttggatgtggataagtatttgacgatta
-|| | ||| | ||| |||| ||||||||||||
-atttctgg-t-tgg-taag-atttgacgatta
+Sbjct  317    atgtttggatgtggataagtatttgacgatta  348
+              || | ||| | ||| |||| ||||||||||||
+Query  18392  atttctgg-t-tgg-taag-atttgacgatta  18419
+
 # polishing(m=400,d=-600,p=30): 32/32, seed_on_start, seed_on_end
 32 1134 277 R 28 0 88553 42 6 80.00
-atgtttggatgtggataagtatttgacgatta
-|| | ||| | ||| |||| ||||||||||||
-atttctgg-t-tgg-taag-atttgacgatta
+Sbjct  277    atgtttggatgtggataagtatttgacgatta  308
+              || | ||| | ||| |||| ||||||||||||
+Query  18392  atttctgg-t-tgg-taag-atttgacgatta  18419
+
 # polishing(m=400,d=-600,p=30): 32/32, seed_on_start, seed_on_end
 32 950 310 R 28 0 85878 42 6 80.00
-ttatgtaatgttttatgtggtttgagttgtaa
-||| || | | | ||| |||||||||||||||
-tta-gt-a-g-tctatctggtttgagttgtaa
+Sbjct  310    ttatgtaatgttttatgtggtttgagttgtaa  341
+              ||| || | | | ||| |||||||||||||||
+Query  21067  tta-gt-a-g-tctatctggtttgagttgtaa  21094
+
 # polishing(m=400,d=-600,p=30): 32/32, seed_on_start, seed_on_end
 32 1041 299 R 28 0 85878 42 6 80.00
-ttatgtaatgttttatgtggtttgagttgtaa
-||| || | | | ||| |||||||||||||||
-tta-gt-a-g-tctatctggtttgagttgtaa
+Sbjct  299    ttatgtaatgttttatgtggtttgagttgtaa  330
+              ||| || | | | ||| |||||||||||||||
+Query  21067  tta-gt-a-g-tctatctggtttgagttgtaa  21094
+
 # polishing(m=400,d=-600,p=30): 32/32, seed_on_start, seed_on_end
 37 1034 237 R 38 0 84004 54 7 81.33
-ttttgttctct-ctttttcaaaaacttatta-agctctt
-||| ||||| | ||||||||||||||| ||| | || ||
-tttcgttctttactttttcaaaaactt-ttacacctatt
+Sbjct  237    ttttgttctct-ctttttcaaaaacttatta-agctctt  273
+              ||| ||||| | ||||||||||||||| ||| | || ||
+Query  22931  tttcgttctttactttttcaaaaactt-ttacacctatt  22968
+
 # polishing(m=400,d=-600,p=30): 39/39, seed_on_start, seed_on_end
 37 965 245 R 38 0 84004 54 7 81.33
-ttttgttctnt-ctttttcaaaaacttatta-agctctt
-||| ||||| | ||||||||||||||| ||| | || ||
-tttcgttctttactttttcaaaaactt-ttacacctatt
+Sbjct  245    ttttgttctnt-ctttttcaaaaacttatta-agctctt  281
+              ||| ||||| | ||||||||||||||| ||| | || ||
+Query  22931  tttcgttctttactttttcaaaaactt-ttacacctatt  22968
+
 # polishing(m=400,d=-600,p=30): 39/39, seed_on_start, seed_on_end
 42 703 366 R 38 0 83361 56 8 80.00
-ctgttttttttttctttttgttgttgatgttgtccttatttg
-||||||||||||| ||||| || ||||| || |  | |||||
-ctgttttttttttttttttttttttgat-tt-t-at-atttg
+Sbjct  366    ctgttttttttttctttttgttgttgatgttgtccttatttg  407
+              ||||||||||||| ||||| || ||||| || |  | |||||
+Query  23574  ctgttttttttttttttttttttttgat-tt-t-at-atttg  23611
+
 # polishing(m=400,d=-600,p=30): 42/42, seed_on_start
 37 777 257 R 38 0 83360 54 7 81.33
-tgttttttttttctttcttgtattgactctat-tttgg
-|||||||||||| ||| || | |||| | ||| |||||
-tgttttttttttttttttttttttgattttatatttgg
+Sbjct  257    tgttttttttttctttcttgtattgactctat-tttgg  293
+              |||||||||||| ||| || | |||| | ||| |||||
+Query  23575  tgttttttttttttttttttttttgattttatatttgg  23612
+
 # polishing(m=400,d=-600,p=30): 38/38, seed_on_start, seed_on_end
 31 351 283 R 29 0 83369 42 6 80.00
-tgctctttttttttttttgttttaataattt
-|| | ||||||||||||| ||||  | ||||
-tg-t-tttttttttttttttttttttgattt
+Sbjct  283    tgctctttttttttttttgttttaataattt  313
+              || | ||||||||||||| ||||  | ||||
+Query  23575  tg-t-tttttttttttttttttttttgattt  23603
+
 # polishing(m=400,d=-600,p=30): 31/31, seed_on_start, seed_on_end
 31 351 283 R 29 0 83369 42 6 80.00
-tgctctttttttttttttgttttaataattt
-|| | ||||||||||||| ||||  | ||||
-tgtt-ttttttttttttt-tttttttgattt
+Sbjct  283    tgctctttttttttttttgttttaataattt  313
+              || | ||||||||||||| ||||  | ||||
+Query  23575  tgtt-ttttttttttttt-tttttttgattt  23603
+
 # polishing(m=400,d=-600,p=30): 31/31, seed_on_start, seed_on_end
 31 351 283 R 29 0 83369 42 6 80.00
-tgctctttttttttttttgttttaataattt
-|| | ||||||||||||| ||||  | ||||
-tgtttttttttttttttt-tttt-ttgattt
+Sbjct  283    tgctctttttttttttttgttttaataattt  313
+              || | ||||||||||||| ||||  | ||||
+Query  23575  tgtttttttttttttttt-tttt-ttgattt  23603
+
 # polishing(m=400,d=-600,p=30): 31/31, seed_on_start, seed_on_end
 30 351 288 R 32 0 83358 44 6 80.65
-tttttttttttttgtt--tt-aataatttggtt
-||||||||||||| ||  ||  ||| |||||||
-ttttttttttttttttgattttata-tttggtt
+Sbjct  288    tttttttttttttgtt--tt-aataatttggtt  317
+              ||||||||||||| ||  ||  ||| |||||||
+Query  23583  ttttttttttttttttgattttata-tttggtt  23614
+
 # polishing(m=400,d=-600,p=30): 33/33, seed_on_start, seed_on_end
 30 351 288 R 31 0 83358 46 5 83.61
-ttttttttttttt--g-ttttaataatttggtt
-|||||||||||||  | ||||| || |||||||
-tttttttttttttttgatttta-ta-tttggtt
+Sbjct  288    ttttttttttttt--g-ttttaataatttggtt  317
+              |||||||||||||  | ||||| || |||||||
+Query  23584  tttttttttttttttgatttta-ta-tttggtt  23614
+
 # polishing(m=400,d=-600,p=30): 33/33, seed_on_start, seed_on_end
 30 351 288 R 30 0 83358 48 4 86.67
-ttttttttttttt-g-ttttaataatttggtt
-||||||||||||| | ||||| || |||||||
-ttttttttttttttgatttta-ta-tttggtt
+Sbjct  288    ttttttttttttt-g-ttttaataatttggtt  317
+              ||||||||||||| | ||||| || |||||||
+Query  23585  ttttttttttttttgatttta-ta-tttggtt  23614
+
 # polishing(m=400,d=-600,p=30): 32/32, seed_on_start, seed_on_end
 34 845 164 R 34 0 83345 50 6 82.35
-tttttgttttttgtatttggtttcctttttct-ta
-||||||  |||| ||||||||||||  ||||| ||
-tttttga-ttttatatttggtttcccatttctata
+Sbjct  164    tttttgttttttgtatttggtttcctttttct-ta  197
+              ||||||  |||| ||||||||||||  ||||| ||
+Query  23594  tttttga-ttttatatttggtttcccatttctata  23627
+
 # polishing(m=400,d=-600,p=30): 35/35, seed_on_start, seed_on_end
 33 1487 301 R 30 0 83089 45 6 80.95
-tgtgttaaatggtttgaattagtctaaagtaaa
-|||||||||||| ||||||  ||  |||| |||
-tgtgttaaatgggttgaat--gt-gaaagaaaa
+Sbjct  301    tgtgttaaatggtttgaattagtctaaagtaaa  333
+              |||||||||||| ||||||  ||  |||| |||
+Query  23854  tgtgttaaatgggttgaat--gt-gaaagaaaa  23883
+
 # polishing(m=400,d=-600,p=30): 33/33, seed_on_start, seed_on_end
 30 811 393 R 30 0 78900 42 6 80.00
-cttttgttcttagtttatagctt-ctactac
-|||||||||||| |||| || ||  | ||||
-cttttgttctta-tttaaagtttaattctac
+Sbjct  393    cttttgttcttagtttatagctt-ctactac  422
+              |||||||||||| |||| || ||  | ||||
+Query  28043  cttttgttctta-tttaaagtttaattctac  28072
+
 # polishing(m=400,d=-600,p=30): 31/31, seed_on_start, seed_on_end
 34 859 197 R 31 0 77831 50 5 84.62
-aactaaganncatatatatatatatatatatata
-|| ||| |  ||| ||||||||||||||||||||
-aa-taa-ac-catgtatatatatatatatatata
+Sbjct  197    aactaaganncatatatatatatatatatatata  230
+              || ||| |  ||| ||||||||||||||||||||
+Query  29111  aa-taa-ac-catgtatatatatatatatatata  29141
+
 # polishing(m=400,d=-600,p=30): 34/34, seed_on_start, seed_on_end
 35 1214 206 R 35 0 77816 70 0 100.00
-tatatatatatatatatatatatatatatatatat
-|||||||||||||||||||||||||||||||||||
-tatatatatatatatatatatatatatatatatat
+Sbjct  206    tatatatatatatatatatatatatatatatatat  240
+              |||||||||||||||||||||||||||||||||||
+Query  29122  tatatatatatatatatatatatatatatatatat  29156
+
 37 1214 204 R 37 0 77818 71 1 97.30
-catatatatatatatatatatatatatatatatatat
-||| |||||||||||||||||||||||||||||||||
-catgtatatatatatatatatatatatatatatatat
+Sbjct  204    catatatatatatatatatatatatatatatatatat  240
+              ||| |||||||||||||||||||||||||||||||||
+Query  29118  catgtatatatatatatatatatatatatatatatat  29154
+
 # polishing(m=400,d=-600,p=30): 37/37, seed_on_start, seed_on_end
 34 1214 207 R 34 0 77820 65 1 97.06
-atatatatatatatatatatatatatatatatat
-|| |||||||||||||||||||||||||||||||
-atgtatatatatatatatatatatatatatatat
+Sbjct  207    atatatatatatatatatatatatatatatatat  240
+              || |||||||||||||||||||||||||||||||
+Query  29119  atgtatatatatatatatatatatatatatatat  29152
+
 # polishing(m=400,d=-600,p=30): 34/34, seed_on_start, seed_on_end
 32 1214 209 R 32 0 77822 61 1 96.88
-atatatatatatatatatatatatatatatat
-|| |||||||||||||||||||||||||||||
-atgtatatatatatatatatatatatatatat
+Sbjct  209    atatatatatatatatatatatatatatatat  240
+              || |||||||||||||||||||||||||||||
+Query  29119  atgtatatatatatatatatatatatatatat  29150
+
 # polishing(m=400,d=-600,p=30): 32/32, seed_on_start, seed_on_end
 30 1214 211 R 30 0 77824 57 1 96.67
-atatatatatatatatatatatatatatat
-|| |||||||||||||||||||||||||||
-atgtatatatatatatatatatatatatat
+Sbjct  211    atatatatatatatatatatatatatatat  240
+              || |||||||||||||||||||||||||||
+Query  29119  atgtatatatatatatatatatatatatat  29148
+
 # polishing(m=400,d=-600,p=30): 30/30, seed_on_start, seed_on_end
 40 1214 201 R 39 0 77826 61 6 84.81
-tcncatatatat-atatatatatatatatatatatatatat
-|| || ||| |  || |||||||||||||||||||||||||
-tc-ca-ataaaccatgtatatatatatatatatatatatat
+Sbjct  201    tcncatatatat-atatatatatatatatatatatatatat  240
+              || || ||| |  || |||||||||||||||||||||||||
+Query  29108  tc-ca-ataaaccatgtatatatatatatatatatatatat  29146
+
 # polishing(m=400,d=-600,p=30): 41/41, seed_on_start, seed_on_end
 38 1214 215 R 39 0 77815 59 6 84.42
-atatatatatatatatatatatatatgtctct-tctata
-|| ||||||||||||||||||||||| | | | | ||||
-atgtatatatatatatatatatatatatatatatatata
+Sbjct  215    atatatatatatatatatatatatatgtctct-tctata  252
+              || ||||||||||||||||||||||| | | | | ||||
+Query  29119  atgtatatatatatatatatatatatatatatatatata  29157
+
 # polishing(m=400,d=-600,p=30): 39/39, seed_on_start, seed_on_end
 36 1214 217 R 37 0 77817 55 6 83.56
-atatatatatatatatatatatatgtctct-tctata
-|| ||||||||||||||||||||| | | | | ||||
-atgtatatatatatatatatatatatatatatatata
+Sbjct  217    atatatatatatatatatatatatgtctct-tctata  252
+              || ||||||||||||||||||||| | | | | ||||
+Query  29119  atgtatatatatatatatatatatatatatatatata  29155
+
 # polishing(m=400,d=-600,p=30): 37/37, seed_on_start, seed_on_end
 34 1214 219 R 35 0 77819 51 6 82.61
-atatatatatatatatatatatgtctct-tctata
-|| ||||||||||||||||||| | | | | ||||
-atgtatatatatatatatatatatatatatatata
+Sbjct  219    atatatatatatatatatatatgtctct-tctata  252
+              || ||||||||||||||||||| | | | | ||||
+Query  29119  atgtatatatatatatatatatatatatatatata  29153
+
 # polishing(m=400,d=-600,p=30): 35/35, seed_on_start, seed_on_end
 32 1214 221 R 33 0 77821 47 6 81.54
-atatatatatatatatatatgtctct-tctata
-|| ||||||||||||||||| | | | | ||||
-atgtatatatatatatatatatatatatatata
+Sbjct  221    atatatatatatatatatatgtctct-tctata  252
+              || ||||||||||||||||| | | | | ||||
+Query  29119  atgtatatatatatatatatatatatatatata  29151
+
 # polishing(m=400,d=-600,p=30): 33/33, seed_on_start, seed_on_end
 34 1701 303 R 36 0 77826 52 6 82.86
-aa-aaatctt-tatatatatatatatatntatntat
-|| ||| | | ||||||||||||||||| ||| |||
-aataaaccatgtatatatatatatatatatatatat
+Sbjct  303    aa-aaatctt-tatatatatatatatatntatntat  336
+              || ||| | | ||||||||||||||||| ||| |||
+Query  29111  aataaaccatgtatatatatatatatatatatatat  29146
+
 # polishing(m=400,d=-600,p=30): 36/36, seed_on_start, seed_on_end
 30 1214 223 R 31 0 77823 43 6 80.33
-atatatatatatatatatgtctct-tctata
-|| ||||||||||||||| | | | | ||||
-atgtatatatatatatatatatatatatata
+Sbjct  223    atatatatatatatatatgtctct-tctata  252
+              || ||||||||||||||| | | | | ||||
+Query  29119  atgtatatatatatatatatatatatatata  29149
+
 # polishing(m=400,d=-600,p=30): 31/31, seed_on_start, seed_on_end
 35 1214 205 R 35 0 77815 70 0 100.00
-atatatatatatatatatatatatatatatatata
-|||||||||||||||||||||||||||||||||||
-atatatatatatatatatatatatatatatatata
+Sbjct  205    atatatatatatatatatatatatatatatatata  239
+              |||||||||||||||||||||||||||||||||||
+Query  29123  atatatatatatatatatatatatatatatatata  29157
+
 34 1701 303 R 38 0 77824 51 7 80.56
-aa-aaatc-t-t-tatatatatatatatatntatntat
-|| ||| | | | ||||||||||||||||| ||| |||
-aataaaccatgtatatatatatatatatatatatatat
+Sbjct  303    aa-aaatc-t-t-tatatatatatatatatntatntat  336
+              || ||| | | | ||||||||||||||||| ||| |||
+Query  29111  aataaaccatgtatatatatatatatatatatatatat  29148
+
 # polishing(m=400,d=-600,p=30): 38/38, seed_on_start, seed_on_end
 36 1214 205 R 35 0 77813 68 1 97.18
-atatatatatatatatatatatatatatatatatat
-||||||||||||||||||||||||||||||||| ||
-atatatatatatatatatatatatatatatata-at
+Sbjct  205    atatatatatatatatatatatatatatatatatat  240
+              ||||||||||||||||||||||||||||||||| ||
+Query  29125  atatatatatatatatatatatatatatatata-at  29159
+
 # polishing(m=400,d=-600,p=30): 36/36, seed_on_start, seed_on_end
 37 1214 205 R 39 0 77807 67 3 92.11
-atatatatatatatatatatatatatatata-tata-tg
-||||||||||||||||||||||||||||||| || | ||
-atatatatatatatatatatatatatatataatagaatg
+Sbjct  205    atatatatatatatatatatatatatatata-tata-tg  241
+              ||||||||||||||||||||||||||||||| || | ||
+Query  29127  atatatatatatatatatatatatatatataatagaatg  29165
+
 # polishing(m=400,d=-600,p=30): 39/39, seed_on_start, seed_on_end
 30 1701 307 R 30 0 77820 48 4 86.67
-atctttatatatatatatatatntatntat
-|| | ||||||||||||||||| ||| |||
-atatatatatatatatatatatatatatat
+Sbjct  307    atctttatatatatatatatatntatntat  336
+              || | ||||||||||||||||| ||| |||
+Query  29123  atatatatatatatatatatatatatatat  29152
+
 # polishing(m=400,d=-600,p=30): 30/30, seed_on_start, seed_on_end
 40 1524 237 R 42 0 77802 58 8 80.49
-atatatatatatatatatatagtctttata-ta-a-tgtctta
-||||||||||||||||||||| | | |||| || | ||  |||
-atatatatatatatatatata-tatatataatagaatgaatta
+Sbjct  237    atatatatatatatatatatagtctttata-ta-a-tgtctta  276
+              ||||||||||||||||||||| | | |||| || | ||  |||
+Query  29129  atatatatatatatatatata-tatatataatagaatgaatta  29170
+
 # polishing(m=400,d=-600,p=30): 43/43, seed_on_start, seed_on_end
 37 1214 205 R 37 0 77807 65 3 91.89
-atatatatatatatatatatatatatatatatata-tg
-||||||||||||||||||||||||||||| ||| | ||
-atatatatatatatatatatatatatata-atagaatg
+Sbjct  205    atatatatatatatatatatatatatatatatata-tg  241
+              ||||||||||||||||||||||||||||| ||| | ||
+Query  29129  atatatatatatatatatatatatatata-atagaatg  29165
+
 # polishing(m=400,d=-600,p=30): 38/38, seed_on_start, seed_on_end
 30 1701 307 R 30 0 77818 48 4 86.67
-atctttatatatatatatatatntatntat
-|| | ||||||||||||||||| ||| |||
-atatatatatatatatatatatatatatat
+Sbjct  307    atctttatatatatatatatatntatntat  336
+              || | ||||||||||||||||| ||| |||
+Query  29125  atatatatatatatatatatatatatatat  29154
+
 # polishing(m=400,d=-600,p=30): 30/30, seed_on_start, seed_on_end
 40 1524 237 R 40 0 77802 59 7 82.50
-atatatatatatatatatatagtcttta-tataatgtctta
-||||||||||||||||||||| | | || || ||||  |||
-atatatatatatatatatata-tatataatagaatgaatta
+Sbjct  237    atatatatatatatatatatagtcttta-tataatgtctta  276
+              ||||||||||||||||||||| | | || || ||||  |||
+Query  29131  atatatatatatatatatata-tatataatagaatgaatta  29170
+
 # polishing(m=400,d=-600,p=30): 41/41, seed_on_start, seed_on_end
 37 1214 205 R 35 0 77807 63 3 91.67
-atatatatatatatatatatatatatatatatatatg
-||||||||||||||||||||||||||| ||| | |||
-atatatatatatatatatatatatata-ataga-atg
+Sbjct  205    atatatatatatatatatatatatatatatatatatg  241
+              ||||||||||||||||||||||||||| ||| | |||
+Query  29131  atatatatatatatatatatatatata-ataga-atg  29165
+
 # polishing(m=400,d=-600,p=30): 37/37, seed_on_start, seed_on_end
 30 1701 307 R 30 0 77816 48 4 86.67
-atctttatatatatatatatatntatntat
-|| | ||||||||||||||||| ||| |||
-atatatatatatatatatatatatatatat
+Sbjct  307    atctttatatatatatatatatntatntat  336
+              || | ||||||||||||||||| ||| |||
+Query  29127  atatatatatatatatatatatatatatat  29156
+
 # polishing(m=400,d=-600,p=30): 30/30, seed_on_start, seed_on_end
 40 1524 237 R 38 0 77802 57 7 82.05
-atatatatatatatatatatagtctttatataatgtctta
-||||||||||||||||||||| | |  ||| ||||  |||
-atatatatatatatatatata-tat-aatagaatgaatta
+Sbjct  237    atatatatatatatatatatagtctttatataatgtctta  276
+              ||||||||||||||||||||| | |  ||| ||||  |||
+Query  29133  atatatatatatatatatata-tat-aatagaatgaatta  29170
+
 # polishing(m=400,d=-600,p=30): 40/40, seed_on_start, seed_on_end
 34 1214 205 R 32 0 77808 57 3 90.91
-atatatatatatatatatatatatatatatatat
-||||||||||||||||||||||||| ||| | ||
-atatatatatatatatatatatata-ataga-at
+Sbjct  205    atatatatatatatatatatatatatatatatat  238
+              ||||||||||||||||||||||||| ||| | ||
+Query  29133  atatatatatatatatatatatata-ataga-at  29164
+
 # polishing(m=400,d=-600,p=30): 34/34, seed_on_start, seed_on_end
 32 1214 205 R 30 0 77808 53 3 90.32
-atatatatatatatatatatatatatatatat
-||||||||||||||||||||||| ||| | ||
-atatatatatatatatatatata-ataga-at
+Sbjct  205    atatatatatatatatatatatatatatatat  236
+              ||||||||||||||||||||||| ||| | ||
+Query  29135  atatatatatatatatatatata-ataga-at  29164
+
 # polishing(m=400,d=-600,p=30): 32/32, seed_on_start, seed_on_end
 31 357 287 R 32 0 77145 45 6 80.95
-tga-attttcttcatggtacatttttctaaaa
-||| ||| ||||| |   ||||||||||||||
-tgatattatcttctttaaacatttttctaaaa
+Sbjct  287    tga-attttcttcatggtacatttttctaaaa  317
+              ||| ||| ||||| |   ||||||||||||||
+Query  29796  tgatattatcttctttaaacatttttctaaaa  29827
+
 # polishing(m=400,d=-600,p=30): 32/32, seed_on_start, seed_on_end
 30 79 224 R 32 0 75548 44 6 80.65
-ttaagttg-aagaa-aagaagaagttttcgtt
-|||||  | ||| | |||||||||||||| ||
-ttaagaggtaagtagaagaagaagttttcctt
+Sbjct  224    ttaagttg-aagaa-aagaagaagttttcgtt  253
+              |||||  | ||| | |||||||||||||| ||
+Query  31393  ttaagaggtaagtagaagaagaagttttcctt  31424
+
 # polishing(m=400,d=-600,p=30): 32/32, seed_on_start, seed_on_end
 29 1495 169 R 32 0 75548 43 6 80.33
-ttaagttg-aag-a-aagaagaagttttcgtt
-|||||  | ||| | |||||||||||||| ||
-ttaagaggtaagtagaagaagaagttttcctt
+Sbjct  169    ttaagttg-aag-a-aagaagaagttttcgtt  197
+              |||||  | ||| | |||||||||||||| ||
+Query  31393  ttaagaggtaagtagaagaagaagttttcctt  31424
+
 # polishing(m=400,d=-600,p=30): 32/32, seed_on_start, seed_on_end
 31 1055 285 R 32 0 74770 45 6 80.95
-attgttg--taataaacttgtgaaagtgatttt
-||| |||  |||| || || |||||||||||||
-att-ttgattaatcaaattttgaaagtgatttt
+Sbjct  285    attgttg--taataaacttgtgaaagtgatttt  315
+              ||| |||  |||| || || |||||||||||||
+Query  32171  att-ttgattaatcaaattttgaaagtgatttt  32202
+
 # polishing(m=400,d=-600,p=30): 33/33, seed_on_start, seed_on_end
 31 1542 430 R 32 0 74770 45 6 80.95
-attgttg--taataaacttgtgaaagtgatttt
-||| |||  |||| || || |||||||||||||
-att-ttgattaatcaaattttgaaagtgatttt
+Sbjct  430    attgttg--taataaacttgtgaaagtgatttt  460
+              ||| |||  |||| || || |||||||||||||
+Query  32171  att-ttgattaatcaaattttgaaagtgatttt  32202
+
 # polishing(m=400,d=-600,p=30): 33/33, seed_on_start, seed_on_end
 36 1565 142 R 34 0 74565 49 7 80.00
-ag-atcttcccaaatgttaagcaagataaaaaaaaca
-|| || || |||||  ||||| || ||||||||||||
-agaatttt-ccaaaaattaag-aa-ataaaaaaaaca
+Sbjct  142    ag-atcttcccaaatgttaagcaagataaaaaaaaca  177
+              || || || |||||  ||||| || ||||||||||||
+Query  32374  agaatttt-ccaaaaattaag-aa-ataaaaaaaaca  32407
+
 # polishing(m=400,d=-600,p=30): 37/37, seed_on_start, seed_on_end
 31 335 262 R 31 0 74523 50 4 87.10
-atgaaat-aaagtgttctcaaaatgtttatga
-|| |||| ||||| ||| ||||||||||||||
-ataaaataaaagttttc-caaaatgtttatga
+Sbjct  262    atgaaat-aaagtgttctcaaaatgtttatga  292
+              || |||| ||||| ||| ||||||||||||||
+Query  32419  ataaaataaaagttttc-caaaatgtttatga  32449
+
 # polishing(m=400,d=-600,p=30): 32/32, seed_on_start, seed_on_end
 31 1059 469 R 31 0 74523 50 4 87.10
-atgaaat-aaagtgttctcaaaatgtttatga
-|| |||| ||||| ||| ||||||||||||||
-ataaaataaaagttttc-caaaatgtttatga
+Sbjct  469    atgaaat-aaagtgttctcaaaatgtttatga  499
+              || |||| ||||| ||| ||||||||||||||
+Query  32419  ataaaataaaagttttc-caaaatgtttatga  32449
+
 # polishing(m=400,d=-600,p=30): 32/32, seed_on_start, seed_on_end
 34 270 358 R 32 0 74379 48 6 81.82
-gtaatatcaaaataaataaaaaaaa-acttattcc
-|||| || |||| |||||||||||| | || ||||
-gtaa-ataaaaa-aaataaaaaaaagaatt-ttcc
+Sbjct  358    gtaatatcaaaataaataaaaaaaa-acttattcc  391
+              |||| || |||| |||||||||||| | || ||||
+Query  32562  gtaa-ataaaaa-aaataaaaaaaagaatt-ttcc  32593
+
 # polishing(m=400,d=-600,p=30): 35/35, seed_on_start, seed_on_end
 32 166 119 R 30 0 74340 53 3 90.32
-gaaagttgaaaaaaaaaaatcttatttccaaa
-||||||| |||||||||||| || ||||||||
-gaaagttaaaaaaaaaaaat-tt-tttccaaa
+Sbjct  119    gaaagttgaaaaaaaaaaatcttatttccaaa  150
+              ||||||| |||||||||||| || ||||||||
+Query  32603  gaaagttaaaaaaaaaaaat-tt-tttccaaa  32632
+
 # polishing(m=400,d=-600,p=30): 32/32, seed_on_start, seed_on_end
 31 1257 181 R 30 0 73427 43 6 80.33
-atttaaaaattgctccccaaaaaaaaaaaat
-|||||||||||| |   |||||| ||| |||
-atttaaaaattg-tgaacaaaaataaataat
+Sbjct  181    atttaaaaattgctccccaaaaaaaaaaaat  211
+              |||||||||||| |   |||||| ||| |||
+Query  33516  atttaaaaattg-tgaacaaaaataaataat  33545
+
 # polishing(m=400,d=-600,p=30): 31/31, seed_on_start, seed_on_end
 31 1480 383 R 30 0 70767 43 6 80.33
-ttttttactttttatcttttacttaggtctt
-||| | | |||| || || ||||||||||||
-tttataaattttcat-ttatacttaggtctt
+Sbjct  383    ttttttactttttatcttttacttaggtctt  413
+              ||| | | |||| || || ||||||||||||
+Query  36176  tttataaattttcat-ttatacttaggtctt  36205
+
 # polishing(m=400,d=-600,p=30): 31/31, seed_on_start, seed_on_end
 28 635 184 R 32 0 66537 42 6 80.00
-cactaagaaggaga-a-a-tttactggag-gc
-|||||||||||||| | |  || |||||| ||
-cactaagaaggagatagaggttgctggagagc
+Sbjct  184    cactaagaaggaga-a-a-tttactggag-gc  211
+              |||||||||||||| | |  || |||||| ||
+Query  40404  cactaagaaggagatagaggttgctggagagc  40435
+
 # polishing(m=400,d=-600,p=30): 32/32, seed_on_start, seed_on_end
 34 155 13 R 29 0 63670 45 6 80.95
-gttcatttccttgaaaacggttacagaattaggg
-|||| ||| ||| |||| ||  ||||||||||||
-gttc-ttt-ctt-aaaatgg--acagaattaggg
+Sbjct  13     gttcatttccttgaaaacggttacagaattaggg  46
+              |||| ||| ||| |||| ||  ||||||||||||
+Query  43274  gttc-ttt-ctt-aaaatgg--acagaattaggg  43302
+
 # polishing(m=400,d=-600,p=30): 34/34, seed_on_start, seed_on_end
 35 870 405 R 36 0 52827 53 6 83.10
-atttccctaaaaaataaacaaaaaaaaatgta--taa
-|| | ||||||||| ||| |||||||||||||  |||
-atgtacctaaaaaaaaaa-aaaaaaaaatgtacctaa
+Sbjct  405    atttccctaaaaaataaacaaaaaaaaatgta--taa  439
+              || | ||||||||| ||| |||||||||||||  |||
+Query  54110  atgtacctaaaaaaaaaa-aaaaaaaaatgtacctaa  54145
+
 # polishing(m=400,d=-600,p=30): 37/37, seed_on_start, seed_on_end
 30 1397 172 R 31 0 51775 43 6 80.33
-ctac-aaa-taaaatgggacaaaaaaaaagaa
-|||| ||| || | | ||| ||||||||||||
-ctacgaaactagact-ggaaaaaaaaaaagaa
+Sbjct  172    ctac-aaa-taaaatgggacaaaaaaaaagaa  201
+              |||| ||| || | | ||| ||||||||||||
+Query  55167  ctacgaaactagact-ggaaaaaaaaaaagaa  55197
+
 # polishing(m=400,d=-600,p=30): 32/32, seed_on_start, seed_on_end
 31 1895 132 R 30 0 50674 43 6 80.33
-agaaatc-tatgcacaaggaagaatctctgat
-|| |||| | ||||||||||||||   |||||
-ag-aatcttgtgcacaaggaagaa-aactgat
+Sbjct  132    agaaatc-tatgcacaaggaagaatctctgat  162
+              || |||| | ||||||||||||||   |||||
+Query  56269  ag-aatcttgtgcacaaggaagaa-aactgat  56298
+
 # polishing(m=400,d=-600,p=30): 32/32, seed_on_start, seed_on_end
 39 1403 176 R 35 0 49809 56 6 83.78
-aaaaagatcaaagagagagagagagagagagagagaaag
-||||| |  ||| ||||| |||| |||||||||||||||
-aaaaa-a--aaa-agagatagagggagagagagagaaag
+Sbjct  176    aaaaagatcaaagagagagagagagagagagagagaaag  214
+              ||||| |  ||| ||||| |||| |||||||||||||||
+Query  57129  aaaaa-a--aaa-agagatagagggagagagagagaaag  57163
+
 # polishing(m=400,d=-600,p=30): 39/39, seed_on_start, seed_on_end
 38 1403 175 R 34 0 49810 54 6 83.33
-aaaaaagatcaaagagagagagagagagagagagagaa
-|||||| |  ||||||| |||| |||||||||||| ||
-aaaaaa-a--aaagagatagagggagagagagaga-aa
+Sbjct  175    aaaaaagatcaaagagagagagagagagagagagagaa  212
+              |||||| |  ||||||| |||| |||||||||||| ||
+Query  57129  aaaaaa-a--aaagagatagagggagagagagaga-aa  57162
+
 # polishing(m=400,d=-600,p=30): 38/38, seed_on_start, seed_on_end
 36 1403 175 R 35 0 49809 50 7 80.28
-aaaaaagatcaaagagagagagagagagagagagag
-|||||| |  | ||| |||| |||||||||||| ||
-aaaaaaaaa-agagatagagggagagagagagaaag
+Sbjct  175    aaaaaagatcaaagagagagagagagagagagagag  210
+              |||||| |  | ||| |||| |||||||||||| ||
+Query  57129  aaaaaaaaa-agagatagagggagagagagagaaag  57163
+
 # polishing(m=400,d=-600,p=30): 36/36, seed_on_start, seed_on_end
 37 1403 175 R 34 0 49806 50 7 80.28
-aaaaaagatcaaagagagagagagagagagagagaga
-||||||||  | |||| |||||||||||| | || ||
-aaaaaagag-atagagggagagagagaga-a-agtga
+Sbjct  175    aaaaaagatcaaagagagagagagagagagagagaga  211
+              ||||||||  | |||| |||||||||||| | || ||
+Query  57133  aaaaaagag-atagagggagagagagaga-a-agtga  57166
+
 # polishing(m=400,d=-600,p=30): 37/37, seed_on_start, seed_on_end
 28 314 160 R 32 0 43281 42 6 80.00
-gagagagagagaga-a-ag-caga-agaagaa
-|||||||||||||| | || |||| | || ||
-gagagagagagagagagagtcagacaaaaaaa
+Sbjct  160    gagagagagagaga-a-ag-caga-agaagaa  187
+              |||||||||||||| | || |||| | || ||
+Query  63660  gagagagagagagagagagtcagacaaaaaaa  63691
+
 # polishing(m=400,d=-600,p=30): 32/32, seed_on_start, seed_on_end
 30 314 158 R 32 0 43281 47 5 83.87
-gagagagagagagagaaag-caga-agaagaa
-|||||||||||||||| || |||| | || ||
-gagagagagagagagagagtcagacaaaaaaa
+Sbjct  158    gagagagagagagagaaag-caga-agaagaa  187
+              |||||||||||||||| || |||| | || ||
+Query  63660  gagagagagagagagagagtcagacaaaaaaa  63691
+
 # polishing(m=400,d=-600,p=30): 32/32, seed_on_start, seed_on_end
 30 1403 192 R 31 0 43282 52 3 90.16
-gagagagagagagagagagaaaga-aaaaaa
-|||||||||||||||||||  ||| ||||||
-gagagagagagagagagagtcagacaaaaaa
+Sbjct  192    gagagagagagagagagagaaaga-aaaaaa  221
+              |||||||||||||||||||  ||| ||||||
+Query  63660  gagagagagagagagagagtcagacaaaaaa  63690
+
 # polishing(m=400,d=-600,p=30): 31/31, seed_on_start, seed_on_end
 32 1403 190 R 32 0 43281 52 4 87.50
-gagagagagagagagagagagaaagaaaaaaa
-|||||||||||||||||||  | | |||||||
-gagagagagagagagagagtcagacaaaaaaa
+Sbjct  190    gagagagagagagagagagagaaagaaaaaaa  221
+              |||||||||||||||||||  | | |||||||
+Query  63660  gagagagagagagagagagtcagacaaaaaaa  63691
+
 # polishing(m=400,d=-600,p=30): 32/32, seed_on_start, seed_on_end
 33 1403 188 R 32 0 43281 53 4 87.69
-gagagagagagagagagagagagaaagaaaaaa
-|||||||||||||||||||  ||| | ||||||
-gagagagagagagagagagtcagaca-aaaaaa
+Sbjct  188    gagagagagagagagagagagagaaagaaaaaa  220
+              |||||||||||||||||||  ||| | ||||||
+Query  63660  gagagagagagagagagagtcagaca-aaaaaa  63691
+
 # polishing(m=400,d=-600,p=30): 33/33, seed_on_start, seed_on_end
 32 1403 187 R 31 0 43281 51 4 87.30
-agagagagagagagagagagagagaaagaaaa
-||||||||||||||||||  ||| ||| ||||
-agagagagagagagagagtcagacaaa-aaaa
+Sbjct  187    agagagagagagagagagagagagaaagaaaa  218
+              ||||||||||||||||||  ||| ||| ||||
+Query  63661  agagagagagagagagagtcagacaaa-aaaa  63691
+
 # polishing(m=400,d=-600,p=30): 32/32, seed_on_start, seed_on_end
 30 314 158 R 30 0 43281 42 6 80.00
-gagagagagagagagaaagcaga-agaagaa
-||||||||||||||||   |||| | || ||
-gagagagagagagaga-gtcagacaaaaaaa
+Sbjct  158    gagagagagagagagaaagcaga-agaagaa  187
+              ||||||||||||||||   |||| | || ||
+Query  63662  gagagagagagagaga-gtcagacaaaaaaa  63691
+
 # polishing(m=400,d=-600,p=30): 31/31, seed_on_start, seed_on_end
 31 1403 187 R 29 0 43281 45 5 83.33
-agagagagagagagagagagagagaaagaaa
-||||||||||||||||  ||| | ||| |||
-agagagagagagagagtcagaca-aaa-aaa
+Sbjct  187    agagagagagagagagagagagagaaagaaa  217
+              ||||||||||||||||  ||| | ||| |||
+Query  63663  agagagagagagagagtcagaca-aaa-aaa  63691
+
 # polishing(m=400,d=-600,p=30): 31/31, seed_on_start, seed_on_end
 32 442 118 R 34 0 43184 48 6 81.82
-ctttcttcttctttgttttgg-ggt-tccagtct
-|||||||||||||| | ||||  || || |||||
-ctttcttcttctttttgttggaagtctcaagtct
+Sbjct  118    ctttcttcttctttgttttgg-ggt-tccagtct  149
+              |||||||||||||| | ||||  || || |||||
+Query  63755  ctttcttcttctttttgttggaagtctcaagtct  63788
+
 # polishing(m=400,d=-600,p=30): 34/34, seed_on_start, seed_on_end
 36 249 271 R 38 0 41333 53 7 81.08
-agttcatccagatattggt-atttca-ag-caaagctat
-|||||||||||||| |||| ||| || || ||| | |||
-agttcatccagatagtggtcatt-catagacaatggtat
+Sbjct  271    agttcatccagatattggt-atttca-ag-caaagctat  306
+              |||||||||||||| |||| ||| || || ||| | |||
+Query  65602  agttcatccagatagtggtcatt-catagacaatggtat  65639
+
 # polishing(m=400,d=-600,p=30): 39/39, seed_on_start, seed_on_end
 35 1275 281 R 34 0 40045 54 5 85.51
-tttttttgccattgacaattttt-ccttcttccttc
-|||||||| |||| |  |||||| ||||||||||||
-tttttttgtcatt-at-atttttgccttcttccttc
+Sbjct  281    tttttttgccattgacaattttt-ccttcttccttc  315
+              |||||||| |||| |  |||||| ||||||||||||
+Query  66894  tttttttgtcatt-at-atttttgccttcttccttc  66927
+
 # polishing(m=400,d=-600,p=30): 36/36, seed_on_start, seed_on_end
 28 1894 15 R 32 0 37196 42 6 80.00
-ataatc-caaaaaaaaaaaccat-a-t-tttt
-|| ||| |||||||||||| ||| | | ||||
-attatcacaaaaaaaaaaaacattaatctttt
+Sbjct  15     ataatc-caaaaaaaaaaaccat-a-t-tttt  42
+              || ||| |||||||||||| ||| | | ||||
+Query  69745  attatcacaaaaaaaaaaaacattaatctttt  69776
+
 # polishing(m=400,d=-600,p=30): 32/32, seed_on_start, seed_on_end
 33 1214 218 R 28 0 36466 43 6 80.33
-tatatatatatatatatatatatgtctcttcta
-||||||||||||||| ||| | ||  |||| ||
-tatatatatatatat-tat-t-tga-tctt-ta
+Sbjct  218    tatatatatatatatatatatatgtctcttcta  250
+              ||||||||||||||| ||| | ||  |||| ||
+Query  70479  tatatatatatatat-tat-t-tga-tctt-ta  70506
+
 # polishing(m=400,d=-600,p=30): 33/33, seed_on_start, seed_on_end
 29 1701 314 R 32 0 36462 43 6 80.33
-tatatatatatatatntatnt-at-ttt--ttt
-||||||||||||||| ||| | || |||  |||
-tatatatatatatat-tatttgatctttagttt
+Sbjct  314    tatatatatatatatntatnt-at-ttt--ttt  342
+              ||||||||||||||| ||| | || |||  |||
+Query  70479  tatatatatatatat-tatttgatctttagttt  70510
+
 # polishing(m=400,d=-600,p=30): 33/33, seed_on_start, seed_on_end
 31 1458 316 R 32 0 34905 48 5 84.13
-taaca-tatggttt-tttgttttgtttttcttc
-||||| |||  ||| |||||||||||||| |||
-taacagtattctttgtttgttttgttttt-ttc
+Sbjct  316    taaca-tatggttt-tttgttttgtttttcttc  346
+              ||||| |||  ||| |||||||||||||| |||
+Query  72036  taacagtattctttgtttgttttgttttt-ttc  72067
+
 # polishing(m=400,d=-600,p=30): 33/33, seed_on_start, seed_on_end
 32 1712 5 R 29 0 33440 43 6 80.33
-aggatgataacgtcgtccctaacctcatctct
-|||| | | || | || |||||||||||||||
-agga-g-tcac-tggttcctaacctcatctct
+Sbjct  5      aggatgataacgtcgtccctaacctcatctct  36
+              |||| | | || | || |||||||||||||||
+Query  73504  agga-g-tcac-tggttcctaacctcatctct  73532
+
 # polishing(m=400,d=-600,p=30): 32/32, seed_on_start, seed_on_end
 30 323 367 R 30 0 27210 42 6 80.00
-ttgttgaagaagtttatacata--aaa-agtta
-|| || ||| ||||||||||||  ||| |||||
-tt-tt-aag-agtttatacatatcaaacagtta
+Sbjct  367    ttgttgaagaagtttatacata--aaa-agtta  396
+              || || ||| ||||||||||||  ||| |||||
+Query  79733  tt-tt-aag-agtttatacatatcaaacagtta  79762
+
 # polishing(m=400,d=-600,p=30): 33/33, seed_on_start, seed_on_end
 31 573 274 R 29 0 26867 42 6 80.00
-ggttctttggtttggtttgtgtctctt-gatt
-|| | ||||||||||||| | || ||| ||||
-ggct-tttggtttggttt-t-tccctttgatt
+Sbjct  274    ggttctttggtttggtttgtgtctctt-gatt  304
+              || | ||||||||||||| | || ||| ||||
+Query  80077  ggct-tttggtttggttt-t-tccctttgatt  80105
+
 # polishing(m=400,d=-600,p=30): 32/32, seed_on_start, seed_on_end
 31 1106 281 R 29 0 22621 42 6 80.00
-cttcttcagattactttacctactctctatc
-|| |||| | || | || |||||||||||||
-ctccttc-g-ttgcgtttcctactctctatc
+Sbjct  281    cttcttcagattactttacctactctctatc  311
+              || |||| | || | || |||||||||||||
+Query  84323  ctccttc-g-ttgcgtttcctactctctatc  84351
+
 # polishing(m=400,d=-600,p=30): 31/31, seed_on_start, seed_on_end
 31 71 84 R 33 0 21526 46 6 81.25
-tttgc-tattccttcctcttctctc-gtaaagg
-||||  | |||||||||||| | || |||||||
-tttgtgttttccttcctcttttgtcagtaaagg
+Sbjct  84     tttgc-tattccttcctcttctctc-gtaaagg  114
+              ||||  | |||||||||||| | || |||||||
+Query  85414  tttgtgttttccttcctcttttgtcagtaaagg  85446
+
 # polishing(m=400,d=-600,p=30): 33/33, seed_on_start, seed_on_end
 31 323 267 R 29 0 21401 42 6 80.00
-tgtgcgtatcaa-attttggatgggaaatttg
-|||||||||||| || ||  |||  |||||||
-tgtgcgtatcaacatatt-aatg--aaatttg
+Sbjct  267    tgtgcgtatcaa-attttggatgggaaatttg  297
+              |||||||||||| || ||  |||  |||||||
+Query  85543  tgtgcgtatcaacatatt-aatg--aaatttg  85571
+
 # polishing(m=400,d=-600,p=30): 32/32, seed_on_start, seed_on_end
 28 944 307 R 32 0 21134 42 6 80.00
-gtat-t-ctcacatatatatat-tatga-taa
-|||| | | ||||||||||||| ||| | |||
-gtatatacacacatatatatatatatcaataa
+Sbjct  307    gtat-t-ctcacatatatatat-tatga-taa  334
+              |||| | | ||||||||||||| ||| | |||
+Query  85807  gtatatacacacatatatatatatatcaataa  85838
+
 # polishing(m=400,d=-600,p=30): 32/32, seed_on_start, seed_on_end
 32 1214 206 R 33 0 21135 47 6 81.54
-ta-tatatatatatatatatatatatatatata
-|| |||||| | | ||||||||||||||  |||
-tagtatatacacacatatatatatatatcaata
+Sbjct  206    ta-tatatatatatatatatatatatatatata  237
+              || |||||| | | ||||||||||||||  |||
+Query  85805  tagtatatacacacatatatatatatatcaata  85837
+
 # polishing(m=400,d=-600,p=30): 33/33, seed_on_start, seed_on_end
 32 1214 208 R 33 0 21135 47 6 81.54
-ta-tatatatatatatatatatatatatatata
-|| |||||| | | ||||||||||||||  |||
-tagtatatacacacatatatatatatatcaata
+Sbjct  208    ta-tatatatatatatatatatatatatatata  239
+              || |||||| | | ||||||||||||||  |||
+Query  85805  tagtatatacacacatatatatatatatcaata  85837
+
 # polishing(m=400,d=-600,p=30): 33/33, seed_on_start, seed_on_end
 30 1214 210 R 33 0 21135 45 6 80.95
-ta-tatatatatatatatatatatatat-a-ta
-|| |||||| | | |||||||||||||| | ||
-tagtatatacacacatatatatatatatcaata
+Sbjct  210    ta-tatatatatatatatatatatatat-a-ta  239
+              || |||||| | | |||||||||||||| | ||
+Query  85805  tagtatatacacacatatatatatatatcaata  85837
+
 # polishing(m=400,d=-600,p=30): 33/33, seed_on_start, seed_on_end
 33 859 211 R 31 0 20269 46 6 81.25
-tatatatatatatatatataaagcaaacatgtt
-|||| ||||||||||||| ||| || | || ||
-tata-atatatatatataaaaaacatatat-tt
+Sbjct  211    tatatatatatatatatataaagcaaacatgtt  243
+              |||| ||||||||||||| ||| || | || ||
+Query  86673  tata-atatatatatataaaaaacatatat-tt  86703
+
 # polishing(m=400,d=-600,p=30): 33/33, seed_on_start, seed_on_end
 32 1214 205 R 29 0 20267 43 6 80.33
-atatatatatatatatatatatatatatatat
-||||||||||||| | | | |||||| | |||
-atatatatatata-aaaaacatatat-t-tat
+Sbjct  205    atatatatatatatatatatatatatatatat  236
+              ||||||||||||| | | | |||||| | |||
+Query  86677  atatatatatata-aaaaacatatat-t-tat  86705
+
 # polishing(m=400,d=-600,p=30): 32/32, seed_on_start, seed_on_end
 37 1214 208 R 36 0 20264 52 7 80.82
-tatatatatatatatatatata-tatatatatatgtct
-|||| ||||||||||||| | |  |||||| |||| ||
-tata-atatatatatataaaaaacatatatttatg-ct
+Sbjct  208    tatatatatatatatatatata-tatatatatatgtct  244
+              |||| ||||||||||||| | |  |||||| |||| ||
+Query  86673  tata-atatatatatataaaaaacatatatttatg-ct  86708
+
 # polishing(m=400,d=-600,p=30): 38/38, seed_on_start, seed_on_end
 29 38 44 R 33 0 17928 44 6 80.65
-tact-tgtc-tctctctctctctctct-t-tca
-|| | |||| ||| ||||||||||||| | |||
-tagtctgtcgtctgtctctctctctctctctca
+Sbjct  44     tact-tgtc-tctctctctctctctct-t-tca  72
+              || | |||| ||| ||||||||||||| | |||
+Query  89012  tagtctgtcgtctgtctctctctctctctctca  89044
+
 # polishing(m=400,d=-600,p=30): 33/33, seed_on_start, seed_on_end
 31 1584 1 R 31 0 17929 44 6 80.65
-agctct-tcttctctatctctctctctccctc
-|| ||| || ||| | |||||||||||| |||
-ag-tctgtcgtctgtctctctctctctctctc
+Sbjct  1      agctct-tcttctctatctctctctctccctc  31
+              || ||| || ||| | |||||||||||| |||
+Query  89013  ag-tctgtcgtctgtctctctctctctctctc  89043
+
 # polishing(m=400,d=-600,p=30): 32/32, seed_on_start, seed_on_end
 33 1524 244 R 33 0 17258 48 6 81.82
-tatatatatatatagtctttata-taatgtctta
-|||||||||||||| | | |||| || | |||||
-tatatatatatata-tatatatactattctctta
+Sbjct  244    tatatatatatatagtctttata-taatgtctta  276
+              |||||||||||||| | | |||| || | |||||
+Query  89682  tatatatatatata-tatatatactattctctta  89714
+
 # polishing(m=400,d=-600,p=30): 34/34, seed_on_start, seed_on_end
 36 1524 238 R 37 0 17254 52 7 80.82
-tatatatatatatatatatagtct-ttatat-aatgtc
-||||||||||||||||||||  || || | | ||| ||
-tatatatatatatatatatatactattctcttaat-tc
+Sbjct  238    tatatatatatatatatatagtct-ttatat-aatgtc  273
+              ||||||||||||||||||||  || || | | ||| ||
+Query  89682  tatatatatatatatatatatactattctcttaat-tc  89718
+
 # polishing(m=400,d=-600,p=30): 38/38, seed_on_start, seed_on_end
 41 1214 192 R 36 0 17265 56 7 81.82
-aactgatcctcncatatatatatatatatatatatatatat
-||||  | ||| | ||||||||||||||||||||||  |||
-aactt-t-ctc-c-tatatatatatatatatatatac-tat
+Sbjct  192    aactgatcctcncatatatatatatatatatatatatatat  232
+              ||||  | ||| | ||||||||||||||||||||||  |||
+Query  89672  aactt-t-ctc-c-tatatatatatatatatatatac-tat  89707
+
 # polishing(m=400,d=-600,p=30): 41/41, seed_on_start, seed_on_end
 33 1214 212 R 31 0 17260 52 4 87.50
-tatatatatatatatatatatatatatatgtct
-||||||||||||||||||||||  ||| | |||
-tatatatatatatatatatatac-tat-tctct
+Sbjct  212    tatatatatatatatatatatatatatatgtct  244
+              ||||||||||||||||||||||  ||| | |||
+Query  89682  tatatatatatatatatatatac-tat-tctct  89712
+
 # polishing(m=400,d=-600,p=30): 33/33, seed_on_start, seed_on_end
 34 1214 214 R 32 0 17259 57 3 90.91
-tatatatatatatatatatatatatatgtctctt
-||||||||||||||||||||||  ||| ||||||
-tatatatatatatatatatatac-tat-tctctt
+Sbjct  214    tatatatatatatatatatatatatatgtctctt  247
+              ||||||||||||||||||||||  ||| ||||||
+Query  89682  tatatatatatatatatatatac-tat-tctctt  89713
+
 # polishing(m=400,d=-600,p=30): 34/34, seed_on_start, seed_on_end
 32 1214 216 R 32 0 17259 58 2 93.75
-tatatatatatatatatatata-tatgtctctt
-|||||||||||||||||||||| ||| ||||||
-tatatatatatatatatatatactat-tctctt
+Sbjct  216    tatatatatatatatatatata-tatgtctctt  247
+              |||||||||||||||||||||| ||| ||||||
+Query  89682  tatatatatatatatatatatactat-tctctt  89713
+
 # polishing(m=400,d=-600,p=30): 33/33, seed_on_start, seed_on_end
 35 1214 218 R 33 0 17258 53 5 85.29
-tatatatatatatatatatata-tgtctcttctata
-|||||||||||||||||||||| | | ||| || ||
-tatatatatatatatatatatactat-tct-ct-ta
+Sbjct  218    tatatatatatatatatatata-tgtctcttctata  252
+              |||||||||||||||||||||| | | ||| || ||
+Query  89682  tatatatatatatatatatatactat-tct-ct-ta  89714
+
 # polishing(m=400,d=-600,p=30): 36/36, seed_on_start, seed_on_end
 35 1701 308 R 37 0 17259 51 7 80.56
-tctt-tatatatatatatatatntat-ntattttttt
-|||  ||||||||||||||||| |||  |||| | ||
-tctcctatatatatatatatatatatactattctctt
+Sbjct  308    tctt-tatatatatatatatatntat-ntattttttt  342
+              |||  ||||||||||||||||| |||  |||| | ||
+Query  89677  tctcctatatatatatatatatatatactattctctt  89713
+
 # polishing(m=400,d=-600,p=30): 37/37, seed_on_start, seed_on_end
 37 1524 237 R 36 0 17254 55 6 83.56
-atatatatatatatatatatagtctt-tatataatgtc
-||||||||||||||||||||| | || | | |||| ||
-atatatatatatatatatatactattctct-taat-tc
+Sbjct  237    atatatatatatatatatatagtctt-tatataatgtc  273
+              ||||||||||||||||||||| | || | | |||| ||
+Query  89683  atatatatatatatatatatactattctct-taat-tc  89718
+
 # polishing(m=400,d=-600,p=30): 38/38, seed_on_start, seed_on_end
 34 1701 309 R 33 0 17259 49 6 82.09
-ctttatatatatatatatatntatntattttttt
-|| ||||||||||||||||| ||  |||| | ||
-ctatatatatatatatatatata-ctattctctt
+Sbjct  309    ctttatatatatatatatatntatntattttttt  342
+              || ||||||||||||||||| ||  |||| | ||
+Query  89681  ctatatatatatatatatatata-ctattctctt  89713
+
 # polishing(m=400,d=-600,p=30): 34/34, seed_on_start, seed_on_end
 30 1257 299 R 32 0 13647 44 6 80.65
-atata-ga-aatg-aggagaggaaaaaaaagaa
-||||| || || | || ||||||||||||| ||
-atatacgacaacgaagaagaggaaaaaaaa-aa
+Sbjct  299    atata-ga-aatg-aggagaggaaaaaaaagaa  328
+              ||||| || || | || ||||||||||||| ||
+Query  93294  atatacgacaacgaagaagaggaaaaaaaa-aa  93325
+
 # polishing(m=400,d=-600,p=30): 33/33, seed_on_start, seed_on_end
 36 124 120 R 32 0 8890 50 6 82.35
-ttactatcttcttctccttcttcttcctcctcaatg
-|| |||| ||||||||||||| |||| |||| | ||
-tt-ctat-ttcttctccttctccttc-tcctta-tg
+Sbjct  120    ttactatcttcttctccttcttcttcctcctcaatg  155
+              || |||| ||||||||||||| |||| |||| | ||
+Query  98051  tt-ctat-ttcttctccttctccttc-tcctta-tg  98082
+
 # polishing(m=400,d=-600,p=30): 36/36, seed_on_start, seed_on_end
 36 817 239 R 34 0 6628 49 7 80.00
-gatgaagaagaagaagaagcacattgagactggaga
-|| |||||||||||||||| | ||  |||  |||||
-gaagaagaagaagaagaagaatat-aaga-gggaga
+Sbjct  239     gatgaagaagaagaagaagcacattgagactggaga  274
+               || |||||||||||||||| | ||  |||  |||||
+Query  100311  gaagaagaagaagaagaagaatat-aaga-gggaga  100344
+
 # polishing(m=400,d=-600,p=30): 36/36, seed_on_start, seed_on_end
 35 1080 25 R 35 0 6597 49 7 80.00
-gagagagagagag-ggaagaggaaggaggaagatga
-||||||||||||| |||| | |||| |  |||| ||
-gagagagagagagaggaaaaagaag-ataaagacga
+Sbjct  25      gagagagagagag-ggaagaggaaggaggaagatga  59
+               ||||||||||||| |||| | |||| |  |||| ||
+Query  100341  gagagagagagagaggaaaaagaag-ataaagacga  100375
+
 # polishing(m=400,d=-600,p=30): 36/36, seed_on_start, seed_on_end
 31 314 158 R 29 0 6601 45 5 83.33
-gagagagagagagagaaagcagaagaagaag
-||||||||||||| ||||  ||||||  |||
-gagagagagagag-gaaa-aagaagataaag
+Sbjct  158     gagagagagagagagaaagcagaagaagaag  188
+               ||||||||||||| ||||  ||||||  |||
+Query  100343  gagagagagagag-gaaa-aagaagataaag  100371
+
 # polishing(m=400,d=-600,p=30): 31/31, seed_on_start, seed_on_end
 30 103 74 R 32 0 5954 44 6 80.65
-cttcttcttcttcttct-cttc-taatcct-ag
-||||||||||||||||| || | | ||| | ||
-cttcttcttcttcttcttct-catgatcatcag
+Sbjct  74      cttcttcttcttcttct-cttc-taatcct-ag  103
+               ||||||||||||||||| || | | ||| | ||
+Query  100987  cttcttcttcttcttcttct-catgatcatcag  101018
+
 # polishing(m=400,d=-600,p=30): 33/33, seed_on_start, seed_on_end
 31 31 4 R 33 0 5963 52 4 87.50
-gtct-cttt-cttcttcttcttcttcttctcat
-|||| ||   |||||||||||||||||||||||
-gtctactcaacttcttcttcttcttcttctcat
+Sbjct  4       gtct-cttt-cttcttcttcttcttcttctcat  34
+               |||| ||   |||||||||||||||||||||||
+Query  100977  gtctactcaacttcttcttcttcttcttctcat  101009
+
 # polishing(m=400,d=-600,p=30): 33/33, seed_on_start, seed_on_end
 32 632 159 R 33 0 5968 47 6 81.54
-tccaggtgt-ctcttcttcttcttcttcttctt
-|||  || | |||  ||||||||||||||||||
-tccgagtctactcaacttcttcttcttcttctt
+Sbjct  159     tccaggtgt-ctcttcttcttcttcttcttctt  190
+               |||  || | |||  ||||||||||||||||||
+Query  100972  tccgagtctactcaacttcttcttcttcttctt  101004
+
 # polishing(m=400,d=-600,p=30): 33/33, seed_on_start, seed_on_end
 33 524 303 R 32 0 5074 56 3 90.77
-ggaagtagaagaagaagaagacgaagaagatga
-||||| ||||||||||||||| |||||||| ||
-ggaag-agaagaagaagaagaagaagaagaaga
+Sbjct  303     ggaagtagaagaagaagaagacgaagaagatga  335
+               ||||| ||||||||||||||| |||||||| ||
+Query  101867  ggaag-agaagaagaagaagaagaagaagaaga  101898
+
 # polishing(m=400,d=-600,p=30): 33/33, seed_on_start, seed_on_end
 31 856 0 R 31 0 5074 50 4 87.10
-gaagaagaagaagaagaaggagaa-aagatga
-|||| |||||||||||||| |||| |||| ||
-gaag-agaagaagaagaagaagaagaagaaga
+Sbjct  0       gaagaagaagaagaagaaggagaa-aagatga  30
+               |||| |||||||||||||| |||| |||| ||
+Query  101868  gaag-agaagaagaagaagaagaagaagaaga  101898
+
 # polishing(m=400,d=-600,p=30): 32/32, seed_on_start, seed_on_end
 31 856 0 R 32 0 5068 54 3 90.48
-gaagaagaagaagaagaaggagaa-aagatga
-||||||||||||||||||| |||| |||| ||
-gaagaagaagaagaagaagaagaagaagaaga
+Sbjct  0       gaagaagaagaagaagaaggagaa-aagatga  30
+               ||||||||||||||||||| |||| |||| ||
+Query  101873  gaagaagaagaagaagaagaagaagaagaaga  101904
+
 # polishing(m=400,d=-600,p=30): 32/32, seed_on_start, seed_on_end
 31 953 116 R 29 0 5076 42 6 80.00
-gataaagaagagaagaagaagaa-aaggagaa
-|| | || | ||||||||||||| ||| ||||
-ga-agag-a-agaagaagaagaagaagaagaa
+Sbjct  116     gataaagaagagaagaagaagaa-aaggagaa  146
+               || | || | ||||||||||||| ||| ||||
+Query  101868  ga-agag-a-agaagaagaagaagaagaagaa  101896
+
 # polishing(m=400,d=-600,p=30): 32/32, seed_on_start, seed_on_end
 31 856 0 R 32 0 5065 54 3 90.48
-gaagaagaagaagaagaaggagaa-aagatga
-||||||||||||||||||| |||| |||| ||
-gaagaagaagaagaagaagaagaagaagaaga
+Sbjct  0       gaagaagaagaagaagaaggagaa-aagatga  30
+               ||||||||||||||||||| |||| |||| ||
+Query  101876  gaagaagaagaagaagaagaagaagaagaaga  101907
+
 # polishing(m=400,d=-600,p=30): 32/32, seed_on_start, seed_on_end
 34 1700 142 R 34 0 5068 50 6 82.35
-gagaa-aagaagaagaaggtaggagaagatcaaga
-||||| ||||||||||||  || ||||||  ||||
-gagaagaagaagaagaag-aagaagaagaagaaga
+Sbjct  142     gagaa-aagaagaagaaggtaggagaagatcaaga  175
+               ||||| ||||||||||||  || ||||||  ||||
+Query  101871  gagaagaagaagaagaag-aagaagaagaagaaga  101904
+
 # polishing(m=400,d=-600,p=30): 35/35, seed_on_start, seed_on_end
 31 953 116 R 32 0 5073 48 5 84.13
-gataaagaag-agaagaagaagaa-aaggagaa
-|| | ||||| ||||||||||||| ||| ||||
-ga-agagaagaagaagaagaagaagaagaagaa
+Sbjct  116     gataaagaag-agaagaagaagaa-aaggagaa  146
+               || | ||||| ||||||||||||| ||| ||||
+Query  101868  ga-agagaagaagaagaagaagaagaagaagaa  101899
+
 # polishing(m=400,d=-600,p=30): 33/33, seed_on_start, seed_on_end
 34 20 9 R 32 0 5073 51 5 84.85
-gaaggaaaagatgagaagaagaagaagaagaa-aa
-||| || ||||  ||||||||||||||||||| ||
-gaa-gagaaga--agaagaagaagaagaagaagaa
+Sbjct  9       gaaggaaaagatgagaagaagaagaagaagaa-aa  42
+               ||| || ||||  ||||||||||||||||||| ||
+Query  101868  gaa-gagaaga--agaagaagaagaagaagaagaa  101899
+
 # polishing(m=400,d=-600,p=30): 35/35, seed_on_start, seed_on_end
 35 524 301 R 34 0 5068 57 4 88.41
-gaggaagtagaagaagaagaagacgaagaagatga
-|| |||| ||||||||||||||| |||||||| ||
-ga-gaagaagaagaagaagaagaagaagaagaaga
+Sbjct  301     gaggaagtagaagaagaagaagacgaagaagatga  335
+               || |||| ||||||||||||||| |||||||| ||
+Query  101871  ga-gaagaagaagaagaagaagaagaagaagaaga  101904
+
 # polishing(m=400,d=-600,p=30): 35/35, seed_on_start, seed_on_end
 34 1903 3 R 31 0 5074 53 4 87.69
-gaagagaacgaaggaagaagaagaagaggaacga
-|||||||| ||| |||||||||||||| ||| ||
-gaagagaa-gaa-gaagaagaagaagaagaa-ga
+Sbjct  3       gaagagaacgaaggaagaagaagaagaggaacga  36
+               |||||||| ||| |||||||||||||| ||| ||
+Query  101868  gaagagaa-gaa-gaagaagaagaagaagaa-ga  101898
+
 # polishing(m=400,d=-600,p=30): 34/34, seed_on_start, seed_on_end
 32 953 115 R 33 0 5070 50 5 84.62
-agataaagaag-agaagaagaagaa-aaggagaa
-|||  |||||| ||||||||||||| ||| ||||
-agag-aagaagaagaagaagaagaagaagaagaa
+Sbjct  115     agataaagaag-agaagaagaagaa-aaggagaa  146
+               |||  |||||| ||||||||||||| ||| ||||
+Query  101870  agag-aagaagaagaagaagaagaagaagaagaa  101902
+
 # polishing(m=400,d=-600,p=30): 34/34, seed_on_start, seed_on_end
 34 20 9 R 35 0 5070 54 5 85.51
-gaaggaaaagatg-agaagaagaagaagaagaa-aa
-||| || |||| | ||||||||||||||||||| ||
-gaa-gagaagaagaagaagaagaagaagaagaagaa
+Sbjct  9       gaaggaaaagatg-agaagaagaagaagaagaa-aa  42
+               ||| || |||| | ||||||||||||||||||| ||
+Query  101868  gaa-gagaagaagaagaagaagaagaagaagaagaa  101902
+
 # polishing(m=400,d=-600,p=30): 36/36, seed_on_start, seed_on_end
 30 539 304 R 31 0 5078 43 6 80.33
-act--aagagg-gaagattagaagaagaagaag
-|||  |||||  |||||  ||||||||||||||
-actggaagagaagaaga--agaagaagaagaag
+Sbjct  304     act--aagagg-gaagattagaagaagaagaag  333
+               |||  |||||  |||||  ||||||||||||||
+Query  101864  actggaagagaagaaga--agaagaagaagaag  101894
+
 # polishing(m=400,d=-600,p=30): 33/33, seed_on_start, seed_on_end
 35 1903 2 R 32 0 5071 49 6 82.09
-agaag-agaacgaaggaagaagaagaagaggaacga
-|| || |||| ||| |||||||||||||| ||| ||
-ag-agaagaa-gaa-gaagaagaagaagaagaa-ga
+Sbjct  2       agaag-agaacgaaggaagaagaagaagaggaacga  36
+               || || |||| ||| |||||||||||||| ||| ||
+Query  101870  ag-agaagaa-gaa-gaagaagaagaagaagaa-ga  101901
+
 # polishing(m=400,d=-600,p=30): 36/36, seed_on_start, seed_on_end
 37 1700 133 R 37 0 5068 53 7 81.08
-gaagatatggagaa-aagaagaagaaggtaggagaaga
-||||| | | |||| ||||||||||||  || ||||||
-gaagagaagaagaagaagaagaagaag-aagaagaaga
+Sbjct  133     gaagatatggagaa-aagaagaagaaggtaggagaaga  169
+               ||||| | | |||| ||||||||||||  || ||||||
+Query  101868  gaagagaagaagaagaagaagaagaag-aagaagaaga  101904
+
 # polishing(m=400,d=-600,p=30): 38/38, seed_on_start, seed_on_end
 37 953 112 R 39 0 5064 55 7 81.58
-agcagataaagaag-agaagaagaagaa-aaggagaa-ac
-|| |||  |||||| ||||||||||||| ||| |||| ||
-ag-agaagaagaagaagaagaagaagaagaagaagaagac
+Sbjct  112     agcagataaagaag-agaagaagaagaa-aaggagaa-ac  148
+               || |||  |||||| ||||||||||||| ||| |||| ||
+Query  101870  ag-agaagaagaagaagaagaagaagaagaagaagaagac  101908
+
 # polishing(m=400,d=-600,p=30): 40/40, seed_on_start, seed_on_end
 36 20 7 R 37 0 5067 55 6 83.56
-aagaaggaa-aagatg-agaagaagaagaagaagaa-aa
-||| | ||| |||| | ||||||||||||||||||| ||
-aag-a-gaagaagaagaagaagaagaagaagaagaagaa
+Sbjct  7       aagaaggaa-aagatg-agaagaagaagaagaagaa-aa  42
+               ||| | ||| |||| | ||||||||||||||||||| ||
+Query  101869  aag-a-gaagaagaagaagaagaagaagaagaagaagaa  101905
+
 # polishing(m=400,d=-600,p=30): 39/39, seed_on_start, seed_on_end
 42 524 291 R 41 0 5065 65 6 85.54
-ggaagaagttgaggaagtagaagaagaagaagacgaagaaga
-||||| ||  || |||| ||||||||||||||| ||||||||
-ggaag-agaagaagaagaagaagaagaagaagaagaagaaga
+Sbjct  291     ggaagaagttgaggaagtagaagaagaagaagacgaagaaga  332
+               ||||| ||  || |||| ||||||||||||||| ||||||||
+Query  101867  ggaag-agaagaagaagaagaagaagaagaagaagaagaaga  101907
+
 # polishing(m=400,d=-600,p=30): 42/42, seed_on_start, seed_on_end
 35 1903 2 R 33 0 5068 53 5 85.29
-agaag-agaacgaaggaagaagaagaagaggaacga
-||||| |||| ||| |||||||||||||| ||| ||
-agaagaagaa-gaa-gaagaagaagaagaagaa-ga
+Sbjct  2       agaag-agaacgaaggaagaagaagaagaggaacga  36
+               ||||| |||| ||| |||||||||||||| ||| ||
+Query  101872  agaagaagaa-gaa-gaagaagaagaagaagaa-ga  101904
+
 # polishing(m=400,d=-600,p=30): 36/36, seed_on_start, seed_on_end
 37 20 7 R 42 0 5062 58 7 82.28
-aaga-aggaa-aagatg-agaagaagaagaagaagaa-a-ac
-|||| | ||| |||| | ||||||||||||||||||| | ||
-aagagaagaagaagaagaagaagaagaagaagaagaagacac
+Sbjct  7       aaga-aggaa-aagatg-agaagaagaagaagaagaa-a-ac  43
+               |||| | ||| |||| | ||||||||||||||||||| | ||
+Query  101869  aagagaagaagaagaagaagaagaagaagaagaagaagacac  101910
+
 # polishing(m=400,d=-600,p=30): 42/42, seed_on_start, seed_on_end
 41 524 289 R 40 0 5065 60 7 82.72
-gaggaagaagttgaggaagtagaagaagaagaagacgaaga
-|| | |||||  || |||| ||||||||||||||| |||||
-gaag-agaagaagaagaagaagaagaagaagaagaagaaga
+Sbjct  289     gaggaagaagttgaggaagtagaagaagaagaagacgaaga  329
+               || | |||||  || |||| ||||||||||||||| |||||
+Query  101868  gaag-agaagaagaagaagaagaagaagaagaagaagaaga  101907
+
 # polishing(m=400,d=-600,p=30): 41/41, seed_on_start, seed_on_end
 35 1903 2 R 33 0 5065 53 5 85.29
-agaag-agaacgaaggaagaagaagaagaggaacga
-||||| |||| ||| |||||||||||||| ||| ||
-agaagaagaa-gaa-gaagaagaagaagaagaa-ga
+Sbjct  2       agaag-agaacgaaggaagaagaagaagaggaacga  36
+               ||||| |||| ||| |||||||||||||| ||| ||
+Query  101875  agaagaagaa-gaa-gaagaagaagaagaagaa-ga  101907
+
 # polishing(m=400,d=-600,p=30): 36/36, seed_on_start, seed_on_end
 38 20 7 R 39 0 5060 59 6 84.42
-aagaaggaa-aagatg-agaagaagaagaagaagaaaact
-||||| ||| |||| | |||||||||||||||||| | ||
-aagaa-gaagaagaagaagaagaagaagaagaagacacct
+Sbjct  7       aagaaggaa-aagatg-agaagaagaagaagaagaaaact  44
+               ||||| ||| |||| | |||||||||||||||||| | ||
+Query  101874  aagaa-gaagaagaagaagaagaagaagaagaagacacct  101912
+
 # polishing(m=400,d=-600,p=30): 40/40, seed_on_start, seed_on_end
 39 524 288 R 38 0 5065 59 6 84.42
-agaggaagaagttgaggaagtagaagaagaagaagacga
-||| |||||||  || |||| ||||||||||||||| ||
-aga-gaagaagaagaagaagaagaagaagaagaagaaga
+Sbjct  288     agaggaagaagttgaggaagtagaagaagaagaagacga  326
+               ||| |||||||  || |||| ||||||||||||||| ||
+Query  101870  aga-gaagaagaagaagaagaagaagaagaagaagaaga  101907
+
 # polishing(m=400,d=-600,p=30): 39/39, seed_on_start, seed_on_end
 34 817 230 R 37 0 5059 56 5 85.92
-aag-a-aagaagatgaagaagaagaagaag-cacatt
-||| | ||||||| |||||||||||||||| ||| ||
-aagaagaagaagaagaagaagaagaagaagacacctt
+Sbjct  230     aag-a-aagaagatgaagaagaagaagaag-cacatt  263
+               ||| | ||||||| |||||||||||||||| ||| ||
+Query  101877  aagaagaagaagaagaagaagaagaagaagacacctt  101913
+
 # polishing(m=400,d=-600,p=30): 37/37, seed_on_start, seed_on_end
 33 1903 2 R 33 0 5062 51 5 84.85
-agaag-agaacgaaggaagaagaagaagagga-ac
-||||| |||| ||| |||||||||||||| || ||
-agaagaagaa-gaa-gaagaagaagaagaagacac
+Sbjct  2       agaag-agaacgaaggaagaagaagaagagga-ac  34
+               ||||| |||| ||| |||||||||||||| || ||
+Query  101878  agaagaagaa-gaa-gaagaagaagaagaagacac  101910
+
 # polishing(m=400,d=-600,p=30): 35/35, seed_on_start, seed_on_end
 30 20 7 R 31 0 5065 49 4 86.89
-aagaaggaa-aagatg-agaagaagaagaaga
-||||| ||| |||| | |||||||||||||||
-aagaa-gaagaagaagaagaagaagaagaaga
+Sbjct  7       aagaaggaa-aagatg-agaagaagaagaaga  36
+               ||||| ||| |||| | |||||||||||||||
+Query  101877  aagaa-gaagaagaagaagaagaagaagaaga  101907
+
 # polishing(m=400,d=-600,p=30): 32/32, seed_on_start, seed_on_end
 42 524 283 R 41 0 5064 62 7 83.13
-gatgcagaggaagaagttgaggaagtagaagaagaagaagac
-|| | ||| |||||||  || |||| ||||||||||||||||
-gaag-agaagaagaagaagaagaagaagaagaagaagaagac
+Sbjct  283     gatgcagaggaagaagttgaggaagtagaagaagaagaagac  324
+               || | ||| |||||||  || |||| ||||||||||||||||
+Query  101868  gaag-agaagaagaagaagaagaagaagaagaagaagaagac  101908
+
 # polishing(m=400,d=-600,p=30): 42/42, seed_on_start, seed_on_end
 34 817 230 R 34 0 5059 50 6 82.35
-aag-a-aagaagatgaagaagaagaagaagcacatt
-||| | ||||||| ||||||||||||||  ||| ||
-aagaagaagaagaagaagaagaagaaga--cacctt
+Sbjct  230     aag-a-aagaagatgaagaagaagaagaagcacatt  263
+               ||| | ||||||| ||||||||||||||  ||| ||
+Query  101880  aagaagaagaagaagaagaagaagaaga--cacctt  101913
+
 # polishing(m=400,d=-600,p=30): 36/36, seed_on_start, seed_on_end
 35 953 103 R 35 0 5065 49 7 80.00
-gaagaactcagcagataaagaag-agaagaagaaga
-||||||   || |||  |||||| ||||||||||||
-gaagaaga-agaagaagaagaagaagaagaagaaga
+Sbjct  103     gaagaactcagcagataaagaag-agaagaagaaga  137
+               ||||||   || |||  |||||| ||||||||||||
+Query  101873  gaagaaga-agaagaagaagaagaagaagaagaaga  101907
+
 # polishing(m=400,d=-600,p=30): 36/36, seed_on_start, seed_on_end
 42 524 279 R 41 0 5065 62 7 83.13
-ggaagatgcagaggaagaagttgaggaagtagaagaagaaga
-|||||| | ||| |||||||  || |||| ||||||||||||
-ggaaga-gaagaagaagaagaagaagaagaagaagaagaaga
+Sbjct  279     ggaagatgcagaggaagaagttgaggaagtagaagaagaaga  320
+               |||||| | ||| |||||||  || |||| ||||||||||||
+Query  101867  ggaaga-gaagaagaagaagaagaagaagaagaagaagaaga  101907
+
 # polishing(m=400,d=-600,p=30): 42/42, seed_on_end
 31 139 87 R 32 0 2624 45 6 80.95
-gttaa--ttttcttattcggaaaaaaaaaatga
-|||||  ||||  || ||||||||||||| |||
-gttaacgttttaataatcggaaaaaaaaa-tga
+Sbjct  87      gttaa--ttttcttattcggaaaaaaaaaatga  117
+               |||||  ||||  || ||||||||||||| |||
+Query  104317  gttaacgttttaataatcggaaaaaaaaa-tga  104348
+
 # polishing(m=400,d=-600,p=30): 33/33, seed_on_start, seed_on_end
 31 139 87 R 32 0 2624 45 6 80.95
-gttaa--ttttcttattcggaaaaaaaaaatga
-|||||  ||||  || |||| ||||||||||||
-gttaacgttttaataatcgg-aaaaaaaaatga
+Sbjct  87      gttaa--ttttcttattcggaaaaaaaaaatga  117
+               |||||  ||||  || |||| ||||||||||||
+Query  104317  gttaacgttttaataatcgg-aaaaaaaaatga  104348
+
 # polishing(m=400,d=-600,p=30): 33/33, seed_on_start, seed_on_end
diff --git a/testdata/repfind-result/at1MB-U8-xdrop-20-20-80-6-a b/testdata/repfind-result/at1MB-U8-xdrop-20-20-80-6-a
index 4ee1e9f..5e77344 100644
--- a/testdata/repfind-result/at1MB-U8-xdrop-20-20-80-6-a
+++ b/testdata/repfind-result/at1MB-U8-xdrop-20-20-80-6-a
@@ -1,207 +1,260 @@
+# Options: -minidentity 80 -l 20 -extendxdrop -ii at1MB -q /local/kurtz/genometools/testsuite/../testdata/U89959_genomic.fas -outfmt alignment=70 polinfo -verify-alignment -history 60
+# Fields: s. len, s. seqnum, s. start, strand, q. len, q. seqnum, q. start, score, editdist, % identity
 23 859 207 F 23 0 17268 46 0 100.00
-catatatatatatatatatatat
-|||||||||||||||||||||||
-catatatatatatatatatatat
+Sbjct  207    catatatatatatatatatatat  229
+              |||||||||||||||||||||||
+Query  17268  catatatatatatatatatatat  17290
+
 23 859 208 F 24 0 17266 44 1 95.74
-at-atatatatatatatatatata
-|| |||||||||||||||||||||
-atcatatatatatatatatatata
+Sbjct  208    at-atatatatatatatatatata  230
+              || |||||||||||||||||||||
+Query  17266  atcatatatatatatatatatata  17289
+
 # polishing(m=400,d=-600,p=30): 24/24, seed_on_end
 20 859 208 F 20 0 17271 40 0 100.00
-atatatatatatatatatat
-||||||||||||||||||||
-atatatatatatatatatat
+Sbjct  208    atatatatatatatatatat  227
+              ||||||||||||||||||||
+Query  17271  atatatatatatatatatat  17290
+
 29 561 415 F 29 0 71281 55 1 96.55
-tcatcatcatcatcatcatcatcatacat
-|||||||||||||||||||||||||| ||
-tcatcatcatcatcatcatcatcatatat
+Sbjct  415    tcatcatcatcatcatcatcatcatacat  443
+              |||||||||||||||||||||||||| ||
+Query  71281  tcatcatcatcatcatcatcatcatatat  71309
+
 # polishing(m=400,d=-600,p=30): 29/29
 333 1265 0 F 330 0 72423 612 17 94.87
-ccttagangg-tgggaaattgcatgagtttggcacatcccttnttctnncggatttnggatcnnagtatg
-||||||| || ||||||| ||||||||| ||||||||||||| ||||  ||||||| ||| |  ||||||
-ccttagaaggatgggaaa-tgcatgagtgtggcacatcccttcttctctcggattt-gga-ccaagtatg
-ggaagccctgtctcagcctnngcttccagcntctcctccttccacatcnttaaaactccaaccttggaag
-||||| ||||||||||||   ||||||||| ||||||||||||||||| |||||||||||||||||||||
-ggaag-cctgtctcagccacggcttccagcctctcctccttccacatcattaaaactccaaccttggaag
-attttaggagaatgagagcgacacgctctgtgcttcttttccttatgatccagctcttccacgcacaaat
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-attttaggagaatgagagcgacacgctctgtgcttcttttccttatgatccagctcttccacgcacaaat
-gaactatgaaacatatataaagcgcacacatatatttatgcatatcaagcttttggtgattatggtattg
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-gaactatgaaacatatataaagcgcacacatatatttatgcatatcaagcttttggtgattatggtattg
-atagagtcaaattaagctcggtgactatggtattaataagagtactatttcctt
-||||||||||||||||||||||||||||||||||||||||||||||||||||||
-atagagtcaaattaagctcggtgactatggtattaataagagtactatttcctt
+Sbjct  0      ccttagangg-tgggaaattgcatgagtttggcacatcccttnttctnncggatttnggatcnnagtatg  68
+              ||||||| || ||||||| ||||||||| ||||||||||||| ||||  ||||||| ||| |  ||||||
+Query  72423  ccttagaaggatgggaaa-tgcatgagtgtggcacatcccttcttctctcggattt-gga-ccaagtatg  72489
+
+Sbjct  69     ggaagccctgtctcagcctnngcttccagcntctcctccttccacatcnttaaaactccaaccttggaag  138
+              ||||| ||||||||||||   ||||||||| ||||||||||||||||| |||||||||||||||||||||
+Query  72490  ggaag-cctgtctcagccacggcttccagcctctcctccttccacatcattaaaactccaaccttggaag  72558
+
+Sbjct  139    attttaggagaatgagagcgacacgctctgtgcttcttttccttatgatccagctcttccacgcacaaat  208
+              ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  72559  attttaggagaatgagagcgacacgctctgtgcttcttttccttatgatccagctcttccacgcacaaat  72628
+
+Sbjct  209    gaactatgaaacatatataaagcgcacacatatatttatgcatatcaagcttttggtgattatggtattg  278
+              ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  72629  gaactatgaaacatatataaagcgcacacatatatttatgcatatcaagcttttggtgattatggtattg  72698
+
+Sbjct  279    atagagtcaaattaagctcggtgactatggtattaataagagtactatttcctt  332
+              ||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  72699  atagagtcaaattaagctcggtgactatggtattaataagagtactatttcctt  72752
+
 # polishing(m=400,d=-600,p=30): 64/64, seed_on_end
 78 859 0 F 81 0 72588 129 10 87.42
-gtgcttnttttccttatgatccagctcttccacgcncncatgaactatgaaacatatataangcgcncnc
-|||||| |||||||||||||||||||||||||||| |  |||||||||||||||||||||| |||| | |
-gtgcttcttttccttatgatccagctcttccacgcacaaatgaactatgaaacatatataaagcgcacac
-at-t-tt-atg
-|| | || |||
-atatatttatg
+Sbjct  0      gtgcttnttttccttatgatccagctcttccacgcncncatgaactatgaaacatatataangcgcncnc  69
+              |||||| |||||||||||||||||||||||||||| |  |||||||||||||||||||||| |||| | |
+Query  72588  gtgcttcttttccttatgatccagctcttccacgcacaaatgaactatgaaacatatataaagcgcacac  72657
+
+Sbjct  70     at-t-tt-atg  77
+              || | || |||
+Query  72658  atatatttatg  72668
+
 # polishing(m=400,d=-600,p=30): 64/64, seed_on_start
 78 859 0 F 81 0 72588 129 10 87.42
-gtgcttnttttccttatgatccagctcttccacgcncncatgaactatgaaacatatataangcgcncnc
-|||||| |||||||||||||||||||||||||||| |  |||||||||||||||||||||| |||| | |
-gtgcttcttttccttatgatccagctcttccacgcacaaatgaactatgaaacatatataaagcgcacac
-at-t-tt-atg
-|| | || |||
-atatatttatg
+Sbjct  0      gtgcttnttttccttatgatccagctcttccacgcncncatgaactatgaaacatatataangcgcncnc  69
+              |||||| |||||||||||||||||||||||||||| |  |||||||||||||||||||||| |||| | |
+Query  72588  gtgcttcttttccttatgatccagctcttccacgcacaaatgaactatgaaacatatataaagcgcacac  72657
+
+Sbjct  70     at-t-tt-atg  77
+              || | || |||
+Query  72658  atatatttatg  72668
+
 # polishing(m=400,d=-600,p=30): 64/64, seed_on_end
 135 859 84 F 135 0 72651 258 4 97.04
-cgcncacatatatttatgcatatcaagcttttggtgattatggtattgatagagtcaaattaagctcggt
-||| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-cgcacacatatatttatgcatatcaagcttttggtgattatggtattgatagagtcaaattaagctcggt
-gactatggtattaataagagtactatttccttatctctttgtgaactaaganncatatatatata
-|||||||||||||||||||||||||||||||| ||||||||||||||||||  ||||||||||||
-gactatggtattaataagagtactatttccttttctctttgtgaactaagaaacatatatatata
+Sbjct  84     cgcncacatatatttatgcatatcaagcttttggtgattatggtattgatagagtcaaattaagctcggt  153
+              ||| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  72651  cgcacacatatatttatgcatatcaagcttttggtgattatggtattgatagagtcaaattaagctcggt  72720
+
+Sbjct  154    gactatggtattaataagagtactatttccttatctctttgtgaactaaganncatatatatata  218
+              |||||||||||||||||||||||||||||||| ||||||||||||||||||  ||||||||||||
+Query  72721  gactatggtattaataagagtactatttccttttctctttgtgaactaagaaacatatatatata  72785
+
 # polishing(m=400,d=-600,p=30): 64/64, seed_on_start, seed_on_end
 167 859 84 F 155 0 72651 271 17 89.44
-cgcncacatatatttatgcatatcaagcttttggtgattatggtattgatagagtcaaattaagctcggt
-||| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-cgcacacatatatttatgcatatcaagcttttggtgattatggtattgatagagtcaaattaagctcggt
-gactatggtattaataagagtactatttccttatctctttgtgaactaaganncatatatatatatatat
-|||||||||||||||||||||||||||||||| |||| || ||   |  ||  | || | | | | ||||
-gactatggtattaataagagtactatttccttttctc-tt-tg---t--ga-ac-ta-aga-a-acatat
-atatataaagcaaacatgttccagaat
-|||||||||||||||||||||||||||
-atatataaagcaaacatgttccagaat
+Sbjct  84     cgcncacatatatttatgcatatcaagcttttggtgattatggtattgatagagtcaaattaagctcggt  153
+              ||| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  72651  cgcacacatatatttatgcatatcaagcttttggtgattatggtattgatagagtcaaattaagctcggt  72720
+
+Sbjct  154    gactatggtattaataagagtactatttccttatctctttgtgaactaaganncatatatatatatatat  223
+              |||||||||||||||||||||||||||||||| |||| || ||   |  ||  | || | | | | ||||
+Query  72721  gactatggtattaataagagtactatttccttttctc-tt-tg---t--ga-ac-ta-aga-a-acatat  72778
+
+Sbjct  224    atatataaagcaaacatgttccagaat  250
+              |||||||||||||||||||||||||||
+Query  72779  atatataaagcaaacatgttccagaat  72805
+
 # polishing(m=400,d=-600,p=30): 64/64, seed_on_end
 38 1214 205 F 38 0 77815 76 0 100.00
-atatatatatatatatatatatatatatatatatatgt
-||||||||||||||||||||||||||||||||||||||
-atatatatatatatatatatatatatatatatatatgt
+Sbjct  205    atatatatatatatatatatatatatatatatatatgt  242
+              ||||||||||||||||||||||||||||||||||||||
+Query  77815  atatatatatatatatatatatatatatatatatatgt  77852
+
 36 1214 205 F 37 0 77812 70 1 97.26
-at-atatatatatatatatatatatatatatatatat
-|| ||||||||||||||||||||||||||||||||||
-ataatatatatatatatatatatatatatatatatat
+Sbjct  205    at-atatatatatatatatatatatatatatatatat  240
+              || ||||||||||||||||||||||||||||||||||
+Query  77812  ataatatatatatatatatatatatatatatatatat  77848
+
 # polishing(m=400,d=-600,p=30): 37/37
 36 1214 205 F 35 0 77812 68 1 97.18
-atatatatatatatatatatatatatatatatatat
-||| ||||||||||||||||||||||||||||||||
-ata-atatatatatatatatatatatatatatatat
+Sbjct  205    atatatatatatatatatatatatatatatatatat  240
+              ||| ||||||||||||||||||||||||||||||||
+Query  77812  ata-atatatatatatatatatatatatatatatat  77846
+
 # polishing(m=400,d=-600,p=30): 36/36
 34 1214 207 F 33 0 77812 64 1 97.01
-atatatatatatatatatatatatatatatatat
-||| ||||||||||||||||||||||||||||||
-ata-atatatatatatatatatatatatatatat
+Sbjct  207    atatatatatatatatatatatatatatatatat  240
+              ||| ||||||||||||||||||||||||||||||
+Query  77812  ata-atatatatatatatatatatatatatatat  77844
+
 # polishing(m=400,d=-600,p=30): 34/34
 32 1214 209 F 31 0 77812 60 1 96.83
-atatatatatatatatatatatatatatatat
-||| ||||||||||||||||||||||||||||
-ata-atatatatatatatatatatatatatat
+Sbjct  209    atatatatatatatatatatatatatatatat  240
+              ||| ||||||||||||||||||||||||||||
+Query  77812  ata-atatatatatatatatatatatatatat  77842
+
 # polishing(m=400,d=-600,p=30): 32/32
 49 1214 206 F 48 0 77808 70 9 81.44
-tatatatatatatatatatatatatatatatatatgtctct-tctatacc
-|| | ||| |||||||||||||||||||||||||| | | | | | ||||
-ta-agata-atatatatatatatatatatatatatatatatatatgtacc
+Sbjct  206    tatatatatatatatatatatatatatatatatatgtctct-tctatacc  254
+              || | ||| |||||||||||||||||||||||||| | | | | | ||||
+Query  77808  ta-agata-atatatatatatatatatatatatatatatatatatgtacc  77855
+
 # polishing(m=400,d=-600,p=30): 50/50
 33 1214 208 F 31 0 77808 55 3 90.62
-tatatatatatatatatatatatatatatatat
-|| | ||| ||||||||||||||||||||||||
-ta-agata-atatatatatatatatatatatat
+Sbjct  208    tatatatatatatatatatatatatatatatat  240
+              || | ||| ||||||||||||||||||||||||
+Query  77808  ta-agata-atatatatatatatatatatatat  77838
+
 # polishing(m=400,d=-600,p=30): 33/33, seed_on_end
 43 1214 210 F 42 0 77808 61 8 81.18
-tatatatatatatatatatatatatatatatgtctct-tctata
-|| | ||| |||||||||||||||||||||| | | | | ||||
-ta-agata-atatatatatatatatatatatatatatatatata
+Sbjct  210    tatatatatatatatatatatatatatatatgtctct-tctata  252
+              || | ||| |||||||||||||||||||||| | | | | ||||
+Query  77808  ta-agata-atatatatatatatatatatatatatatatatata  77849
+
 # polishing(m=400,d=-600,p=30): 44/44, seed_on_end
 41 1214 212 F 40 0 77808 57 8 80.25
-tatatatatatatatatatatatatatatgtctct-tctata
-|| | ||| |||||||||||||||||||| | | | | ||||
-ta-agata-atatatatatatatatatatatatatatatata
+Sbjct  212    tatatatatatatatatatatatatatatgtctct-tctata  252
+              || | ||| |||||||||||||||||||| | | | | ||||
+Query  77808  ta-agata-atatatatatatatatatatatatatatatata  77847
+
 # polishing(m=400,d=-600,p=30): 42/42, seed_on_end
 34 1214 205 F 34 0 77817 68 0 100.00
-atatatatatatatatatatatatatatatatat
-||||||||||||||||||||||||||||||||||
-atatatatatatatatatatatatatatatatat
+Sbjct  205    atatatatatatatatatatatatatatatatat  238
+              ||||||||||||||||||||||||||||||||||
+Query  77817  atatatatatatatatatatatatatatatatat  77850
+
 35 1214 205 F 35 0 77819 67 1 97.14
-atatatatatatatatatatatatatatatatata
-|||||||||||||||||||||||||||||||| ||
-atatatatatatatatatatatatatatatatgta
+Sbjct  205    atatatatatatatatatatatatatatatatata  239
+              |||||||||||||||||||||||||||||||| ||
+Query  77819  atatatatatatatatatatatatatatatatgta  77853
+
 # polishing(m=400,d=-600,p=30): 35/35
 43 859 208 F 39 0 77821 58 8 80.49
-atatatatatatatatatatataaagcaaacatgttccagaat
-||||||||||||||||||||||| |  | |  ||| ||| |||
-atatatatatatatatatatatata-tata--tgtacca-aat
+Sbjct  208    atatatatatatatatatatataaagcaaacatgttccagaat  250
+              ||||||||||||||||||||||| |  | |  ||| ||| |||
+Query  77821  atatatatatatatatatatatata-tata--tgtacca-aat  77859
+
 # polishing(m=400,d=-600,p=30): 43/43
 33 1214 205 F 33 0 77821 63 1 96.97
-atatatatatatatatatatatatatatatata
-|||||||||||||||||||||||||||||| ||
-atatatatatatatatatatatatatatatgta
+Sbjct  205    atatatatatatatatatatatatatatatata  237
+              |||||||||||||||||||||||||||||| ||
+Query  77821  atatatatatatatatatatatatatatatgta  77853
+
 # polishing(m=400,d=-600,p=30): 33/33
 31 1214 205 F 31 0 77823 59 1 96.77
-atatatatatatatatatatatatatatata
-|||||||||||||||||||||||||||| ||
-atatatatatatatatatatatatatatgta
+Sbjct  205    atatatatatatatatatatatatatatata  235
+              |||||||||||||||||||||||||||| ||
+Query  77823  atatatatatatatatatatatatatatgta  77853
+
 # polishing(m=400,d=-600,p=30): 31/31
 29 1214 205 F 29 0 77825 55 1 96.55
-atatatatatatatatatatatatatata
-|||||||||||||||||||||||||| ||
-atatatatatatatatatatatatatgta
+Sbjct  205    atatatatatatatatatatatatatata  233
+              |||||||||||||||||||||||||| ||
+Query  77825  atatatatatatatatatatatatatgta  77853
+
 # polishing(m=400,d=-600,p=30): 29/29
 113 1361 1 F 108 0 105325 158 21 81.00
-ttccaantcggggngttttacaanttccatancgggtacttaagntttggnggtncatgccanttaanct
-|| ||| ||  || | | |||||  | |||| ||||||| ||||  |||| ||| |||| || |||| ||
-ttacaaatca-ggag-tatacaag-tacataacgggtac-taag-attggaggt-catg-cagttaagct
-cattggctggggaacttctgatgacggcgaagattattgg-t-tg
-|||||||||||||||||||||||||||||||||||||||| | ||
-cattggctggggaacttctgatgacggcgaagattattgggtatg
+Sbjct  1       ttccaantcggggngttttacaanttccatancgggtacttaagntttggnggtncatgccanttaanct  70
+               || ||| ||  || | | |||||  | |||| ||||||| ||||  |||| ||| |||| || |||| ||
+Query  105325  ttacaaatca-ggag-tatacaag-tacataacgggtac-taag-attggaggt-catg-cagttaagct  105387
+
+Sbjct  71      cattggctggggaacttctgatgacggcgaagattattgg-t-tg  113
+               |||||||||||||||||||||||||||||||||||||||| | ||
+Query  105388  cattggctggggaacttctgatgacggcgaagattattgggtatg  105432
+
 # polishing(m=400,d=-600,p=30): 64/64, seed_on_end
 222 1361 148 F 222 0 105629 435 3 98.65
-gatggttacttcaagatcaggngaggaacgaacgaatgtggcattgaacagagtnttgtagctggtttac
-||||||||||||||||||||| |||||||||||||||||||||||||||||||| |||||||||||||||
-gatggttacttcaagatcaggagaggaacgaacgaatgtggcattgaacagagtgttgtagctggtttac
-cttcagngaagaacgtatttaaaggtattaccacttcagatgatcttctggtttcctcagtctaaacaag
-|||||| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-cttcagagaagaacgtatttaaaggtattaccacttcagatgatcttctggtttcctcagtctaaacaag
-acgatgtgtccctacttctgtaatatatcatttgcaactgtgttgtaagtttaatataccattgaaagaa
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-acgatgtgtccctacttctgtaatatatcatttgcaactgtgttgtaagtttaatataccattgaaagaa
-tcaccttcaatc
-||||||||||||
-tcaccttcaatc
+Sbjct  148     gatggttacttcaagatcaggngaggaacgaacgaatgtggcattgaacagagtnttgtagctggtttac  217
+               ||||||||||||||||||||| |||||||||||||||||||||||||||||||| |||||||||||||||
+Query  105629  gatggttacttcaagatcaggagaggaacgaacgaatgtggcattgaacagagtgttgtagctggtttac  105698
+
+Sbjct  218     cttcagngaagaacgtatttaaaggtattaccacttcagatgatcttctggtttcctcagtctaaacaag  287
+               |||||| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  105699  cttcagagaagaacgtatttaaaggtattaccacttcagatgatcttctggtttcctcagtctaaacaag  105768
+
+Sbjct  288     acgatgtgtccctacttctgtaatatatcatttgcaactgtgttgtaagtttaatataccattgaaagaa  357
+               ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  105769  acgatgtgtccctacttctgtaatatatcatttgcaactgtgttgtaagtttaatataccattgaaagaa  105838
+
+Sbjct  358     tcaccttcaatc  369
+               ||||||||||||
+Query  105839  tcaccttcaatc  105850
+
 # polishing(m=400,d=-600,p=30): 64/64, seed_on_start
 222 1361 148 F 222 0 105629 435 3 98.65
-gatggttacttcaagatcaggngaggaacgaacgaatgtggcattgaacagagtnttgtagctggtttac
-||||||||||||||||||||| |||||||||||||||||||||||||||||||| |||||||||||||||
-gatggttacttcaagatcaggagaggaacgaacgaatgtggcattgaacagagtgttgtagctggtttac
-cttcagngaagaacgtatttaaaggtattaccacttcagatgatcttctggtttcctcagtctaaacaag
-|||||| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-cttcagagaagaacgtatttaaaggtattaccacttcagatgatcttctggtttcctcagtctaaacaag
-acgatgtgtccctacttctgtaatatatcatttgcaactgtgttgtaagtttaatataccattgaaagaa
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-acgatgtgtccctacttctgtaatatatcatttgcaactgtgttgtaagtttaatataccattgaaagaa
-tcaccttcaatc
-||||||||||||
-tcaccttcaatc
+Sbjct  148     gatggttacttcaagatcaggngaggaacgaacgaatgtggcattgaacagagtnttgtagctggtttac  217
+               ||||||||||||||||||||| |||||||||||||||||||||||||||||||| |||||||||||||||
+Query  105629  gatggttacttcaagatcaggagaggaacgaacgaatgtggcattgaacagagtgttgtagctggtttac  105698
+
+Sbjct  218     cttcagngaagaacgtatttaaaggtattaccacttcagatgatcttctggtttcctcagtctaaacaag  287
+               |||||| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  105699  cttcagagaagaacgtatttaaaggtattaccacttcagatgatcttctggtttcctcagtctaaacaag  105768
+
+Sbjct  288     acgatgtgtccctacttctgtaatatatcatttgcaactgtgttgtaagtttaatataccattgaaagaa  357
+               ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  105769  acgatgtgtccctacttctgtaatatatcatttgcaactgtgttgtaagtttaatataccattgaaagaa  105838
+
+Sbjct  358     tcaccttcaatc  369
+               ||||||||||||
+Query  105839  tcaccttcaatc  105850
+
 # polishing(m=400,d=-600,p=30): 64/64, seed_on_start
 222 1361 148 F 222 0 105629 435 3 98.65
-gatggttacttcaagatcaggngaggaacgaacgaatgtggcattgaacagagtnttgtagctggtttac
-||||||||||||||||||||| |||||||||||||||||||||||||||||||| |||||||||||||||
-gatggttacttcaagatcaggagaggaacgaacgaatgtggcattgaacagagtgttgtagctggtttac
-cttcagngaagaacgtatttaaaggtattaccacttcagatgatcttctggtttcctcagtctaaacaag
-|||||| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-cttcagagaagaacgtatttaaaggtattaccacttcagatgatcttctggtttcctcagtctaaacaag
-acgatgtgtccctacttctgtaatatatcatttgcaactgtgttgtaagtttaatataccattgaaagaa
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-acgatgtgtccctacttctgtaatatatcatttgcaactgtgttgtaagtttaatataccattgaaagaa
-tcaccttcaatc
-||||||||||||
-tcaccttcaatc
+Sbjct  148     gatggttacttcaagatcaggngaggaacgaacgaatgtggcattgaacagagtnttgtagctggtttac  217
+               ||||||||||||||||||||| |||||||||||||||||||||||||||||||| |||||||||||||||
+Query  105629  gatggttacttcaagatcaggagaggaacgaacgaatgtggcattgaacagagtgttgtagctggtttac  105698
+
+Sbjct  218     cttcagngaagaacgtatttaaaggtattaccacttcagatgatcttctggtttcctcagtctaaacaag  287
+               |||||| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  105699  cttcagagaagaacgtatttaaaggtattaccacttcagatgatcttctggtttcctcagtctaaacaag  105768
+
+Sbjct  288     acgatgtgtccctacttctgtaatatatcatttgcaactgtgttgtaagtttaatataccattgaaagaa  357
+               ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  105769  acgatgtgtccctacttctgtaatatatcatttgcaactgtgttgtaagtttaatataccattgaaagaa  105838
+
+Sbjct  358     tcaccttcaatc  369
+               ||||||||||||
+Query  105839  tcaccttcaatc  105850
+
 # polishing(m=400,d=-600,p=30): 64/64
 222 1361 148 F 222 0 105629 435 3 98.65
-gatggttacttcaagatcaggngaggaacgaacgaatgtggcattgaacagagtnttgtagctggtttac
-||||||||||||||||||||| |||||||||||||||||||||||||||||||| |||||||||||||||
-gatggttacttcaagatcaggagaggaacgaacgaatgtggcattgaacagagtgttgtagctggtttac
-cttcagngaagaacgtatttaaaggtattaccacttcagatgatcttctggtttcctcagtctaaacaag
-|||||| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-cttcagagaagaacgtatttaaaggtattaccacttcagatgatcttctggtttcctcagtctaaacaag
-acgatgtgtccctacttctgtaatatatcatttgcaactgtgttgtaagtttaatataccattgaaagaa
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-acgatgtgtccctacttctgtaatatatcatttgcaactgtgttgtaagtttaatataccattgaaagaa
-tcaccttcaatc
-||||||||||||
-tcaccttcaatc
+Sbjct  148     gatggttacttcaagatcaggngaggaacgaacgaatgtggcattgaacagagtnttgtagctggtttac  217
+               ||||||||||||||||||||| |||||||||||||||||||||||||||||||| |||||||||||||||
+Query  105629  gatggttacttcaagatcaggagaggaacgaacgaatgtggcattgaacagagtgttgtagctggtttac  105698
+
+Sbjct  218     cttcagngaagaacgtatttaaaggtattaccacttcagatgatcttctggtttcctcagtctaaacaag  287
+               |||||| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  105699  cttcagagaagaacgtatttaaaggtattaccacttcagatgatcttctggtttcctcagtctaaacaag  105768
+
+Sbjct  288     acgatgtgtccctacttctgtaatatatcatttgcaactgtgttgtaagtttaatataccattgaaagaa  357
+               ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  105769  acgatgtgtccctacttctgtaatatatcatttgcaactgtgttgtaagtttaatataccattgaaagaa  105838
+
+Sbjct  358     tcaccttcaatc  369
+               ||||||||||||
+Query  105839  tcaccttcaatc  105850
+
 # polishing(m=400,d=-600,p=30): 64/64, seed_on_end
diff --git a/testdata/repfind-result/at1MB-U8-xdrop-r-12-30-80-6-a b/testdata/repfind-result/at1MB-U8-xdrop-r-12-30-80-6-a
index 55c5d9c..5253068 100644
--- a/testdata/repfind-result/at1MB-U8-xdrop-r-12-30-80-6-a
+++ b/testdata/repfind-result/at1MB-U8-xdrop-r-12-30-80-6-a
@@ -1,400 +1,482 @@
+# Options: -minidentity 80 -l 30 -seedlength 12 -extendxdrop -ii at1MB -q /local/kurtz/genometools/testsuite/../testdata/U89959_genomic.fas -r -outfmt alignment=70 polinfo -verify-alignment -history 60
+# Fields: s. len, s. seqnum, s. start, strand, q. len, q. seqnum, q. start, score, editdist, % identity
 32 1099 143 R 30 0 106365 44 6 80.65
-cttgtttgggctcttcaggat-ctcttgtcaag
-||| |||||||||||| | || || ||||| ||
-ctt-tttgggctcttccg-atgct-ttgtctag
+Sbjct  143  cttgtttgggctcttcaggat-ctcttgtcaag  174
+            ||| |||||||||||| | || || ||||| ||
+Query  578  ctt-tttgggctcttccg-atgct-ttgtctag  607
+
 # polishing(m=400,d=-600,p=30): 33/33, seed_on_start, seed_on_end
 32 1013 180 R 30 0 100448 44 6 80.65
-gcaagagtaatcctctattattatctccccca
-|||| | ||||||||||||| || | || |||
-gcaacactaatcctctattacta-c-cctcca
+Sbjct  180   gcaagagtaatcctctattattatctccccca  211
+             |||| | ||||||||||||| || | || |||
+Query  6495  gcaacactaatcctctattacta-c-cctcca  6524
+
 # polishing(m=400,d=-600,p=30): 32/32
 31 986 284 R 32 0 97954 45 6 80.95
-tatgt-taatatttgtattatggtttgtatta
-||| | ||||||||||||| |  ||| |||||
-tatttataatatttgtattgttttttttatta
+Sbjct  284   tatgt-taatatttgtattatggtttgtatta  314
+             ||| | ||||||||||||| |  ||| |||||
+Query  8987  tatttataatatttgtattgttttttttatta  9018
+
 # polishing(m=400,d=-600,p=30): 32/32
 31 139 93 R 30 0 97699 46 5 83.61
-tttcttattcggaaaaaaaaaatgattggaa
-||||||| |   || ||||||||||||||||
-tttctta-taaaaataaaaaaatgattggaa
+Sbjct  93    tttcttattcggaaaaaaaaaatgattggaa  123
+             ||||||| |   || ||||||||||||||||
+Query  9244  tttctta-taaaaataaaaaaatgattggaa  9273
+
 # polishing(m=400,d=-600,p=30): 31/31
 33 571 310 R 29 0 97107 44 6 80.65
-ttcttcttcttctttcttaaacttttgcatcaa
-|||||||||||||| ||||   | ||||| |||
-ttcttcttcttctt-ctta---tgttgcaccaa
+Sbjct  310   ttcttcttcttctttcttaaacttttgcatcaa  342
+             |||||||||||||| ||||   | ||||| |||
+Query  9837  ttcttcttcttctt-ctta---tgttgcaccaa  9865
+
 # polishing(m=400,d=-600,p=30): 33/33
 31 31 0 R 31 0 93825 47 5 83.87
-ctctg-tctctttcttcttcttcttcttcttc
-||||  | |||||||||||| |||||| ||||
-ctctcat-tctttcttcttcctcttctacttc
+Sbjct  0      ctctg-tctctttcttcttcttcttcttcttc  30
+              ||||  | |||||||||||| |||||| ||||
+Query  13117  ctctcat-tctttcttcttcctcttctacttc  13147
+
 # polishing(m=400,d=-600,p=30): 32/32, seed_on_start, seed_on_end
 30 479 183 R 31 0 91402 46 5 83.61
-aagaaaaaagaaaaaaaaagcaag-aaacat
-|| ||||||||||||||||   || ||||||
-aataaaaaagaaaaaaaaaattagcaaacat
+Sbjct  183    aagaaaaaagaaaaaaaaagcaag-aaacat  212
+              || ||||||||||||||||   || ||||||
+Query  15540  aataaaaaagaaaaaaaaaattagcaaacat  15570
+
 # polishing(m=400,d=-600,p=30): 31/31
 32 1134 277 R 28 0 88553 42 6 80.00
-atgtttggatgtggataagtatttgacgatta
-|| | ||| | ||| |||| ||||||||||||
-atttctgg-t-tgg-taag-atttgacgatta
+Sbjct  277    atgtttggatgtggataagtatttgacgatta  308
+              || | ||| | ||| |||| ||||||||||||
+Query  18392  atttctgg-t-tgg-taag-atttgacgatta  18419
+
 # polishing(m=400,d=-600,p=30): 32/32, seed_on_start, seed_on_end
 32 950 310 R 28 0 85878 42 6 80.00
-ttatgtaatgttttatgtggtttgagttgtaa
-||| || | | | ||| |||||||||||||||
-tta-gt-a-g-tctatctggtttgagttgtaa
+Sbjct  310    ttatgtaatgttttatgtggtttgagttgtaa  341
+              ||| || | | | ||| |||||||||||||||
+Query  21067  tta-gt-a-g-tctatctggtttgagttgtaa  21094
+
 # polishing(m=400,d=-600,p=30): 32/32
 32 1041 299 R 28 0 85878 42 6 80.00
-ttatgtaatgttttatgtggtttgagttgtaa
-||| || | | | ||| |||||||||||||||
-tta-gt-a-g-tctatctggtttgagttgtaa
+Sbjct  299    ttatgtaatgttttatgtggtttgagttgtaa  330
+              ||| || | | | ||| |||||||||||||||
+Query  21067  tta-gt-a-g-tctatctggtttgagttgtaa  21094
+
 # polishing(m=400,d=-600,p=30): 32/32
 37 965 245 R 38 0 84004 54 7 81.33
-ttttgttctnt-ctttttcaaaaacttatta-agctctt
-||| ||||| | ||||||||||||||| ||| | || ||
-tttcgttctttactttttcaaaaactt-ttacacctatt
+Sbjct  245    ttttgttctnt-ctttttcaaaaacttatta-agctctt  281
+              ||| ||||| | ||||||||||||||| ||| | || ||
+Query  22931  tttcgttctttactttttcaaaaactt-ttacacctatt  22968
+
 # polishing(m=400,d=-600,p=30): 39/39, seed_on_end
 42 703 366 R 38 0 83361 56 8 80.00
-ctgttttttttttctttttgttgttgatgttgtccttatttg
-||||||||||||| ||||| || ||||| || |  | |||||
-ctgttttttttttttttttttttttgat-tt-t-at-atttg
+Sbjct  366    ctgttttttttttctttttgttgttgatgttgtccttatttg  407
+              ||||||||||||| ||||| || ||||| || |  | |||||
+Query  23574  ctgttttttttttttttttttttttgat-tt-t-at-atttg  23611
+
 # polishing(m=400,d=-600,p=30): 42/42, seed_on_start, seed_on_end
 37 777 257 R 38 0 83360 54 7 81.33
-tgttttttttttctttcttgtattgactctat-tttgg
-|||||||||||| ||| || | |||| | ||| |||||
-tgttttttttttttttttttttttgattttatatttgg
+Sbjct  257    tgttttttttttctttcttgtattgactctat-tttgg  293
+              |||||||||||| ||| || | |||| | ||| |||||
+Query  23575  tgttttttttttttttttttttttgattttatatttgg  23612
+
 # polishing(m=400,d=-600,p=30): 38/38, seed_on_start, seed_on_end
 31 351 283 R 29 0 83369 42 6 80.00
-tgctctttttttttttttgttttaataattt
-|| | ||||||||||||| ||||  | ||||
-tg-t-tttttttttttttttttttttgattt
+Sbjct  283    tgctctttttttttttttgttttaataattt  313
+              || | ||||||||||||| ||||  | ||||
+Query  23575  tg-t-tttttttttttttttttttttgattt  23603
+
 # polishing(m=400,d=-600,p=30): 31/31, seed_on_start, seed_on_end
 31 351 283 R 29 0 83369 42 6 80.00
-tgctctttttttttttttgttttaataattt
-|| | ||||||||||||| ||||  | ||||
-tgtt-ttttttttttttt-tttttttgattt
+Sbjct  283    tgctctttttttttttttgttttaataattt  313
+              || | ||||||||||||| ||||  | ||||
+Query  23575  tgtt-ttttttttttttt-tttttttgattt  23603
+
 # polishing(m=400,d=-600,p=30): 31/31, seed_on_start, seed_on_end
 31 351 283 R 29 0 83369 42 6 80.00
-tgctctttttttttttttgttttaataattt
-|| | ||||||||||||| ||||  | ||||
-tgtttttttttttttttt-tttt-ttgattt
+Sbjct  283    tgctctttttttttttttgttttaataattt  313
+              || | ||||||||||||| ||||  | ||||
+Query  23575  tgtttttttttttttttt-tttt-ttgattt  23603
+
 # polishing(m=400,d=-600,p=30): 31/31, seed_on_start, seed_on_end
 30 351 288 R 34 0 83358 46 6 81.25
-tttttttttttttgttttaat---a-atttggtt
-||||||||||||| |||| ||   | ||||||||
-ttttttttttttttttttgattttatatttggtt
+Sbjct  288    tttttttttttttgttttaat---a-atttggtt  317
+              ||||||||||||| |||| ||   | ||||||||
+Query  23581  ttttttttttttttttttgattttatatttggtt  23614
+
 # polishing(m=400,d=-600,p=30): 34/34, seed_on_end
 30 351 288 R 33 0 83358 45 6 80.95
-tttttttttttttgttttaat---a-atttggtt
-||||||||||||| |||| ||   | ||||||||
-ttttttttttttt-ttttgattttatatttggtt
+Sbjct  288    tttttttttttttgttttaat---a-atttggtt  317
+              ||||||||||||| |||| ||   | ||||||||
+Query  23582  ttttttttttttt-ttttgattttatatttggtt  23614
+
 # polishing(m=400,d=-600,p=30): 34/34, seed_on_end
 30 351 288 R 32 0 83358 44 6 80.65
-ttttttttttttt---g-ttttaataatttggtt
-|||||||||||||   | ||||| || |||||||
-ttttttttttttttttgatttta-ta-tttggtt
+Sbjct  288    ttttttttttttt---g-ttttaataatttggtt  317
+              |||||||||||||   | ||||| || |||||||
+Query  23583  ttttttttttttttttgatttta-ta-tttggtt  23614
+
 # polishing(m=400,d=-600,p=30): 34/34, seed_on_end
 30 351 288 R 31 0 83358 46 5 83.61
-ttttttttttttt--g-ttttaataatttggtt
-|||||||||||||  | ||||| || |||||||
-tttttttttttttttgatttta-ta-tttggtt
+Sbjct  288    ttttttttttttt--g-ttttaataatttggtt  317
+              |||||||||||||  | ||||| || |||||||
+Query  23584  tttttttttttttttgatttta-ta-tttggtt  23614
+
 # polishing(m=400,d=-600,p=30): 33/33, seed_on_end
 30 351 288 R 30 0 83358 48 4 86.67
-ttttttttttttt-g-ttttaataatttggtt
-||||||||||||| | ||||| || |||||||
-ttttttttttttttgatttta-ta-tttggtt
+Sbjct  288    ttttttttttttt-g-ttttaataatttggtt  317
+              ||||||||||||| | ||||| || |||||||
+Query  23585  ttttttttttttttgatttta-ta-tttggtt  23614
+
 # polishing(m=400,d=-600,p=30): 32/32, seed_on_end
 34 859 197 R 31 0 77831 50 5 84.62
-aactaaganncatatatatatatatatatatata
-|| ||| |  ||| ||||||||||||||||||||
-aa-taa-ac-catgtatatatatatatatatata
+Sbjct  197    aactaaganncatatatatatatatatatatata  230
+              || ||| |  ||| ||||||||||||||||||||
+Query  29111  aa-taa-ac-catgtatatatatatatatatata  29141
+
 # polishing(m=400,d=-600,p=30): 34/34
 34 1701 303 R 36 0 77826 52 6 82.86
-aa-aaatctt-tatatatatatatatatntatntat
-|| ||| | | ||||||||||||||||| ||| |||
-aataaaccatgtatatatatatatatatatatatat
+Sbjct  303    aa-aaatctt-tatatatatatatatatntatntat  336
+              || ||| | | ||||||||||||||||| ||| |||
+Query  29111  aataaaccatgtatatatatatatatatatatatat  29146
+
 # polishing(m=400,d=-600,p=30): 36/36, seed_on_start, seed_on_end
 34 1701 303 R 35 0 77824 51 6 82.61
-aaaa-atctttatatatatatatatatntatntat
-|||  || | ||||||||||||||||| ||| |||
-aaaccatgtatatatatatatatatatatatatat
+Sbjct  303    aaaa-atctttatatatatatatatatntatntat  336
+              |||  || | ||||||||||||||||| ||| |||
+Query  29114  aaaccatgtatatatatatatatatatatatatat  29148
+
 # polishing(m=400,d=-600,p=30): 35/35, seed_on_start, seed_on_end
 30 1701 307 R 30 0 77820 48 4 86.67
-atctttatatatatatatatatntatntat
-|| | ||||||||||||||||| ||| |||
-atatatatatatatatatatatatatatat
+Sbjct  307    atctttatatatatatatatatntatntat  336
+              || | ||||||||||||||||| ||| |||
+Query  29123  atatatatatatatatatatatatatatat  29152
+
 # polishing(m=400,d=-600,p=30): 30/30, seed_on_start, seed_on_end
 40 1524 237 R 42 0 77802 58 8 80.49
-atatatatatatatatatatagtctttata-ta-a-tgtctta
-||||||||||||||||||||| | | |||| || | ||  |||
-atatatatatatatatatata-tatatataatagaatgaatta
+Sbjct  237    atatatatatatatatatatagtctttata-ta-a-tgtctta  276
+              ||||||||||||||||||||| | | |||| || | ||  |||
+Query  29129  atatatatatatatatatata-tatatataatagaatgaatta  29170
+
 # polishing(m=400,d=-600,p=30): 43/43
 37 1214 205 R 37 0 77807 65 3 91.89
-atatatatatatatatatatatatatatatatata-tg
-||||||||||||||||||||||||||||| ||| | ||
-atatatatatatatatatatatatatata-atagaatg
+Sbjct  205    atatatatatatatatatatatatatatatatata-tg  241
+              ||||||||||||||||||||||||||||| ||| | ||
+Query  29129  atatatatatatatatatatatatatata-atagaatg  29165
+
 # polishing(m=400,d=-600,p=30): 38/38
 30 1701 307 R 30 0 77818 48 4 86.67
-atctttatatatatatatatatntatntat
-|| | ||||||||||||||||| ||| |||
-atatatatatatatatatatatatatatat
+Sbjct  307    atctttatatatatatatatatntatntat  336
+              || | ||||||||||||||||| ||| |||
+Query  29125  atatatatatatatatatatatatatatat  29154
+
 # polishing(m=400,d=-600,p=30): 30/30, seed_on_start, seed_on_end
 40 1524 237 R 40 0 77802 59 7 82.50
-atatatatatatatatatatagtcttta-tataatgtctta
-||||||||||||||||||||| | | || || ||||  |||
-atatatatatatatatatata-tatataatagaatgaatta
+Sbjct  237    atatatatatatatatatatagtcttta-tataatgtctta  276
+              ||||||||||||||||||||| | | || || ||||  |||
+Query  29131  atatatatatatatatatata-tatataatagaatgaatta  29170
+
 # polishing(m=400,d=-600,p=30): 41/41
 37 1214 205 R 35 0 77807 63 3 91.67
-atatatatatatatatatatatatatatatatatatg
-||||||||||||||||||||||||||| ||| | |||
-atatatatatatatatatatatatata-ataga-atg
+Sbjct  205    atatatatatatatatatatatatatatatatatatg  241
+              ||||||||||||||||||||||||||| ||| | |||
+Query  29131  atatatatatatatatatatatatata-ataga-atg  29165
+
 # polishing(m=400,d=-600,p=30): 37/37
 30 1701 307 R 30 0 77816 48 4 86.67
-atctttatatatatatatatatntatntat
-|| | ||||||||||||||||| ||| |||
-atatatatatatatatatatatatatatat
+Sbjct  307    atctttatatatatatatatatntatntat  336
+              || | ||||||||||||||||| ||| |||
+Query  29127  atatatatatatatatatatatatatatat  29156
+
 # polishing(m=400,d=-600,p=30): 30/30
 40 1524 237 R 38 0 77802 57 7 82.05
-atatatatatatatatatatagtctttatataatgtctta
-||||||||||||||||||||| | |  ||| ||||  |||
-atatatatatatatatatata-tat-aatagaatgaatta
+Sbjct  237    atatatatatatatatatatagtctttatataatgtctta  276
+              ||||||||||||||||||||| | |  ||| ||||  |||
+Query  29133  atatatatatatatatatata-tat-aatagaatgaatta  29170
+
 # polishing(m=400,d=-600,p=30): 40/40, seed_on_start, seed_on_end
 34 1214 205 R 32 0 77808 57 3 90.91
-atatatatatatatatatatatatatatatatat
-||||||||||||||||||||||||| ||| | ||
-atatatatatatatatatatatata-ataga-at
+Sbjct  205    atatatatatatatatatatatatatatatatat  238
+              ||||||||||||||||||||||||| ||| | ||
+Query  29133  atatatatatatatatatatatata-ataga-at  29164
+
 # polishing(m=400,d=-600,p=30): 34/34
 32 1214 205 R 30 0 77808 53 3 90.32
-atatatatatatatatatatatatatatatat
-||||||||||||||||||||||| ||| | ||
-atatatatatatatatatatata-ataga-at
+Sbjct  205    atatatatatatatatatatatatatatatat  236
+              ||||||||||||||||||||||| ||| | ||
+Query  29135  atatatatatatatatatatata-ataga-at  29164
+
 # polishing(m=400,d=-600,p=30): 32/32
 31 357 287 R 32 0 77145 45 6 80.95
-tga-attttcttcatggtacatttttctaaaa
-||| ||| ||||| |   ||||||||||||||
-tgatattatcttctttaaacatttttctaaaa
+Sbjct  287    tga-attttcttcatggtacatttttctaaaa  317
+              ||| ||| ||||| |   ||||||||||||||
+Query  29796  tgatattatcttctttaaacatttttctaaaa  29827
+
 # polishing(m=400,d=-600,p=30): 32/32, seed_on_start, seed_on_end
 31 1542 430 R 32 0 74770 45 6 80.95
-attgttg--taataaacttgtgaaagtgatttt
-||| |||  |||| || || |||||||||||||
-att-ttgattaatcaaattttgaaagtgatttt
+Sbjct  430    attgttg--taataaacttgtgaaagtgatttt  460
+              ||| |||  |||| || || |||||||||||||
+Query  32171  att-ttgattaatcaaattttgaaagtgatttt  32202
+
 # polishing(m=400,d=-600,p=30): 33/33, seed_on_start, seed_on_end
 36 1565 142 R 34 0 74565 49 7 80.00
-ag-atcttcccaaatgttaagcaagataaaaaaaaca
-|| || || |||||  ||||| || ||||||||||||
-agaatttt-ccaaaaattaag-aa-ataaaaaaaaca
+Sbjct  142    ag-atcttcccaaatgttaagcaagataaaaaaaaca  177
+              || || || |||||  ||||| || ||||||||||||
+Query  32374  agaatttt-ccaaaaattaag-aa-ataaaaaaaaca  32407
+
 # polishing(m=400,d=-600,p=30): 37/37, seed_on_end
 31 335 262 R 31 0 74523 50 4 87.10
-atgaaat-aaagtgttctcaaaatgtttatga
-|| |||| ||||| ||| ||||||||||||||
-ataaaataaaagttttc-caaaatgtttatga
+Sbjct  262    atgaaat-aaagtgttctcaaaatgtttatga  292
+              || |||| ||||| ||| ||||||||||||||
+Query  32419  ataaaataaaagttttc-caaaatgtttatga  32449
+
 # polishing(m=400,d=-600,p=30): 32/32
 31 1059 469 R 31 0 74523 50 4 87.10
-atgaaat-aaagtgttctcaaaatgtttatga
-|| |||| ||||| ||| ||||||||||||||
-ataaaataaaagttttc-caaaatgtttatga
+Sbjct  469    atgaaat-aaagtgttctcaaaatgtttatga  499
+              || |||| ||||| ||| ||||||||||||||
+Query  32419  ataaaataaaagttttc-caaaatgtttatga  32449
+
 # polishing(m=400,d=-600,p=30): 32/32
 31 1257 181 R 30 0 73427 43 6 80.33
-atttaaaaattgctccccaaaaaaaaaaaat
-|||||||||||| |   |||||| ||| |||
-atttaaaaattg-tgaacaaaaataaataat
+Sbjct  181    atttaaaaattgctccccaaaaaaaaaaaat  211
+              |||||||||||| |   |||||| ||| |||
+Query  33516  atttaaaaattg-tgaacaaaaataaataat  33545
+
 # polishing(m=400,d=-600,p=30): 31/31
 31 1480 383 R 30 0 70767 43 6 80.33
-ttttttactttttatcttttacttaggtctt
-||| | | |||| || || ||||||||||||
-tttataaattttcat-ttatacttaggtctt
+Sbjct  383    ttttttactttttatcttttacttaggtctt  413
+              ||| | | |||| || || ||||||||||||
+Query  36176  tttataaattttcat-ttatacttaggtctt  36205
+
 # polishing(m=400,d=-600,p=30): 31/31, seed_on_start, seed_on_end
 28 635 184 R 32 0 66537 42 6 80.00
-cactaagaaggaga-a-a-tttactggag-gc
-|||||||||||||| | |  || |||||| ||
-cactaagaaggagatagaggttgctggagagc
+Sbjct  184    cactaagaaggaga-a-a-tttactggag-gc  211
+              |||||||||||||| | |  || |||||| ||
+Query  40404  cactaagaaggagatagaggttgctggagagc  40435
+
 # polishing(m=400,d=-600,p=30): 32/32
 34 155 13 R 29 0 63670 45 6 80.95
-gttcatttccttgaaaacggttacagaattaggg
-|||| ||| ||| |||| ||  ||||||||||||
-gttc-ttt-ctt-aaaatgg--acagaattaggg
+Sbjct  13     gttcatttccttgaaaacggttacagaattaggg  46
+              |||| ||| ||| |||| ||  ||||||||||||
+Query  43274  gttc-ttt-ctt-aaaatgg--acagaattaggg  43302
+
 # polishing(m=400,d=-600,p=30): 34/34
 35 870 405 R 36 0 52827 53 6 83.10
-atttccctaaaaaataaacaaaaaaaaatgta--taa
-|| | ||||||||| ||| |||||||||||||  |||
-atgtacctaaaaaaaaaa-aaaaaaaaatgtacctaa
+Sbjct  405    atttccctaaaaaataaacaaaaaaaaatgta--taa  439
+              || | ||||||||| ||| |||||||||||||  |||
+Query  54110  atgtacctaaaaaaaaaa-aaaaaaaaatgtacctaa  54145
+
 # polishing(m=400,d=-600,p=30): 37/37
 30 1397 172 R 31 0 51775 43 6 80.33
-ctac-aaa-taaaatgggacaaaaaaaaagaa
-|||| ||| || | | ||| ||||||||||||
-ctacgaaactagact-ggaaaaaaaaaaagaa
+Sbjct  172    ctac-aaa-taaaatgggacaaaaaaaaagaa  201
+              |||| ||| || | | ||| ||||||||||||
+Query  55167  ctacgaaactagact-ggaaaaaaaaaaagaa  55197
+
 # polishing(m=400,d=-600,p=30): 32/32, seed_on_start, seed_on_end
 38 1403 175 R 34 0 49810 54 6 83.33
-aaaaaagatcaaagagagagagagagagagagagagaa
-|||||| |  ||||||| |||| |||||||||||| ||
-aaaaaa-a--aaagagatagagggagagagagaga-aa
+Sbjct  175    aaaaaagatcaaagagagagagagagagagagagagaa  212
+              |||||| |  ||||||| |||| |||||||||||| ||
+Query  57129  aaaaaa-a--aaagagatagagggagagagagaga-aa  57162
+
 # polishing(m=400,d=-600,p=30): 38/38
 36 1403 175 R 35 0 49809 50 7 80.28
-aaaaaagatcaaagagagagagagagagagagagag
-|||||| |  | ||| |||| |||||||||||| ||
-aaaaaaaaa-agagatagagggagagagagagaaag
+Sbjct  175    aaaaaagatcaaagagagagagagagagagagagag  210
+              |||||| |  | ||| |||| |||||||||||| ||
+Query  57129  aaaaaaaaa-agagatagagggagagagagagaaag  57163
+
 # polishing(m=400,d=-600,p=30): 36/36
 30 1403 192 R 31 0 43282 52 3 90.16
-gagagagagagagagagagaaaga-aaaaaa
-|||||||||||||||||||  ||| ||||||
-gagagagagagagagagagtcagacaaaaaa
+Sbjct  192    gagagagagagagagagagaaaga-aaaaaa  221
+              |||||||||||||||||||  ||| ||||||
+Query  63660  gagagagagagagagagagtcagacaaaaaa  63690
+
 # polishing(m=400,d=-600,p=30): 31/31
 32 1403 190 R 32 0 43281 52 4 87.50
-gagagagagagagagagagagaaagaaaaaaa
-|||||||||||||||||||  | | |||||||
-gagagagagagagagagagtcagacaaaaaaa
+Sbjct  190    gagagagagagagagagagagaaagaaaaaaa  221
+              |||||||||||||||||||  | | |||||||
+Query  63660  gagagagagagagagagagtcagacaaaaaaa  63691
+
 # polishing(m=400,d=-600,p=30): 32/32, seed_on_start, seed_on_end
 33 1403 188 R 32 0 43281 53 4 87.69
-gagagagagagagagagagagagaaagaaaaaa
-|||||||||||||||||||  ||| | ||||||
-gagagagagagagagagagtcagaca-aaaaaa
+Sbjct  188    gagagagagagagagagagagagaaagaaaaaa  220
+              |||||||||||||||||||  ||| | ||||||
+Query  63660  gagagagagagagagagagtcagaca-aaaaaa  63691
+
 # polishing(m=400,d=-600,p=30): 33/33, seed_on_start, seed_on_end
 32 1403 187 R 31 0 43281 51 4 87.30
-agagagagagagagagagagagagaaagaaaa
-||||||||||||||||||  ||| ||| ||||
-agagagagagagagagagtcagacaaa-aaaa
+Sbjct  187    agagagagagagagagagagagagaaagaaaa  218
+              ||||||||||||||||||  ||| ||| ||||
+Query  63661  agagagagagagagagagtcagacaaa-aaaa  63691
+
 # polishing(m=400,d=-600,p=30): 32/32, seed_on_start, seed_on_end
 31 1403 187 R 29 0 43281 45 5 83.33
-agagagagagagagagagagagagaaagaaa
-||||||||||||||||  ||| | ||| |||
-agagagagagagagagtcagaca-aaa-aaa
+Sbjct  187    agagagagagagagagagagagagaaagaaa  217
+              ||||||||||||||||  ||| | ||| |||
+Query  63663  agagagagagagagagtcagaca-aaa-aaa  63691
+
 # polishing(m=400,d=-600,p=30): 31/31, seed_on_start, seed_on_end
 32 442 118 R 34 0 43184 48 6 81.82
-ctttcttcttctttgttttgg-ggt-tccagtct
-|||||||||||||| | ||||  || || |||||
-ctttcttcttctttttgttggaagtctcaagtct
+Sbjct  118    ctttcttcttctttgttttgg-ggt-tccagtct  149
+              |||||||||||||| | ||||  || || |||||
+Query  63755  ctttcttcttctttttgttggaagtctcaagtct  63788
+
 # polishing(m=400,d=-600,p=30): 34/34, seed_on_start, seed_on_end
 31 237 140 R 30 0 42784 43 6 80.33
-gag-aagaaagtggcggctgaggaggagaa-ac
-||| |||||||||||||  | ||| ||||| ||
-gagtaagaaagtggcgg--g-ggaagagaacac
+Sbjct  140    gag-aagaaagtggcggctgaggaggagaa-ac  170
+              ||| |||||||||||||  | ||| ||||| ||
+Query  64159  gagtaagaaagtggcgg--g-ggaagagaacac  64188
+
 # polishing(m=400,d=-600,p=30): 33/33, seed_on_start, seed_on_end
 35 1275 281 R 34 0 40045 54 5 85.51
-tttttttgccattgacaattttt-ccttcttccttc
-|||||||| |||| |  |||||| ||||||||||||
-tttttttgtcatt-at-atttttgccttcttccttc
+Sbjct  281    tttttttgccattgacaattttt-ccttcttccttc  315
+              |||||||| |||| |  |||||| ||||||||||||
+Query  66894  tttttttgtcatt-at-atttttgccttcttccttc  66927
+
 # polishing(m=400,d=-600,p=30): 36/36
 28 1894 15 R 32 0 37196 42 6 80.00
-ataatc-caaaaaaaaaaaccat-a-t-tttt
-|| ||| |||||||||||| ||| | | ||||
-attatcacaaaaaaaaaaaacattaatctttt
+Sbjct  15     ataatc-caaaaaaaaaaaccat-a-t-tttt  42
+              || ||| |||||||||||| ||| | | ||||
+Query  69745  attatcacaaaaaaaaaaaacattaatctttt  69776
+
 # polishing(m=400,d=-600,p=30): 32/32, seed_on_start, seed_on_end
 30 323 367 R 30 0 27210 42 6 80.00
-ttgttgaagaagtttatacata--aaa-agtta
-|| || ||| ||||||||||||  ||| |||||
-tt-tt-aag-agtttatacatatcaaacagtta
+Sbjct  367    ttgttgaagaagtttatacata--aaa-agtta  396
+              || || ||| ||||||||||||  ||| |||||
+Query  79733  tt-tt-aag-agtttatacatatcaaacagtta  79762
+
 # polishing(m=400,d=-600,p=30): 33/33
 31 573 274 R 29 0 26867 42 6 80.00
-ggttctttggtttggtttgtgtctctt-gatt
-|| | ||||||||||||| | || ||| ||||
-ggct-tttggtttggttt-t-tccctttgatt
+Sbjct  274    ggttctttggtttggtttgtgtctctt-gatt  304
+              || | ||||||||||||| | || ||| ||||
+Query  80077  ggct-tttggtttggttt-t-tccctttgatt  80105
+
 # polishing(m=400,d=-600,p=30): 32/32, seed_on_start, seed_on_end
 33 859 211 R 31 0 20269 46 6 81.25
-tatatatatatatatatataaagcaaacatgtt
-|||| ||||||||||||| ||| || | || ||
-tata-atatatatatataaaaaacatatat-tt
+Sbjct  211    tatatatatatatatatataaagcaaacatgtt  243
+              |||| ||||||||||||| ||| || | || ||
+Query  86673  tata-atatatatatataaaaaacatatat-tt  86703
+
 # polishing(m=400,d=-600,p=30): 33/33
 36 1524 238 R 37 0 17254 52 7 80.82
-tatatatatatatatatatagtct-ttatat-aatgtc
-||||||||||||||||||||  || || | | ||| ||
-tatatatatatatatatatatactattctcttaat-tc
+Sbjct  238    tatatatatatatatatatagtct-ttatat-aatgtc  273
+              ||||||||||||||||||||  || || | | ||| ||
+Query  89682  tatatatatatatatatatatactattctcttaat-tc  89718
+
 # polishing(m=400,d=-600,p=30): 38/38, seed_on_start, seed_on_end
 35 1701 308 R 37 0 17259 51 7 80.56
-tctt-tatatatatatatatatntat-ntattttttt
-|||  ||||||||||||||||| |||  |||| | ||
-tctcctatatatatatatatatatatactattctctt
+Sbjct  308    tctt-tatatatatatatatatntat-ntattttttt  342
+              |||  ||||||||||||||||| |||  |||| | ||
+Query  89677  tctcctatatatatatatatatatatactattctctt  89713
+
 # polishing(m=400,d=-600,p=30): 37/37, seed_on_end
 34 1701 309 R 33 0 17259 49 6 82.09
-ctttatatatatatatatatntatntattttttt
-|| ||||||||||||||||| ||  |||| | ||
-ctatatatatatatatatatata-ctattctctt
+Sbjct  309    ctttatatatatatatatatntatntattttttt  342
+              || ||||||||||||||||| ||  |||| | ||
+Query  89681  ctatatatatatatatatatata-ctattctctt  89713
+
 # polishing(m=400,d=-600,p=30): 34/34, seed_on_end
 36 124 120 R 32 0 8890 50 6 82.35
-ttactatcttcttctccttcttcttcctcctcaatg
-|| |||| ||||||||||||| |||| |||| | ||
-tt-ctat-ttcttctccttctccttc-tcctta-tg
+Sbjct  120    ttactatcttcttctccttcttcttcctcctcaatg  155
+              || |||| ||||||||||||| |||| |||| | ||
+Query  98051  tt-ctat-ttcttctccttctccttc-tcctta-tg  98082
+
 # polishing(m=400,d=-600,p=30): 36/36, seed_on_start, seed_on_end
 36 817 239 R 34 0 6628 49 7 80.00
-gatgaagaagaagaagaagcacattgagactggaga
-|| |||||||||||||||| | ||  |||  |||||
-gaagaagaagaagaagaagaatat-aaga-gggaga
+Sbjct  239     gatgaagaagaagaagaagcacattgagactggaga  274
+               || |||||||||||||||| | ||  |||  |||||
+Query  100311  gaagaagaagaagaagaagaatat-aaga-gggaga  100344
+
 # polishing(m=400,d=-600,p=30): 36/36, seed_on_start, seed_on_end
 30 103 74 R 32 0 5954 44 6 80.65
-cttcttcttcttcttct-cttc-taatcct-ag
-||||||||||||||||| || | | ||| | ||
-cttcttcttcttcttcttct-catgatcatcag
+Sbjct  74      cttcttcttcttcttct-cttc-taatcct-ag  103
+               ||||||||||||||||| || | | ||| | ||
+Query  100987  cttcttcttcttcttcttct-catgatcatcag  101018
+
 # polishing(m=400,d=-600,p=30): 33/33, seed_on_start, seed_on_end
 32 632 159 R 33 0 5968 47 6 81.54
-tccaggtgt-ctcttcttcttcttcttcttctt
-|||  || | |||  ||||||||||||||||||
-tccgagtctactcaacttcttcttcttcttctt
+Sbjct  159     tccaggtgt-ctcttcttcttcttcttcttctt  190
+               |||  || | |||  ||||||||||||||||||
+Query  100972  tccgagtctactcaacttcttcttcttcttctt  101004
+
 # polishing(m=400,d=-600,p=30): 33/33, seed_on_start, seed_on_end
 30 1024 109 R 32 0 5070 44 6 80.65
-gagaagaagaagaagna-aaca-gaaggcgaa
-||||||||||||||| | || | ||||  |||
-gagaagaagaagaagaagaagaagaagaagaa
+Sbjct  109     gagaagaagaagaagna-aaca-gaaggcgaa  138
+               ||||||||||||||| | || | ||||  |||
+Query  101871  gagaagaagaagaagaagaagaagaagaagaa  101902
+
 # polishing(m=400,d=-600,p=30): 32/32, seed_on_start, seed_on_end
 30 539 304 R 31 0 5078 43 6 80.33
-act--aagagg-gaagattagaagaagaagaag
-|||  |||||  |||||  ||||||||||||||
-actggaagagaagaaga--agaagaagaagaag
+Sbjct  304     act--aagagg-gaagattagaagaagaagaag  333
+               |||  |||||  |||||  ||||||||||||||
+Query  101864  actggaagagaagaaga--agaagaagaagaag  101894
+
 # polishing(m=400,d=-600,p=30): 33/33, seed_on_start, seed_on_end
 34 1903 3 R 34 0 5071 53 5 85.29
-gaagagaacgaag--gaagaagaagaagaggaacga
-|||||||| ||||  |||||||||||||| ||| ||
-gaagagaa-gaagaagaagaagaagaagaagaa-ga
+Sbjct  3       gaagagaacgaag--gaagaagaagaagaggaacga  36
+               |||||||| ||||  |||||||||||||| ||| ||
+Query  101868  gaagagaa-gaagaagaagaagaagaagaagaa-ga  101901
+
 # polishing(m=400,d=-600,p=30): 36/36, seed_on_start, seed_on_end
 37 953 112 R 39 0 5064 55 7 81.58
-agcagataaagaag-agaagaagaagaa-aaggagaa-ac
-|| |||  |||||| ||||||||||||| ||| |||| ||
-ag-agaagaagaagaagaagaagaagaagaagaagaagac
+Sbjct  112     agcagataaagaag-agaagaagaagaa-aaggagaa-ac  148
+               || |||  |||||| ||||||||||||| ||| |||| ||
+Query  101870  ag-agaagaagaagaagaagaagaagaagaagaagaagac  101908
+
 # polishing(m=400,d=-600,p=30): 40/40
 36 20 7 R 37 0 5067 55 6 83.56
-aagaaggaa-aagatg-agaagaagaagaagaagaa-aa
-||| | ||| |||| | ||||||||||||||||||| ||
-aag-a-gaagaagaagaagaagaagaagaagaagaagaa
+Sbjct  7       aagaaggaa-aagatg-agaagaagaagaagaagaa-aa  42
+               ||| | ||| |||| | ||||||||||||||||||| ||
+Query  101869  aag-a-gaagaagaagaagaagaagaagaagaagaagaa  101905
+
 # polishing(m=400,d=-600,p=30): 39/39, seed_on_start, seed_on_end
 35 1903 2 R 33 0 5068 53 5 85.29
-agaag-agaacgaaggaagaagaagaagaggaacga
-||||| |||| ||| |||||||||||||| ||| ||
-agaagaagaa-gaa-gaagaagaagaagaagaa-ga
+Sbjct  2       agaag-agaacgaaggaagaagaagaagaggaacga  36
+               ||||| |||| ||| |||||||||||||| ||| ||
+Query  101872  agaagaagaa-gaa-gaagaagaagaagaagaa-ga  101904
+
 # polishing(m=400,d=-600,p=30): 36/36, seed_on_start, seed_on_end
 37 20 7 R 42 0 5062 58 7 82.28
-aaga-aggaa-aagatg-agaagaagaagaagaagaa-a-ac
-|||| | ||| |||| | ||||||||||||||||||| | ||
-aagagaagaagaagaagaagaagaagaagaagaagaagacac
+Sbjct  7       aaga-aggaa-aagatg-agaagaagaagaagaagaa-a-ac  43
+               |||| | ||| |||| | ||||||||||||||||||| | ||
+Query  101869  aagagaagaagaagaagaagaagaagaagaagaagaagacac  101910
+
 # polishing(m=400,d=-600,p=30): 42/42, seed_on_start, seed_on_end
 35 1903 2 R 33 0 5065 53 5 85.29
-agaag-agaacgaaggaagaagaagaagaggaacga
-||||| |||| ||| |||||||||||||| ||| ||
-agaagaagaa-gaa-gaagaagaagaagaagaa-ga
+Sbjct  2       agaag-agaacgaaggaagaagaagaagaggaacga  36
+               ||||| |||| ||| |||||||||||||| ||| ||
+Query  101875  agaagaagaa-gaa-gaagaagaagaagaagaa-ga  101907
+
 # polishing(m=400,d=-600,p=30): 36/36, seed_on_start, seed_on_end
 38 20 7 R 39 0 5060 59 6 84.42
-aagaaggaa-aagatg-agaagaagaagaagaagaaaact
-||||| ||| |||| | |||||||||||||||||| | ||
-aagaa-gaagaagaagaagaagaagaagaagaagacacct
+Sbjct  7       aagaaggaa-aagatg-agaagaagaagaagaagaaaact  44
+               ||||| ||| |||| | |||||||||||||||||| | ||
+Query  101874  aagaa-gaagaagaagaagaagaagaagaagaagacacct  101912
+
 # polishing(m=400,d=-600,p=30): 40/40, seed_on_start, seed_on_end
 33 1903 2 R 33 0 5062 51 5 84.85
-agaag-agaacgaaggaagaagaagaagagga-ac
-||||| |||| ||| |||||||||||||| || ||
-agaagaagaa-gaa-gaagaagaagaagaagacac
+Sbjct  2       agaag-agaacgaaggaagaagaagaagagga-ac  34
+               ||||| |||| ||| |||||||||||||| || ||
+Query  101878  agaagaagaa-gaa-gaagaagaagaagaagacac  101910
+
 # polishing(m=400,d=-600,p=30): 35/35, seed_on_start, seed_on_end
 30 20 7 R 31 0 5065 49 4 86.89
-aagaaggaa-aagatg-agaagaagaagaaga
-||||| ||| |||| | |||||||||||||||
-aagaa-gaagaagaagaagaagaagaagaaga
+Sbjct  7       aagaaggaa-aagatg-agaagaagaagaaga  36
+               ||||| ||| |||| | |||||||||||||||
+Query  101877  aagaa-gaagaagaagaagaagaagaagaaga  101907
+
 # polishing(m=400,d=-600,p=30): 32/32, seed_on_start, seed_on_end
 35 953 103 R 35 0 5065 49 7 80.00
-gaagaactcagcagataaagaag-agaagaagaaga
-||||||   || |||  |||||| ||||||||||||
-gaagaaga-agaagaagaagaagaagaagaagaaga
+Sbjct  103     gaagaactcagcagataaagaag-agaagaagaaga  137
+               ||||||   || |||  |||||| ||||||||||||
+Query  101873  gaagaaga-agaagaagaagaagaagaagaagaaga  101907
+
 # polishing(m=400,d=-600,p=30): 36/36, seed_on_end
 31 139 87 R 32 0 2624 45 6 80.95
-gttaa--ttttcttattcggaaaaaaaaaatga
-|||||  ||||  || ||||||||||||| |||
-gttaacgttttaataatcggaaaaaaaaa-tga
+Sbjct  87      gttaa--ttttcttattcggaaaaaaaaaatga  117
+               |||||  ||||  || ||||||||||||| |||
+Query  104317  gttaacgttttaataatcggaaaaaaaaa-tga  104348
+
 # polishing(m=400,d=-600,p=30): 33/33
 31 139 87 R 32 0 2624 45 6 80.95
-gttaa--ttttcttattcggaaaaaaaaaatga
-|||||  ||||  || |||| ||||||||||||
-gttaacgttttaataatcgg-aaaaaaaaatga
+Sbjct  87      gttaa--ttttcttattcggaaaaaaaaaatga  117
+               |||||  ||||  || |||| ||||||||||||
+Query  104317  gttaacgttttaataatcgg-aaaaaaaaatga  104348
+
 # polishing(m=400,d=-600,p=30): 33/33
diff --git a/testdata/repfind-result/at1MB-greedy-70-500-90-1-39-a b/testdata/repfind-result/at1MB-greedy-70-500-90-1-39-a
index d631f8f..8382c77 100644
--- a/testdata/repfind-result/at1MB-greedy-70-500-90-1-39-a
+++ b/testdata/repfind-result/at1MB-greedy-70-500-90-1-39-a
@@ -1,644 +1,847 @@
+# Options: -extendgreedy -ii at1MB -seedlength 70 -l 500 -minidentity 90 -outfmt alignment=70 polinfo -verify-alignment -history 60
+# Fields: s. len, s. seqnum, s. start, strand, q. len, q. seqnum, q. start, score, editdist, % identity
 635 5 11 F 635 39 45 1162 36 94.33
-aaatatttgtctgttacagatggaacagtgaagcgatacaacgatgcaaaaaaagagtggggattcacac
-||||||||| ||||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||
-aaatatttgactgttacagatggaacagtgaagcgatacaacgatgcnaaaaaagagtggggattcacac
-aattgatttctcttccaacattctacaacgcgaacgaagggtaccttgtgcaggacacagcttcttttgg
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-aattgatttctcttccaacattctacaacgcgaacgaagggtaccttgtgcaggacacagcttcttttgg
-tgctgagatcttcatcgttaacccgacagaaaaacaagagaaagtcacattcatatcaaaccctccagac
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ||
-tgctgagatcttcatcgttaacccgacagaaaaacaagagaaagtcacattcatatcaaaccctccaaac
-aatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactccgatgattttc
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ||||||||||
-aatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactctgatgattttc
-tcgttgaagaccgatactggagactaggatttaacccgaaaggggatggaggaggaagaccacatgcact
-| |||| ||||||||||||||||||||||||||||||||||||   ||| ||||||||||||||||||||
-tngttggagaccgatactggagactaggatttaacccgaaaggatctggtggaggaagaccacatgcact
-tccaatcttcctatttgctcaaggccataaggcaaacgcagttgctacaaacacttggggagcggttaat
-|||||||||||||| ||||||||||||||||||||||||||||| |||||||||||||||||||||||||
-tccaatcttcctatatgctcaaggccataaggcaaacgcagttgttacaaacacttggggagcggttaat
-ctgcggttaaagaatcaacgaag-tactaaccatagacaaatatattctgcagcttggtacccgattgga
-||||||||||||||||||||||| | | ||||| | |||| |||||||||||||||||||||||||| ||
-ctgcggttaaagaatcaacgaagctcc-aaccacaaacaattatattctgcagcttggtacccgattcga
-agcggttatggtgtgggagtgaacaatatcatactgttag-ctgatttaaacgatgcatcaaaaggatat
-|||| |||||||||||||||||||||||| ||| || | | | ||  |||| |||||||||||||| |||
-agcgattatggtgtgggagtgaacaatataatattgat-gtcagagctaaaagatgcatcaaaagggtat
-ttggtgaatgatgccattatctttgaagctgaaatggttaaggtctctataaccaacatcgtctccgctt
- ||||||||||||||||||||||||||||||||||||||||||||||| | || ||||| ||||||| ||
-atggtgaatgatgccattatctttgaagctgaaatggttaaggtctctgtgacaaacatagtctccgttt
-aaatatc
-|||||||
-aaatatc
+Sbjct  11   aaatatttgtctgttacagatggaacagtgaagcgatacaacgatgcaaaaaaagagtggggattcacac  80
+            ||||||||| ||||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||
+Query  45   aaatatttgactgttacagatggaacagtgaagcgatacaacgatgcnaaaaaagagtggggattcacac  114
+
+Sbjct  81   aattgatttctcttccaacattctacaacgcgaacgaagggtaccttgtgcaggacacagcttcttttgg  150
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  115  aattgatttctcttccaacattctacaacgcgaacgaagggtaccttgtgcaggacacagcttcttttgg  184
+
+Sbjct  151  tgctgagatcttcatcgttaacccgacagaaaaacaagagaaagtcacattcatatcaaaccctccagac  220
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ||
+Query  185  tgctgagatcttcatcgttaacccgacagaaaaacaagagaaagtcacattcatatcaaaccctccaaac  254
+
+Sbjct  221  aatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactccgatgattttc  290
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ||||||||||
+Query  255  aatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactctgatgattttc  324
+
+Sbjct  291  tcgttgaagaccgatactggagactaggatttaacccgaaaggggatggaggaggaagaccacatgcact  360
+            | |||| ||||||||||||||||||||||||||||||||||||   ||| ||||||||||||||||||||
+Query  325  tngttggagaccgatactggagactaggatttaacccgaaaggatctggtggaggaagaccacatgcact  394
+
+Sbjct  361  tccaatcttcctatttgctcaaggccataaggcaaacgcagttgctacaaacacttggggagcggttaat  430
+            |||||||||||||| ||||||||||||||||||||||||||||| |||||||||||||||||||||||||
+Query  395  tccaatcttcctatatgctcaaggccataaggcaaacgcagttgttacaaacacttggggagcggttaat  464
+
+Sbjct  431  ctgcggttaaagaatcaacgaag-tactaaccatagacaaatatattctgcagcttggtacccgattgga  499
+            ||||||||||||||||||||||| | | ||||| | |||| |||||||||||||||||||||||||| ||
+Query  465  ctgcggttaaagaatcaacgaagctcc-aaccacaaacaattatattctgcagcttggtacccgattcga  533
+
+Sbjct  500  agcggttatggtgtgggagtgaacaatatcatactgttag-ctgatttaaacgatgcatcaaaaggatat  568
+            |||| |||||||||||||||||||||||| ||| || | | | ||  |||| |||||||||||||| |||
+Query  534  agcgattatggtgtgggagtgaacaatataatattgat-gtcagagctaaaagatgcatcaaaagggtat  602
+
+Sbjct  569  ttggtgaatgatgccattatctttgaagctgaaatggttaaggtctctataaccaacatcgtctccgctt  638
+             ||||||||||||||||||||||||||||||||||||||||||||||| | || ||||| ||||||| ||
+Query  603  atggtgaatgatgccattatctttgaagctgaaatggttaaggtctctgtgacaaacatagtctccgttt  672
+
+Sbjct  639  aaatatc  645
+            |||||||
+Query  673  aaatatc  679
+
 # polishing(m=200,d=-800,p=30): 64/64
 565 79 59 F 566 1495 2 1020 37 93.46
-gccggatttggtttgtatccaacgttgttttgtttttctttcaataatctcatagatcttat-gttggtg
-||||| ||||||||||  ||||||||| ||||  |||| ||| |||| | ||| |  ||| | |||||  
-gccgg-tttggtttgtncccaacgttg-tttggntttccttcnataaccccatggnccttntggttgg-n
-ataatggtttaggtgatttttcgc-ttaaaga-tctttattatccaattcgatcttttgagttt-gagat
- |||||||||||| | |||||||| ||||||| | ||||||| ||||||||| ||||  ||||| | |||
-ntaatggtttaggngttttttcgcattaaagact-tttattanccaattcgacctttnnagtttggggat
-ttgc-aggaatcaa-tttagagatttgcatc-ttaagttgaagaaaagaagaagttttcgttgcatatta
-||||  ||| |||| ||| |||| ||||||| ||||||||||| ||||||||||||||||||||||||||
-ttgcngggattcaattttggaga-ttgcatcnttaagttgaag-aaagaagaagttttcgttgcatatta
-atattgcccttagctgctaagtttttatctggaagttcgattggtttgtttaaggtgaaacccagaagaa
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-atattgcccttagctgctaagtttttatctggaagttcgattggtttgtttaaggtgaaacccagaagaa
-tcaaacttgctttcattatcaatgttgatttttctcaccggaatcaatctcagacggcaaaggaagatgt
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-tcaaacttgctttcattatcaatgttgatttttctcaccggaatcaatctcagacggcaaaggaagatgt
-cggaaatgcttttagattactcatccaaacgtgtgctgtgttgttttcagctgttgacacgtaagattgg
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-cggaaatgcttttagattactcatccaaacgtgtgctgtgttgttttcagctgttgacacgtaagattgg
-ttggagccacaatatcagttcttcatctttaagcaatgttcttggactcatttaggacttcaaatgttct
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-ttggagccacaatatcagttcttcatctttaagcaatgttcttggactcatttaggacttcaaatgttct
-tgtaatctcagtgtatgttgggcttttggttttttagcccatgtatggttggttaacgttaataagattt
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-tgtaatctcagtgtatgttgggcttttggttttttagcccatgtatggttggttaacgttaataagattt
-tccacttatgag
-||||||||||||
-tccacttatgag
+Sbjct  59   gccggatttggtttgtatccaacgttgttttgtttttctttcaataatctcatagatcttat-gttggtg  127
+            ||||| ||||||||||  ||||||||| ||||  |||| ||| |||| | ||| |  ||| | |||||  
+Query  2    gccgg-tttggtttgtncccaacgttg-tttggntttccttcnataaccccatggnccttntggttgg-n  68
+
+Sbjct  128  ataatggtttaggtgatttttcgc-ttaaaga-tctttattatccaattcgatcttttgagttt-gagat  194
+             |||||||||||| | |||||||| ||||||| | ||||||| ||||||||| ||||  ||||| | |||
+Query  69   ntaatggtttaggngttttttcgcattaaagact-tttattanccaattcgacctttnnagtttggggat  137
+
+Sbjct  195  ttgc-aggaatcaa-tttagagatttgcatc-ttaagttgaagaaaagaagaagttttcgttgcatatta  261
+            ||||  ||| |||| ||| |||| ||||||| ||||||||||| ||||||||||||||||||||||||||
+Query  138  ttgcngggattcaattttggaga-ttgcatcnttaagttgaag-aaagaagaagttttcgttgcatatta  205
+
+Sbjct  262  atattgcccttagctgctaagtttttatctggaagttcgattggtttgtttaaggtgaaacccagaagaa  331
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  206  atattgcccttagctgctaagtttttatctggaagttcgattggtttgtttaaggtgaaacccagaagaa  275
+
+Sbjct  332  tcaaacttgctttcattatcaatgttgatttttctcaccggaatcaatctcagacggcaaaggaagatgt  401
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  276  tcaaacttgctttcattatcaatgttgatttttctcaccggaatcaatctcagacggcaaaggaagatgt  345
+
+Sbjct  402  cggaaatgcttttagattactcatccaaacgtgtgctgtgttgttttcagctgttgacacgtaagattgg  471
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  346  cggaaatgcttttagattactcatccaaacgtgtgctgtgttgttttcagctgttgacacgtaagattgg  415
+
+Sbjct  472  ttggagccacaatatcagttcttcatctttaagcaatgttcttggactcatttaggacttcaaatgttct  541
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  416  ttggagccacaatatcagttcttcatctttaagcaatgttcttggactcatttaggacttcaaatgttct  485
+
+Sbjct  542  tgtaatctcagtgtatgttgggcttttggttttttagcccatgtatggttggttaacgttaataagattt  611
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  486  tgtaatctcagtgtatgttgggcttttggttttttagcccatgtatggttggttaacgttaataagattt  555
+
+Sbjct  612  tccacttatgag  623
+            ||||||||||||
+Query  556  tccacttatgag  567
+
 # polishing(m=200,d=-800,p=30): 53/64, seed_on_end
 728 5 11 F 732 16 129 1307 51 93.01
-aaatatttgtctgttacagatggaacagtgaagcgatacaacgatgcaaaaaaagagtggggattcacac
-||||||||| |||||||||||||   |||||||||||| ||| |||| |||||||| ||||| |||  ||
-aaatatttgactgttacagatggcttagtgaagcgatataacaatgcgaaaaaagaatggggtttcggac
-aattgatttctc-ttccaacattctacaacgcgaacgaagggtaccttgtgcaggacacagcttcttttg
-|||||||| |||  | ||||||||||||||||||||||||| |||||||  |||||||| | ||||||||
-aattgattcctcgat-caacattctacaacgcgaacgaaggttaccttgaccaggacactggttcttttg
-gtgctgagatcttcatcgttaacccgacagaaaaacaagagaaagtcacattcatatcaaaccctccaga
-||||||||||||| || ||||| ||| |  || ||||||||||||| ||||||||||||||||||||| |
-gtgctgagatctttattgttaaaccggctcaacaacaagagaaagttacattcatatcaaaccctccaaa
-caatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactccgatgatttt
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ||
-caatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactccgatgatntt
-ctcgttgaagaccgatactggagactaggatttaacccgaaaggggatggaggaggaagaccacatgcac
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-ctcgttgaagaccgatactggagactaggatttaacccgaaaggggatggaggaggaagaccacatgcac
-ttccaatcttcctatttgctcaaggccataaggcaaacgcagttgctacaaacacttggggagcggttaa
-||||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||
-ttccaatcttcctatttgctcaaggccataaggcaaatgcagttgctacaaacacttggggagcggttaa
-tctgcggttaaagaatcaacgaagtactaaccatagacaaatatattctgcagcttggtacccgattgga
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-tctgcggttaaagaatcaacgaagtactaaccatagacaaatatattctgcagcttggtacccgattgga
-agcggttatggtgtgggagtgaacaatatcatactgttagctgatttaaacgatgcatcaaaaggatatt
-| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ||||||||||
-aacggttatggtgtgggagtgaacaatatcatactgttagctgatttaaacgatgcatccaaaggatatt
-tggtgaatgatgccattatctttgaagctgaaatggttaaggtctctataaccaacatcgtctccgctta
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-tggtgaatgatgccattatctttgaagctgaaatggttaaggtctctataaccaacatcgtctccgctta
-aatatctgcacttctttgtctacgatcaatcaaccttatgaataaagagatatttgat--ga-g--tttg
-||||||||| ||||||||||||| | ||||| |||||||||||||| | || ||| ||  || |  ||||
-aatatctgcncttctttgtctacnancaatccaccttatgaataaaaaaat-tttaatttgatgaatttg
-taataagaaaacgttaatgtttgtgaattgtgaa
-| |||| ||||| ||||||||||| || ||||||
-ttataanaaaactttaatgtttgttaaatgtgaa
+Sbjct  11   aaatatttgtctgttacagatggaacagtgaagcgatacaacgatgcaaaaaaagagtggggattcacac  80
+            ||||||||| |||||||||||||   |||||||||||| ||| |||| |||||||| ||||| |||  ||
+Query  129  aaatatttgactgttacagatggcttagtgaagcgatataacaatgcgaaaaaagaatggggtttcggac  198
+
+Sbjct  81   aattgatttctc-ttccaacattctacaacgcgaacgaagggtaccttgtgcaggacacagcttcttttg  149
+            |||||||| |||  | ||||||||||||||||||||||||| |||||||  |||||||| | ||||||||
+Query  199  aattgattcctcgat-caacattctacaacgcgaacgaaggttaccttgaccaggacactggttcttttg  267
+
+Sbjct  150  gtgctgagatcttcatcgttaacccgacagaaaaacaagagaaagtcacattcatatcaaaccctccaga  219
+            ||||||||||||| || ||||| ||| |  || ||||||||||||| ||||||||||||||||||||| |
+Query  268  gtgctgagatctttattgttaaaccggctcaacaacaagagaaagttacattcatatcaaaccctccaaa  337
+
+Sbjct  220  caatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactccgatgatttt  289
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ||
+Query  338  caatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactccgatgatntt  407
+
+Sbjct  290  ctcgttgaagaccgatactggagactaggatttaacccgaaaggggatggaggaggaagaccacatgcac  359
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  408  ctcgttgaagaccgatactggagactaggatttaacccgaaaggggatggaggaggaagaccacatgcac  477
+
+Sbjct  360  ttccaatcttcctatttgctcaaggccataaggcaaacgcagttgctacaaacacttggggagcggttaa  429
+            ||||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||
+Query  478  ttccaatcttcctatttgctcaaggccataaggcaaatgcagttgctacaaacacttggggagcggttaa  547
+
+Sbjct  430  tctgcggttaaagaatcaacgaagtactaaccatagacaaatatattctgcagcttggtacccgattgga  499
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  548  tctgcggttaaagaatcaacgaagtactaaccatagacaaatatattctgcagcttggtacccgattgga  617
+
+Sbjct  500  agcggttatggtgtgggagtgaacaatatcatactgttagctgatttaaacgatgcatcaaaaggatatt  569
+            | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ||||||||||
+Query  618  aacggttatggtgtgggagtgaacaatatcatactgttagctgatttaaacgatgcatccaaaggatatt  687
+
+Sbjct  570  tggtgaatgatgccattatctttgaagctgaaatggttaaggtctctataaccaacatcgtctccgctta  639
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  688  tggtgaatgatgccattatctttgaagctgaaatggttaaggtctctataaccaacatcgtctccgctta  757
+
+Sbjct  640  aatatctgcacttctttgtctacgatcaatcaaccttatgaataaagagatatttgat--ga-g--tttg  704
+            ||||||||| ||||||||||||| | ||||| |||||||||||||| | || ||| ||  || |  ||||
+Query  758  aatatctgcncttctttgtctacnancaatccaccttatgaataaaaaaat-tttaatttgatgaatttg  826
+
+Sbjct  705  taataagaaaacgttaatgtttgtgaattgtgaa  738
+            | |||| ||||| ||||||||||| || ||||||
+Query  827  ttataanaaaactttaatgtttgttaaatgtgaa  860
+
 # polishing(m=200,d=-800,p=30): 64/45
 539 3 71 F 538 6 71 972 35 93.50
-cgcgaacgaagggtacnttgtgcaggacacagcttcttttggtgctgagatcttcat-cgttaacccgac
-|||||| ||||||||| ||||| | |||    ||||||| |||||||| |||||||| || || ||||||
-cgcgaangaagggtaccttgtgnangacnnnncttctttnggtgctganatcttcatgcgntancccgac
-agaaaaacaagagaaagtcacattcatatcaaaccctccgaacaatgttttcacttggaagatacttcgt
-||||| ||   | | |||| ||||||||||  ||||||| ||||||||||||||||||||||||||||||
-agaaanacnnnananagtcncattcatatcnnaccctccnaacaatgttttcacttggaagatacttcgt
-ttctctaccttggaagataaattctattactctgatgattttctcgttgaagaccgatactggagattag
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-ttctctaccttggaagataaattctattactctgatgattttctcgttgaagaccgatactggagattag
-gatttaacccgaaaggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggcca
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-gatttaacccgaaaggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggcca
-taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc
-aaccacaaacaattatattctgcagcttggtaccccgattcgaagcgattatggtgtgggagtgaacaat
-||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||||
-aaccacaaacaattatattctgcagcttggtaccc-gattcgaagcgattatggtgtgggagtgaacaat
-atcatattgatgtcagaagctaaaagatgcatcnaaa-gggtatatggtgaatgatgccattatcttttg
-|| |||||||||||||| ||||||||||||||| ||| |||||||||||||||||||||||||||||| |
-ataatattgatgtcaga-gctaaaagatgcatccaaaagggtatatggtgaatgatgccattatcttt-g
-aaactgaaatggttaaggtctctgtgaacaa-catantctccncttaaatat
-|| |||||||||||||||||||||||| ||| |||| |||||  ||||||||
-aagctgaaatggttaaggtctctgtga-caaacatagtctccgtttaaatat
+Sbjct  71   cgcgaacgaagggtacnttgtgcaggacacagcttcttttggtgctgagatcttcat-cgttaacccgac  139
+            |||||| ||||||||| ||||| | |||    ||||||| |||||||| |||||||| || || ||||||
+Query  71   cgcgaangaagggtaccttgtgnangacnnnncttctttnggtgctganatcttcatgcgntancccgac  140
+
+Sbjct  140  agaaaaacaagagaaagtcacattcatatcaaaccctccgaacaatgttttcacttggaagatacttcgt  209
+            ||||| ||   | | |||| ||||||||||  ||||||| ||||||||||||||||||||||||||||||
+Query  141  agaaanacnnnananagtcncattcatatcnnaccctccnaacaatgttttcacttggaagatacttcgt  210
+
+Sbjct  210  ttctctaccttggaagataaattctattactctgatgattttctcgttgaagaccgatactggagattag  279
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  211  ttctctaccttggaagataaattctattactctgatgattttctcgttgaagaccgatactggagattag  280
+
+Sbjct  280  gatttaacccgaaaggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggcca  349
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  281  gatttaacccgaaaggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggcca  350
+
+Sbjct  350  taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc  419
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  351  taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc  420
+
+Sbjct  420  aaccacaaacaattatattctgcagcttggtaccccgattcgaagcgattatggtgtgggagtgaacaat  489
+            ||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||||
+Query  421  aaccacaaacaattatattctgcagcttggtaccc-gattcgaagcgattatggtgtgggagtgaacaat  489
+
+Sbjct  490  atcatattgatgtcagaagctaaaagatgcatcnaaa-gggtatatggtgaatgatgccattatcttttg  558
+            || |||||||||||||| ||||||||||||||| ||| |||||||||||||||||||||||||||||| |
+Query  490  ataatattgatgtcaga-gctaaaagatgcatccaaaagggtatatggtgaatgatgccattatcttt-g  557
+
+Sbjct  559  aaactgaaatggttaaggtctctgtgaacaa-catantctccncttaaatat  609
+            || |||||||||||||||||||||||| ||| |||| |||||  ||||||||
+Query  558  aagctgaaatggttaaggtctctgtga-caaacatagtctccgtttaaatat  608
+
 # polishing(m=200,d=-800,p=30): 30/64
 610 3 0 F 607 39 72 1163 18 97.04
-gtgaagcgatacaacgatgcaaaaaaagagtggggattcacacaattgatttctcttccaacattctaca
-|||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||||||||||
-gtgaagcgatacaacgatgcnaaaaaagagtggggattcacacaattgatttctcttccaacattctaca
-acgcgaacgaagggtacnttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgac
-||||||||||||||||| ||||||||||||||||||||||||||||||||||||||||||||||||||||
-acgcgaacgaagggtaccttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgac
-agaaaaacaagagaaagtcacattcatatcaaaccctccgaacaatgttttcacttggaagatacttcgt
-||||||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||
-agaaaaacaagagaaagtcacattcatatcaaaccctccaaacaatgttttcacttggaagatacttcgt
-ttctctaccttggaagataaattctattactctgatgattttctcgttgaagaccgatactggagattag
-|||||||||||||||||||||||||||||||||||||||||||| |||| |||||||||||||||| |||
-ttctctaccttggaagataaattctattactctgatgattttctngttggagaccgatactggagactag
-gatttaacccgaaaggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggcca
-|||||||||||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||
-gatttaacccgaaaggatctggtggaggaagaccacatgcacttccaatcttcctatatgctcaaggcca
-taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc
-aaccacaaacaattatattctgcagcttggtaccccgattcgaagcgattatggtgtgggagtgaacaat
-||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||||
-aaccacaaacaattatattctgcagcttggtaccc-gattcgaagcgattatggtgtgggagtgaacaat
-atcatattgatgtcagaagctaaaagatgcatcnaaagggtatatggtgaatgatgccattatcttttga
-|| |||||||||||||| ||||||||||||||| ||||||||||||||||||||||||||||||||| ||
-ataatattgatgtcaga-gctaaaagatgcatcaaaagggtatatggtgaatgatgccattatcttt-ga
-aactgaaatggttaaggtctctgtgaacaa-catantctccncttaaatat
-| |||||||||||||||||||||||| ||| |||| |||||  ||||||||
-agctgaaatggttaaggtctctgtga-caaacatagtctccgtttaaatat
+Sbjct  0    gtgaagcgatacaacgatgcaaaaaaagagtggggattcacacaattgatttctcttccaacattctaca  69
+            |||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||||||||||
+Query  72   gtgaagcgatacaacgatgcnaaaaaagagtggggattcacacaattgatttctcttccaacattctaca  141
+
+Sbjct  70   acgcgaacgaagggtacnttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgac  139
+            ||||||||||||||||| ||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  142  acgcgaacgaagggtaccttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgac  211
+
+Sbjct  140  agaaaaacaagagaaagtcacattcatatcaaaccctccgaacaatgttttcacttggaagatacttcgt  209
+            ||||||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||
+Query  212  agaaaaacaagagaaagtcacattcatatcaaaccctccaaacaatgttttcacttggaagatacttcgt  281
+
+Sbjct  210  ttctctaccttggaagataaattctattactctgatgattttctcgttgaagaccgatactggagattag  279
+            |||||||||||||||||||||||||||||||||||||||||||| |||| |||||||||||||||| |||
+Query  282  ttctctaccttggaagataaattctattactctgatgattttctngttggagaccgatactggagactag  351
+
+Sbjct  280  gatttaacccgaaaggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggcca  349
+            |||||||||||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||
+Query  352  gatttaacccgaaaggatctggtggaggaagaccacatgcacttccaatcttcctatatgctcaaggcca  421
+
+Sbjct  350  taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc  419
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  422  taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc  491
+
+Sbjct  420  aaccacaaacaattatattctgcagcttggtaccccgattcgaagcgattatggtgtgggagtgaacaat  489
+            ||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||||
+Query  492  aaccacaaacaattatattctgcagcttggtaccc-gattcgaagcgattatggtgtgggagtgaacaat  560
+
+Sbjct  490  atcatattgatgtcagaagctaaaagatgcatcnaaagggtatatggtgaatgatgccattatcttttga  559
+            || |||||||||||||| ||||||||||||||| ||||||||||||||||||||||||||||||||| ||
+Query  561  ataatattgatgtcaga-gctaaaagatgcatcaaaagggtatatggtgaatgatgccattatcttt-ga  628
+
+Sbjct  560  aactgaaatggttaaggtctctgtgaacaa-catantctccncttaaatat  609
+            | |||||||||||||||||||||||| ||| |||| |||||  ||||||||
+Query  629  agctgaaatggttaaggtctctgtga-caaacatagtctccgtttaaatat  678
+
 # polishing(m=200,d=-800,p=30): 64/64
 721 6 71 F 724 39 143 1343 34 95.29
-cgcgaangaagggtaccttgtgnangacnnnncttctttnggtgctganatcttcatgcgntancccgac
-|||||| ||||||||||||||| | |||    ||||||| |||||||| |||||||| || || ||||||
-cgcgaacgaagggtaccttgtgcaggacacagcttcttttggtgctgagatcttcat-cgttaacccgac
-agaaanacnnnananagtcncattcatatcnnaccctccnaacaatgttttcacttggaagatacttcgt
-||||| ||   | | |||| ||||||||||  ||||||| ||||||||||||||||||||||||||||||
-agaaaaacaagagaaagtcacattcatatcaaaccctccaaacaatgttttcacttggaagatacttcgt
-ttctctaccttggaagataaattctattactctgatgattttctcgttgaagaccgatactggagattag
-|||||||||||||||||||||||||||||||||||||||||||| |||| |||||||||||||||| |||
-ttctctaccttggaagataaattctattactctgatgattttctngttggagaccgatactggagactag
-gatttaacccgaaaggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggcca
-|||||||||||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||
-gatttaacccgaaaggatctggtggaggaagaccacatgcacttccaatcttcctatatgctcaaggcca
-taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc
-aaccacaaacaattatattctgcagcttggtacccgattcgaagcgattatggtgtgggagtgaacaata
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-aaccacaaacaattatattctgcagcttggtacccgattcgaagcgattatggtgtgggagtgaacaata
-taatattgatgtcagagctaaaagatgcatccaaaagggtatatggtgaatgatgccattatctttgaag
-||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||||||||
-taatattgatgtcagagctaaaagatgcatc-aaaagggtatatggtgaatgatgccattatctttgaag
-ctgaaatggttaaggtctctgtgacaaacatagtctccgtttaaatatcactacttctttttcaacaaca
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-ctgaaatggttaaggtctctgtgacaaacatagtctccgtttaaatatcactacttctttttcaacaaca
-accttacgaataaagtggactttgatgagtttaatttgttatacgacaacgttgttgatgcttgtgatgt
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-accttacgaataaagtggactttgatgagtttaatttgttatacgacaacgttgttgatgcttgtgatgt
-aatcgttgtttctgctctccgagttttcgttttactttttttttcatgttttgctatc-aatgaaa-taa
- ||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ||||||| |||
-natcgttgtttctgctctccgagttttcgttttactttttttttcatgttttgctatccaatgaaaataa
-a-ggtataaaactctc-tt-ggtttt
-| ||| |||||||||| || ||||||
-aaggtttaaaactctcctttggtttt
+Sbjct  71   cgcgaangaagggtaccttgtgnangacnnnncttctttnggtgctganatcttcatgcgntancccgac  140
+            |||||| ||||||||||||||| | |||    ||||||| |||||||| |||||||| || || ||||||
+Query  143  cgcgaacgaagggtaccttgtgcaggacacagcttcttttggtgctgagatcttcat-cgttaacccgac  211
+
+Sbjct  141  agaaanacnnnananagtcncattcatatcnnaccctccnaacaatgttttcacttggaagatacttcgt  210
+            ||||| ||   | | |||| ||||||||||  ||||||| ||||||||||||||||||||||||||||||
+Query  212  agaaaaacaagagaaagtcacattcatatcaaaccctccaaacaatgttttcacttggaagatacttcgt  281
+
+Sbjct  211  ttctctaccttggaagataaattctattactctgatgattttctcgttgaagaccgatactggagattag  280
+            |||||||||||||||||||||||||||||||||||||||||||| |||| |||||||||||||||| |||
+Query  282  ttctctaccttggaagataaattctattactctgatgattttctngttggagaccgatactggagactag  351
+
+Sbjct  281  gatttaacccgaaaggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggcca  350
+            |||||||||||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||
+Query  352  gatttaacccgaaaggatctggtggaggaagaccacatgcacttccaatcttcctatatgctcaaggcca  421
+
+Sbjct  351  taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc  420
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  422  taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc  491
+
+Sbjct  421  aaccacaaacaattatattctgcagcttggtacccgattcgaagcgattatggtgtgggagtgaacaata  490
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  492  aaccacaaacaattatattctgcagcttggtacccgattcgaagcgattatggtgtgggagtgaacaata  561
+
+Sbjct  491  taatattgatgtcagagctaaaagatgcatccaaaagggtatatggtgaatgatgccattatctttgaag  560
+            ||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||||||||
+Query  562  taatattgatgtcagagctaaaagatgcatc-aaaagggtatatggtgaatgatgccattatctttgaag  630
+
+Sbjct  561  ctgaaatggttaaggtctctgtgacaaacatagtctccgtttaaatatcactacttctttttcaacaaca  630
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  631  ctgaaatggttaaggtctctgtgacaaacatagtctccgtttaaatatcactacttctttttcaacaaca  700
+
+Sbjct  631  accttacgaataaagtggactttgatgagtttaatttgttatacgacaacgttgttgatgcttgtgatgt  700
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  701  accttacgaataaagtggactttgatgagtttaatttgttatacgacaacgttgttgatgcttgtgatgt  770
+
+Sbjct  701  aatcgttgtttctgctctccgagttttcgttttactttttttttcatgttttgctatc-aatgaaa-taa  768
+             ||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ||||||| |||
+Query  771  natcgttgtttctgctctccgagttttcgttttactttttttttcatgttttgctatccaatgaaaataa  840
+
+Sbjct  769  a-ggtataaaactctc-tt-ggtttt  791
+            | ||| |||||||||| || ||||||
+Query  841  aaggtttaaaactctcctttggtttt  866
+
 # polishing(m=200,d=-800,p=30): 31/64
 581 2 45 F 600 5 11 1010 57 90.35
-aaatatttgactgttacagatggcttagtgaagcgatataacaatgcgaaaaaagaatggggtttcggac
-||||||||| |||||||||||||   |||||||||||| ||| |||| |||||||| ||||| |||  ||
-aaatatttgtctgttacagatggaacagtgaagcgatacaacgatgcaaaaaaagagtggggattcacac
-aattgattcctcgat-caacattctacaacgcgaacgaaggttaccttgaccaggacactggttcttttg
-|||||||| |||  | ||||||||||||||||||||||||| |||||||  |||||||| | ||||||||
-aattgatttctc-ttccaacattctacaacgcgaacgaagggtaccttgtgcaggacacagcttcttttg
-gtgctgagatctttattgttaaaccggctcaacaacaagagaaagttacattcatatcaaaccctccaaa
-||||||||||||| || ||||| ||| |  || ||||||||||||| ||||||||||||||||||||| |
-gtgctgagatcttcatcgttaacccgacagaaaaacaagagaaagtcacattcatatcaaaccctccaga
-caatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactccgatgatttt
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-caatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactccgatgatttt
-ctcgttgaagaccgatactggagactaggatttaacccgaaaggggatggaggaggaagaccacatgcac
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-ctcgttgaagaccgatactggagactaggatttaacccgaaaggggatggaggaggaagaccacatgcac
-ttccaatcttcctatttgctcaaggccataaggcaaatgcagttgctacaaacacttggggagcggttaa
-||||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||
-ttccaatcttcctatttgctcaaggccataaggcaaacgcagttgctacaaacacttggggagcggttaa
-tctgcggttaaagaatcaacgaanttctaaccatagacaa-tatnt-ctgca-cttggtaccc-attgga
-||||||||||||||||||||||| | |||||||||||||| ||| | ||||| |||||||||| ||||||
-tctgcggttaaagaatcaacgaagtactaaccatagacaaatatattctgcagcttggtacccgattgga
-aacg-ttatggtntgggant-aaca-tatc-tactgtt-gctgatt-aa-cga-gcatccaaaggat-tt
-| || ||||||| ||||| | |||| |||| ||||||| ||||||| || ||| ||||| ||||||| ||
-agcggttatggtgtgggagtgaacaatatcatactgttagctgatttaaacgatgcatcaaaaggatatt
-tggtga-tga-gccnt-atctt-gaa-ctgaa-tggttaag
-|||||| ||| ||| | ||||| ||| ||||| ||||||||
-tggtgaatgatgccattatctttgaagctgaaatggttaag
+Sbjct  45   aaatatttgactgttacagatggcttagtgaagcgatataacaatgcgaaaaaagaatggggtttcggac  114
+            ||||||||| |||||||||||||   |||||||||||| ||| |||| |||||||| ||||| |||  ||
+Query  11   aaatatttgtctgttacagatggaacagtgaagcgatacaacgatgcaaaaaaagagtggggattcacac  80
+
+Sbjct  115  aattgattcctcgat-caacattctacaacgcgaacgaaggttaccttgaccaggacactggttcttttg  183
+            |||||||| |||  | ||||||||||||||||||||||||| |||||||  |||||||| | ||||||||
+Query  81   aattgatttctc-ttccaacattctacaacgcgaacgaagggtaccttgtgcaggacacagcttcttttg  149
+
+Sbjct  184  gtgctgagatctttattgttaaaccggctcaacaacaagagaaagttacattcatatcaaaccctccaaa  253
+            ||||||||||||| || ||||| ||| |  || ||||||||||||| ||||||||||||||||||||| |
+Query  150  gtgctgagatcttcatcgttaacccgacagaaaaacaagagaaagtcacattcatatcaaaccctccaga  219
+
+Sbjct  254  caatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactccgatgatttt  323
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  220  caatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactccgatgatttt  289
+
+Sbjct  324  ctcgttgaagaccgatactggagactaggatttaacccgaaaggggatggaggaggaagaccacatgcac  393
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  290  ctcgttgaagaccgatactggagactaggatttaacccgaaaggggatggaggaggaagaccacatgcac  359
+
+Sbjct  394  ttccaatcttcctatttgctcaaggccataaggcaaatgcagttgctacaaacacttggggagcggttaa  463
+            ||||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||
+Query  360  ttccaatcttcctatttgctcaaggccataaggcaaacgcagttgctacaaacacttggggagcggttaa  429
+
+Sbjct  464  tctgcggttaaagaatcaacgaanttctaaccatagacaa-tatnt-ctgca-cttggtaccc-attgga  529
+            ||||||||||||||||||||||| | |||||||||||||| ||| | ||||| |||||||||| ||||||
+Query  430  tctgcggttaaagaatcaacgaagtactaaccatagacaaatatattctgcagcttggtacccgattgga  499
+
+Sbjct  530  aacg-ttatggtntgggant-aaca-tatc-tactgtt-gctgatt-aa-cga-gcatccaaaggat-tt  590
+            | || ||||||| ||||| | |||| |||| ||||||| ||||||| || ||| ||||| ||||||| ||
+Query  500  agcggttatggtgtgggagtgaacaatatcatactgttagctgatttaaacgatgcatcaaaaggatatt  569
+
+Sbjct  591  tggtga-tga-gccnt-atctt-gaa-ctgaa-tggttaag  625
+            |||||| ||| ||| | ||||| ||| ||||| ||||||||
+Query  570  tggtgaatgatgccattatctttgaagctgaaatggttaag  610
+
 # polishing(m=200,d=-800,p=30): 64/64
 547 2 0 F 552 39 0 943 52 90.54
-gtgantgttgatctcaaactctttgtccataatgggaagctacacaaatatttgactgttacagatggct
-|||| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||  
-gtgaatgttgatctcaaactctttgtccataatgggaagctacacaaatatttgactgttacagatggaa
-tagtgaagcgatataacaatgcgaaaaaagaatggggtttcggacaattgattcctcgat-caacattct
- |||||||||||| ||| |||| |||||||| ||||| |||  |||||||||| |||  | |||||||||
-cagtgaagcgatacaacgatgcnaaaaaagagtggggattcacacaattgatttctc-ttccaacattct
-acaacgcgaacgaaggttaccttgaccaggacactggttcttttggtgctgagatctttattgttaaacc
-|||||||||||||||| |||||||  |||||||| | ||||||||||||||||||||| || ||||| ||
-acaacgcgaacgaagggtaccttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaaccc
-ggctcaacaacaagagaaagttacattcatatcaaaccctccaaacaatgttttcacttggaagatactt
-| |  || ||||||||||||| ||||||||||||||||||||||||||||||||||||||||||||||||
-gacagaaaaacaagagaaagtcacattcatatcaaaccctccaaacaatgttttcacttggaagatactt
-cgtttctctaccttggaagataaattctattactccgatgattttctcgttgaagaccgatactggagac
-||||||||||||||||||||||||||||||||||| ||||||||||| |||| |||||||||||||||||
-cgtttctctaccttggaagataaattctattactctgatgattttctngttggagaccgatactggagac
-taggatttaacccgaaaggggatggaggaggaagaccacatgcacttccaatcttcctatttgctcaagg
-|||||||||||||||||||   ||| |||||||||||||||||||||||||||||||||| |||||||||
-taggatttaacccgaaaggatctggtggaggaagaccacatgcacttccaatcttcctatatgctcaagg
-ccataaggcaaatgcagttgctacaaacacttggggagcggttaatctgcggttaaagaatcaacgaant
-|||||||||||| ||||||| |||||||||||||||||||||||||||||||||||||||||||||||  
-ccataaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagc
-tctaaccatagacaat-atnt-ctgca-cttggtaccc-attggaaacg-ttatggtntggga
-|| ||||| | ||||| || | ||||| |||||||||| ||| ||| || ||||||| |||||
-tccaaccacaaacaattatattctgcagcttggtacccgattcgaagcgattatggtgtggga
+Sbjct  0    gtgantgttgatctcaaactctttgtccataatgggaagctacacaaatatttgactgttacagatggct  69
+            |||| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||  
+Query  0    gtgaatgttgatctcaaactctttgtccataatgggaagctacacaaatatttgactgttacagatggaa  69
+
+Sbjct  70   tagtgaagcgatataacaatgcgaaaaaagaatggggtttcggacaattgattcctcgat-caacattct  138
+             |||||||||||| ||| |||| |||||||| ||||| |||  |||||||||| |||  | |||||||||
+Query  70   cagtgaagcgatacaacgatgcnaaaaaagagtggggattcacacaattgatttctc-ttccaacattct  138
+
+Sbjct  139  acaacgcgaacgaaggttaccttgaccaggacactggttcttttggtgctgagatctttattgttaaacc  208
+            |||||||||||||||| |||||||  |||||||| | ||||||||||||||||||||| || ||||| ||
+Query  139  acaacgcgaacgaagggtaccttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaaccc  208
+
+Sbjct  209  ggctcaacaacaagagaaagttacattcatatcaaaccctccaaacaatgttttcacttggaagatactt  278
+            | |  || ||||||||||||| ||||||||||||||||||||||||||||||||||||||||||||||||
+Query  209  gacagaaaaacaagagaaagtcacattcatatcaaaccctccaaacaatgttttcacttggaagatactt  278
+
+Sbjct  279  cgtttctctaccttggaagataaattctattactccgatgattttctcgttgaagaccgatactggagac  348
+            ||||||||||||||||||||||||||||||||||| ||||||||||| |||| |||||||||||||||||
+Query  279  cgtttctctaccttggaagataaattctattactctgatgattttctngttggagaccgatactggagac  348
+
+Sbjct  349  taggatttaacccgaaaggggatggaggaggaagaccacatgcacttccaatcttcctatttgctcaagg  418
+            |||||||||||||||||||   ||| |||||||||||||||||||||||||||||||||| |||||||||
+Query  349  taggatttaacccgaaaggatctggtggaggaagaccacatgcacttccaatcttcctatatgctcaagg  418
+
+Sbjct  419  ccataaggcaaatgcagttgctacaaacacttggggagcggttaatctgcggttaaagaatcaacgaant  488
+            |||||||||||| ||||||| |||||||||||||||||||||||||||||||||||||||||||||||  
+Query  419  ccataaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagc  488
+
+Sbjct  489  tctaaccatagacaat-atnt-ctgca-cttggtaccc-attggaaacg-ttatggtntggga  546
+            || ||||| | ||||| || | ||||| |||||||||| ||| ||| || ||||||| |||||
+Query  489  tccaaccacaaacaattatattctgcagcttggtacccgattcgaagcgattatggtgtggga  551
+
 # polishing(m=200,d=-800,p=30): 64/63
 680 16 84 F 680 39 0 1168 64 90.59
-gtgaatgttgatctcaaactctttgtccataatgggaagctacacaaatatttgactgttacagatggct
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||  
-gtgaatgttgatctcaaactctttgtccataatgggaagctacacaaatatttgactgttacagatggaa
-tagtgaagcgatataacaatgcgaaaaaagaatggggtttcggacaattgattcctcgat-caacattct
- |||||||||||| ||| |||| |||||||| ||||| |||  |||||||||| |||  | |||||||||
-cagtgaagcgatacaacgatgcnaaaaaagagtggggattcacacaattgatttctc-ttccaacattct
-acaacgcgaacgaaggttaccttgaccaggacactggttcttttggtgctgagatctttattgttaaacc
-|||||||||||||||| |||||||  |||||||| | ||||||||||||||||||||| || ||||| ||
-acaacgcgaacgaagggtaccttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaaccc
-ggctcaacaacaagagaaagttacattcatatcaaaccctccaaacaatgttttcacttggaagatactt
-| |  || ||||||||||||| ||||||||||||||||||||||||||||||||||||||||||||||||
-gacagaaaaacaagagaaagtcacattcatatcaaaccctccaaacaatgttttcacttggaagatactt
-cgtttctctaccttggaagataaattctattactccgatgatnttctcgttgaagaccgatactggagac
-||||||||||||||||||||||||||||||||||| |||||| |||| |||| |||||||||||||||||
-cgtttctctaccttggaagataaattctattactctgatgattttctngttggagaccgatactggagac
-taggatttaacccgaaaggggatggaggaggaagaccacatgcacttccaatcttcctatttgctcaagg
-|||||||||||||||||||   ||| |||||||||||||||||||||||||||||||||| |||||||||
-taggatttaacccgaaaggatctggtggaggaagaccacatgcacttccaatcttcctatatgctcaagg
-ccataaggcaaatgcagttgctacaaacacttggggagcggttaatctgcggttaaagaatcaacgaag-
-|||||||||||| ||||||| |||||||||||||||||||||||||||||||||||||||||||||||| 
-ccataaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagc
-tactaaccatagacaaatatattctgcagcttggtacccgattggaaacggttatggtgtgggagtgaac
-| | ||||| | |||| |||||||||||||||||||||||||| ||| || |||||||||||||||||||
-tcc-aaccacaaacaattatattctgcagcttggtacccgattcgaagcgattatggtgtgggagtgaac
-aatatcatactgttag-ctgatttaaacgatgcatccaaaggatatttggtgaatgatgccattatcttt
-||||| ||| || | | | ||  |||| |||||||| ||||| ||| |||||||||||||||||||||||
-aatataatattgat-gtcagagctaaaagatgcatcaaaagggtatatggtgaatgatgccattatcttt
-gaagctgaaatggttaaggtctctataaccaacatcgtctccgcttaaatatc
-|||||||||||||||||||||||| | || ||||| ||||||| |||||||||
-gaagctgaaatggttaaggtctctgtgacaaacatagtctccgtttaaatatc
+Sbjct  84   gtgaatgttgatctcaaactctttgtccataatgggaagctacacaaatatttgactgttacagatggct  153
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||  
+Query  0    gtgaatgttgatctcaaactctttgtccataatgggaagctacacaaatatttgactgttacagatggaa  69
+
+Sbjct  154  tagtgaagcgatataacaatgcgaaaaaagaatggggtttcggacaattgattcctcgat-caacattct  222
+             |||||||||||| ||| |||| |||||||| ||||| |||  |||||||||| |||  | |||||||||
+Query  70   cagtgaagcgatacaacgatgcnaaaaaagagtggggattcacacaattgatttctc-ttccaacattct  138
+
+Sbjct  223  acaacgcgaacgaaggttaccttgaccaggacactggttcttttggtgctgagatctttattgttaaacc  292
+            |||||||||||||||| |||||||  |||||||| | ||||||||||||||||||||| || ||||| ||
+Query  139  acaacgcgaacgaagggtaccttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaaccc  208
+
+Sbjct  293  ggctcaacaacaagagaaagttacattcatatcaaaccctccaaacaatgttttcacttggaagatactt  362
+            | |  || ||||||||||||| ||||||||||||||||||||||||||||||||||||||||||||||||
+Query  209  gacagaaaaacaagagaaagtcacattcatatcaaaccctccaaacaatgttttcacttggaagatactt  278
+
+Sbjct  363  cgtttctctaccttggaagataaattctattactccgatgatnttctcgttgaagaccgatactggagac  432
+            ||||||||||||||||||||||||||||||||||| |||||| |||| |||| |||||||||||||||||
+Query  279  cgtttctctaccttggaagataaattctattactctgatgattttctngttggagaccgatactggagac  348
+
+Sbjct  433  taggatttaacccgaaaggggatggaggaggaagaccacatgcacttccaatcttcctatttgctcaagg  502
+            |||||||||||||||||||   ||| |||||||||||||||||||||||||||||||||| |||||||||
+Query  349  taggatttaacccgaaaggatctggtggaggaagaccacatgcacttccaatcttcctatatgctcaagg  418
+
+Sbjct  503  ccataaggcaaatgcagttgctacaaacacttggggagcggttaatctgcggttaaagaatcaacgaag-  572
+            |||||||||||| ||||||| |||||||||||||||||||||||||||||||||||||||||||||||| 
+Query  419  ccataaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagc  488
+
+Sbjct  573  tactaaccatagacaaatatattctgcagcttggtacccgattggaaacggttatggtgtgggagtgaac  641
+            | | ||||| | |||| |||||||||||||||||||||||||| ||| || |||||||||||||||||||
+Query  489  tcc-aaccacaaacaattatattctgcagcttggtacccgattcgaagcgattatggtgtgggagtgaac  557
+
+Sbjct  642  aatatcatactgttag-ctgatttaaacgatgcatccaaaggatatttggtgaatgatgccattatcttt  710
+            ||||| ||| || | | | ||  |||| |||||||| ||||| ||| |||||||||||||||||||||||
+Query  558  aatataatattgat-gtcagagctaaaagatgcatcaaaagggtatatggtgaatgatgccattatcttt  626
+
+Sbjct  711  gaagctgaaatggttaaggtctctataaccaacatcgtctccgcttaaatatc  763
+            |||||||||||||||||||||||| | || ||||| ||||||| |||||||||
+Query  627  gaagctgaaatggttaaggtctctgtgacaaacatagtctccgtttaaatatc  679
+
 # polishing(m=200,d=-800,p=30): 64/64
 721 6 71 F 724 39 143 1343 34 95.29
-cgcgaangaagggtaccttgtgnangacnnnncttctttnggtgctganatcttcatgcgntancccgac
-|||||| ||||||||||||||| | |||    ||||||| |||||||| |||||||| || || ||||||
-cgcgaacgaagggtaccttgtgcaggacacagcttcttttggtgctgagatcttcat-cgttaacccgac
-agaaanacnnnananagtcncattcatatcnnaccctccnaacaatgttttcacttggaagatacttcgt
-||||| ||   | | |||| ||||||||||  ||||||| ||||||||||||||||||||||||||||||
-agaaaaacaagagaaagtcacattcatatcaaaccctccaaacaatgttttcacttggaagatacttcgt
-ttctctaccttggaagataaattctattactctgatgattttctcgttgaagaccgatactggagattag
-|||||||||||||||||||||||||||||||||||||||||||| |||| |||||||||||||||| |||
-ttctctaccttggaagataaattctattactctgatgattttctngttggagaccgatactggagactag
-gatttaacccgaaaggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggcca
-|||||||||||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||
-gatttaacccgaaaggatctggtggaggaagaccacatgcacttccaatcttcctatatgctcaaggcca
-taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc
-aaccacaaacaattatattctgcagcttggtacccgattcgaagcgattatggtgtgggagtgaacaata
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-aaccacaaacaattatattctgcagcttggtacccgattcgaagcgattatggtgtgggagtgaacaata
-taatattgatgtcagagctaaaagatgcatccaaaagggtatatggtgaatgatgccattatctttgaag
-||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||||||||
-taatattgatgtcagagctaaaagatgcatc-aaaagggtatatggtgaatgatgccattatctttgaag
-ctgaaatggttaaggtctctgtgacaaacatagtctccgtttaaatatcactacttctttttcaacaaca
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-ctgaaatggttaaggtctctgtgacaaacatagtctccgtttaaatatcactacttctttttcaacaaca
-accttacgaataaagtggactttgatgagtttaatttgttatacgacaacgttgttgatgcttgtgatgt
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-accttacgaataaagtggactttgatgagtttaatttgttatacgacaacgttgttgatgcttgtgatgt
-aatcgttgtttctgctctccgagttttcgttttactttttttttcatgttttgctatc-aatgaaa-taa
- ||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ||||||| |||
-natcgttgtttctgctctccgagttttcgttttactttttttttcatgttttgctatccaatgaaaataa
-a-ggtataaaactctc-tt-ggtttt
-| ||| |||||||||| || ||||||
-aaggtttaaaactctcctttggtttt
+Sbjct  71   cgcgaangaagggtaccttgtgnangacnnnncttctttnggtgctganatcttcatgcgntancccgac  140
+            |||||| ||||||||||||||| | |||    ||||||| |||||||| |||||||| || || ||||||
+Query  143  cgcgaacgaagggtaccttgtgcaggacacagcttcttttggtgctgagatcttcat-cgttaacccgac  211
+
+Sbjct  141  agaaanacnnnananagtcncattcatatcnnaccctccnaacaatgttttcacttggaagatacttcgt  210
+            ||||| ||   | | |||| ||||||||||  ||||||| ||||||||||||||||||||||||||||||
+Query  212  agaaaaacaagagaaagtcacattcatatcaaaccctccaaacaatgttttcacttggaagatacttcgt  281
+
+Sbjct  211  ttctctaccttggaagataaattctattactctgatgattttctcgttgaagaccgatactggagattag  280
+            |||||||||||||||||||||||||||||||||||||||||||| |||| |||||||||||||||| |||
+Query  282  ttctctaccttggaagataaattctattactctgatgattttctngttggagaccgatactggagactag  351
+
+Sbjct  281  gatttaacccgaaaggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggcca  350
+            |||||||||||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||
+Query  352  gatttaacccgaaaggatctggtggaggaagaccacatgcacttccaatcttcctatatgctcaaggcca  421
+
+Sbjct  351  taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc  420
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  422  taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc  491
+
+Sbjct  421  aaccacaaacaattatattctgcagcttggtacccgattcgaagcgattatggtgtgggagtgaacaata  490
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  492  aaccacaaacaattatattctgcagcttggtacccgattcgaagcgattatggtgtgggagtgaacaata  561
+
+Sbjct  491  taatattgatgtcagagctaaaagatgcatccaaaagggtatatggtgaatgatgccattatctttgaag  560
+            ||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||||||||
+Query  562  taatattgatgtcagagctaaaagatgcatc-aaaagggtatatggtgaatgatgccattatctttgaag  630
+
+Sbjct  561  ctgaaatggttaaggtctctgtgacaaacatagtctccgtttaaatatcactacttctttttcaacaaca  630
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  631  ctgaaatggttaaggtctctgtgacaaacatagtctccgtttaaatatcactacttctttttcaacaaca  700
+
+Sbjct  631  accttacgaataaagtggactttgatgagtttaatttgttatacgacaacgttgttgatgcttgtgatgt  700
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  701  accttacgaataaagtggactttgatgagtttaatttgttatacgacaacgttgttgatgcttgtgatgt  770
+
+Sbjct  701  aatcgttgtttctgctctccgagttttcgttttactttttttttcatgttttgctatc-aatgaaa-taa  768
+             ||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ||||||| |||
+Query  771  natcgttgtttctgctctccgagttttcgttttactttttttttcatgttttgctatccaatgaaaataa  840
+
+Sbjct  769  a-ggtataaaactctc-tt-ggtttt  791
+            | ||| |||||||||| || ||||||
+Query  841  aaggtttaaaactctcctttggtttt  866
+
 # polishing(m=200,d=-800,p=30): 31/64
 610 3 0 F 607 39 72 1163 18 97.04
-gtgaagcgatacaacgatgcaaaaaaagagtggggattcacacaattgatttctcttccaacattctaca
-|||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||||||||||
-gtgaagcgatacaacgatgcnaaaaaagagtggggattcacacaattgatttctcttccaacattctaca
-acgcgaacgaagggtacnttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgac
-||||||||||||||||| ||||||||||||||||||||||||||||||||||||||||||||||||||||
-acgcgaacgaagggtaccttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgac
-agaaaaacaagagaaagtcacattcatatcaaaccctccgaacaatgttttcacttggaagatacttcgt
-||||||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||
-agaaaaacaagagaaagtcacattcatatcaaaccctccaaacaatgttttcacttggaagatacttcgt
-ttctctaccttggaagataaattctattactctgatgattttctcgttgaagaccgatactggagattag
-|||||||||||||||||||||||||||||||||||||||||||| |||| |||||||||||||||| |||
-ttctctaccttggaagataaattctattactctgatgattttctngttggagaccgatactggagactag
-gatttaacccgaaaggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggcca
-|||||||||||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||
-gatttaacccgaaaggatctggtggaggaagaccacatgcacttccaatcttcctatatgctcaaggcca
-taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc
-aaccacaaacaattatattctgcagcttggtaccccgattcgaagcgattatggtgtgggagtgaacaat
-||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||||
-aaccacaaacaattatattctgcagcttggtaccc-gattcgaagcgattatggtgtgggagtgaacaat
-atcatattgatgtcagaagctaaaagatgcatcnaaagggtatatggtgaatgatgccattatcttttga
-|| |||||||||||||| ||||||||||||||| ||||||||||||||||||||||||||||||||| ||
-ataatattgatgtcaga-gctaaaagatgcatcaaaagggtatatggtgaatgatgccattatcttt-ga
-aactgaaatggttaaggtctctgtgaacaa-catantctccncttaaatat
-| |||||||||||||||||||||||| ||| |||| |||||  ||||||||
-agctgaaatggttaaggtctctgtga-caaacatagtctccgtttaaatat
+Sbjct  0    gtgaagcgatacaacgatgcaaaaaaagagtggggattcacacaattgatttctcttccaacattctaca  69
+            |||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||||||||||
+Query  72   gtgaagcgatacaacgatgcnaaaaaagagtggggattcacacaattgatttctcttccaacattctaca  141
+
+Sbjct  70   acgcgaacgaagggtacnttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgac  139
+            ||||||||||||||||| ||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  142  acgcgaacgaagggtaccttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgac  211
+
+Sbjct  140  agaaaaacaagagaaagtcacattcatatcaaaccctccgaacaatgttttcacttggaagatacttcgt  209
+            ||||||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||
+Query  212  agaaaaacaagagaaagtcacattcatatcaaaccctccaaacaatgttttcacttggaagatacttcgt  281
+
+Sbjct  210  ttctctaccttggaagataaattctattactctgatgattttctcgttgaagaccgatactggagattag  279
+            |||||||||||||||||||||||||||||||||||||||||||| |||| |||||||||||||||| |||
+Query  282  ttctctaccttggaagataaattctattactctgatgattttctngttggagaccgatactggagactag  351
+
+Sbjct  280  gatttaacccgaaaggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggcca  349
+            |||||||||||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||
+Query  352  gatttaacccgaaaggatctggtggaggaagaccacatgcacttccaatcttcctatatgctcaaggcca  421
+
+Sbjct  350  taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc  419
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  422  taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc  491
+
+Sbjct  420  aaccacaaacaattatattctgcagcttggtaccccgattcgaagcgattatggtgtgggagtgaacaat  489
+            ||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||||
+Query  492  aaccacaaacaattatattctgcagcttggtaccc-gattcgaagcgattatggtgtgggagtgaacaat  560
+
+Sbjct  490  atcatattgatgtcagaagctaaaagatgcatcnaaagggtatatggtgaatgatgccattatcttttga  559
+            || |||||||||||||| ||||||||||||||| ||||||||||||||||||||||||||||||||| ||
+Query  561  ataatattgatgtcaga-gctaaaagatgcatcaaaagggtatatggtgaatgatgccattatcttt-ga  628
+
+Sbjct  560  aactgaaatggttaaggtctctgtgaacaa-catantctccncttaaatat  609
+            | |||||||||||||||||||||||| ||| |||| |||||  ||||||||
+Query  629  agctgaaatggttaaggtctctgtga-caaacatagtctccgtttaaatat  678
+
 # polishing(m=200,d=-800,p=30): 64/64
 721 6 71 F 724 39 143 1343 34 95.29
-cgcgaangaagggtaccttgtgnangacnnnncttctttnggtgctganatcttcatgcgntancccgac
-|||||| ||||||||||||||| | |||    ||||||| |||||||| |||||||| || || ||||||
-cgcgaacgaagggtaccttgtgcaggacacagcttcttttggtgctgagatcttcat-cgttaacccgac
-agaaanacnnnananagtcncattcatatcnnaccctccnaacaatgttttcacttggaagatacttcgt
-||||| ||   | | |||| ||||||||||  ||||||| ||||||||||||||||||||||||||||||
-agaaaaacaagagaaagtcacattcatatcaaaccctccaaacaatgttttcacttggaagatacttcgt
-ttctctaccttggaagataaattctattactctgatgattttctcgttgaagaccgatactggagattag
-|||||||||||||||||||||||||||||||||||||||||||| |||| |||||||||||||||| |||
-ttctctaccttggaagataaattctattactctgatgattttctngttggagaccgatactggagactag
-gatttaacccgaaaggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggcca
-|||||||||||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||
-gatttaacccgaaaggatctggtggaggaagaccacatgcacttccaatcttcctatatgctcaaggcca
-taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc
-aaccacaaacaattatattctgcagcttggtacccgattcgaagcgattatggtgtgggagtgaacaata
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-aaccacaaacaattatattctgcagcttggtacccgattcgaagcgattatggtgtgggagtgaacaata
-taatattgatgtcagagctaaaagatgcatccaaaagggtatatggtgaatgatgccattatctttgaag
-|||||||||||||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||
-taatattgatgtcagagctaaaagatgcat-caaaagggtatatggtgaatgatgccattatctttgaag
-ctgaaatggttaaggtctctgtgacaaacatagtctccgtttaaatatcactacttctttttcaacaaca
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-ctgaaatggttaaggtctctgtgacaaacatagtctccgtttaaatatcactacttctttttcaacaaca
-accttacgaataaagtggactttgatgagtttaatttgttatacgacaacgttgttgatgcttgtgatgt
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-accttacgaataaagtggactttgatgagtttaatttgttatacgacaacgttgttgatgcttgtgatgt
-aatcgttgtttctgctctccgagttttcgttttactttttttttcatgttttgctatc-aatgaaa-taa
- ||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ||||||| |||
-natcgttgtttctgctctccgagttttcgttttactttttttttcatgttttgctatccaatgaaaataa
-a-ggtataaaactctc-tt-ggtttt
-| ||| |||||||||| || ||||||
-aaggtttaaaactctcctttggtttt
+Sbjct  71   cgcgaangaagggtaccttgtgnangacnnnncttctttnggtgctganatcttcatgcgntancccgac  140
+            |||||| ||||||||||||||| | |||    ||||||| |||||||| |||||||| || || ||||||
+Query  143  cgcgaacgaagggtaccttgtgcaggacacagcttcttttggtgctgagatcttcat-cgttaacccgac  211
+
+Sbjct  141  agaaanacnnnananagtcncattcatatcnnaccctccnaacaatgttttcacttggaagatacttcgt  210
+            ||||| ||   | | |||| ||||||||||  ||||||| ||||||||||||||||||||||||||||||
+Query  212  agaaaaacaagagaaagtcacattcatatcaaaccctccaaacaatgttttcacttggaagatacttcgt  281
+
+Sbjct  211  ttctctaccttggaagataaattctattactctgatgattttctcgttgaagaccgatactggagattag  280
+            |||||||||||||||||||||||||||||||||||||||||||| |||| |||||||||||||||| |||
+Query  282  ttctctaccttggaagataaattctattactctgatgattttctngttggagaccgatactggagactag  351
+
+Sbjct  281  gatttaacccgaaaggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggcca  350
+            |||||||||||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||
+Query  352  gatttaacccgaaaggatctggtggaggaagaccacatgcacttccaatcttcctatatgctcaaggcca  421
+
+Sbjct  351  taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc  420
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  422  taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc  491
+
+Sbjct  421  aaccacaaacaattatattctgcagcttggtacccgattcgaagcgattatggtgtgggagtgaacaata  490
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  492  aaccacaaacaattatattctgcagcttggtacccgattcgaagcgattatggtgtgggagtgaacaata  561
+
+Sbjct  491  taatattgatgtcagagctaaaagatgcatccaaaagggtatatggtgaatgatgccattatctttgaag  560
+            |||||||||||||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||
+Query  562  taatattgatgtcagagctaaaagatgcat-caaaagggtatatggtgaatgatgccattatctttgaag  630
+
+Sbjct  561  ctgaaatggttaaggtctctgtgacaaacatagtctccgtttaaatatcactacttctttttcaacaaca  630
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  631  ctgaaatggttaaggtctctgtgacaaacatagtctccgtttaaatatcactacttctttttcaacaaca  700
+
+Sbjct  631  accttacgaataaagtggactttgatgagtttaatttgttatacgacaacgttgttgatgcttgtgatgt  700
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  701  accttacgaataaagtggactttgatgagtttaatttgttatacgacaacgttgttgatgcttgtgatgt  770
+
+Sbjct  701  aatcgttgtttctgctctccgagttttcgttttactttttttttcatgttttgctatc-aatgaaa-taa  768
+             ||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ||||||| |||
+Query  771  natcgttgtttctgctctccgagttttcgttttactttttttttcatgttttgctatccaatgaaaataa  840
+
+Sbjct  769  a-ggtataaaactctc-tt-ggtttt  791
+            | ||| |||||||||| || ||||||
+Query  841  aaggtttaaaactctcctttggtttt  866
+
 # polishing(m=200,d=-800,p=30): 31/64
 517 64 0 F 517 65 0 1034 0 100.00
-cacgaaagtcttacgcgtctccttgaagatgcgaaatctattattgagaaatattggaaactcagatgga
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-cacgaaagtcttacgcgtctccttgaagatgcgaaatctattattgagaaatattggaaactcagatgga
-gcagacacgtttgcaggaagtacaggtacatcaaaaaactcgaatcgatagaacttgaattagtaagggt
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-gcagacacgtttgcaggaagtacaggtacatcaaaaaactcgaatcgatagaacttgaattagtaagggt
-agcacgtgagatacaagtccaccaatggaccgatatcaaagaaatgaaggcgatacaagtccaccaatgg
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-agcacgtgagatacaagtccaccaatggaccgatatcaaagaaatgaaggcgatacaagtccaccaatgg
-accgatatcaaagaaatgaaggcgatacaagtcgaccaatggaccgatatcaaagaaatgaaggcgatac
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-accgatatcaaagaaatgaaggcgatacaagtcgaccaatggaccgatatcaaagaaatgaaggcgatac
-aagtcgaccaatggatcgatatcaaagaaatgaaggcgatacaagtcgaccaatggaccgatatcaaaga
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-aagtcgaccaatggatcgatatcaaagaaatgaaggcgatacaagtcgaccaatggaccgatatcaaaga
-aatgaaggccagatatctgaaaagcataataaatgaatcaatatctaaaatctggtgtttttctctcttt
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-aatgaaggccagatatctgaaaagcataataaatgaatcaatatctaaaatctggtgtttttctctcttt
-cttcttccccacaatgattgaaaaactcttcttgttatgaataaagatggatgcccatttataagggcca
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-cttcttccccacaatgattgaaaaactcttcttgttatgaataaagatggatgcccatttataagggcca
-tcatctaagcccatcatctagattttt
-|||||||||||||||||||||||||||
-tcatctaagcccatcatctagattttt
+Sbjct  0    cacgaaagtcttacgcgtctccttgaagatgcgaaatctattattgagaaatattggaaactcagatgga  69
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  0    cacgaaagtcttacgcgtctccttgaagatgcgaaatctattattgagaaatattggaaactcagatgga  69
+
+Sbjct  70   gcagacacgtttgcaggaagtacaggtacatcaaaaaactcgaatcgatagaacttgaattagtaagggt  139
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  70   gcagacacgtttgcaggaagtacaggtacatcaaaaaactcgaatcgatagaacttgaattagtaagggt  139
+
+Sbjct  140  agcacgtgagatacaagtccaccaatggaccgatatcaaagaaatgaaggcgatacaagtccaccaatgg  209
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  140  agcacgtgagatacaagtccaccaatggaccgatatcaaagaaatgaaggcgatacaagtccaccaatgg  209
+
+Sbjct  210  accgatatcaaagaaatgaaggcgatacaagtcgaccaatggaccgatatcaaagaaatgaaggcgatac  279
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  210  accgatatcaaagaaatgaaggcgatacaagtcgaccaatggaccgatatcaaagaaatgaaggcgatac  279
+
+Sbjct  280  aagtcgaccaatggatcgatatcaaagaaatgaaggcgatacaagtcgaccaatggaccgatatcaaaga  349
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  280  aagtcgaccaatggatcgatatcaaagaaatgaaggcgatacaagtcgaccaatggaccgatatcaaaga  349
+
+Sbjct  350  aatgaaggccagatatctgaaaagcataataaatgaatcaatatctaaaatctggtgtttttctctcttt  419
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  350  aatgaaggccagatatctgaaaagcataataaatgaatcaatatctaaaatctggtgtttttctctcttt  419
+
+Sbjct  420  cttcttccccacaatgattgaaaaactcttcttgttatgaataaagatggatgcccatttataagggcca  489
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  420  cttcttccccacaatgattgaaaaactcttcttgttatgaataaagatggatgcccatttataagggcca  489
+
+Sbjct  490  tcatctaagcccatcatctagattttt  516
+            |||||||||||||||||||||||||||
+Query  490  tcatctaagcccatcatctagattttt  516
+
 537 474 3 F 520 658 82 973 28 94.70
-aggttgcccccaatcggaagagaagttgngcnctttcttcctccctgccnttagtgccgttgaattggct
-|||||| |||| |||||||||||| |||  | | |||||||| |||  | |||||| || || |||||||
-aggttg-cccc-atcggaagagaanttgaactc-ttcttcct-cctnnc-ttagtgacg-tg-attggct
-aaggaagttg-cttccttctccgcaacaagtggatcccttgtgttgaattcgagttggagcaccggattn
-||||||| || | ||||||||||| || ||||||| || ||||||| ||||||||||||||| |||||| 
-aaggaag-tgac-tccttctccgc-ac-agtggattcc-tgtgttg-attcgagttggagca-cggattt
-gtgtaccgtgagcacggaaccactcccggatactatgatggacggtactggacaatgtggaagcttccat
-||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||| |||||||||
-gtgtaccgtgagcacggaa-cactcccggatactatgatggacggtactggacaatgtgg-agcttccat
-tggttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtaccctggcg
-| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| |||||||
-t-gttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagta-cctggcg
-ccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagcc
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-ccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagcc
-cccaagcttcaccgaagcttaatcccctttctggaatattcagcgttgattattctggaacccatttcta
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-cccaagcttcaccgaagcttaatcccctttctggaatattcagcgttgattattctggaacccatttcta
-tgtggtcaatgcaaatttaagaaattatttgccgacttaaaagttgaggaactattgtttgaaagtgaaa
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-tgtggtcaatgcaaatttaagaaattatttgccgacttaaaagttgaggaactattgtttgaaagtgaaa
-atgttattcctatcagtttctctataattatagttatcatttcatttc
-||||||||||||||||||||||||||||||||||||||||||||||||
-atgttattcctatcagtttctctataattatagttatcatttcatttc
+Sbjct  3    aggttgcccccaatcggaagagaagttgngcnctttcttcctccctgccnttagtgccgttgaattggct  72
+            |||||| |||| |||||||||||| |||  | | |||||||| |||  | |||||| || || |||||||
+Query  82   aggttg-cccc-atcggaagagaanttgaactc-ttcttcct-cctnnc-ttagtgacg-tg-attggct  144
+
+Sbjct  73   aaggaagttg-cttccttctccgcaacaagtggatcccttgtgttgaattcgagttggagcaccggattn  141
+            ||||||| || | ||||||||||| || ||||||| || ||||||| ||||||||||||||| |||||| 
+Query  145  aaggaag-tgac-tccttctccgc-ac-agtggattcc-tgtgttg-attcgagttggagca-cggattt  207
+
+Sbjct  142  gtgtaccgtgagcacggaaccactcccggatactatgatggacggtactggacaatgtggaagcttccat  211
+            ||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||| |||||||||
+Query  208  gtgtaccgtgagcacggaa-cactcccggatactatgatggacggtactggacaatgtgg-agcttccat  275
+
+Sbjct  212  tggttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtaccctggcg  281
+            | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| |||||||
+Query  276  t-gttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagta-cctggcg  343
+
+Sbjct  282  ccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagcc  351
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  344  ccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagcc  413
+
+Sbjct  352  cccaagcttcaccgaagcttaatcccctttctggaatattcagcgttgattattctggaacccatttcta  421
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  414  cccaagcttcaccgaagcttaatcccctttctggaatattcagcgttgattattctggaacccatttcta  483
+
+Sbjct  422  tgtggtcaatgcaaatttaagaaattatttgccgacttaaaagttgaggaactattgtttgaaagtgaaa  491
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  484  tgtggtcaatgcaaatttaagaaattatttgccgacttaaaagttgaggaactattgtttgaaagtgaaa  553
+
+Sbjct  492  atgttattcctatcagtttctctataattatagttatcatttcatttc  539
+            ||||||||||||||||||||||||||||||||||||||||||||||||
+Query  554  atgttattcctatcagtttctctataattatagttatcatttcatttc  601
+
 # polishing(m=200,d=-800,p=30): 33/64, seed_on_end
 728 5 11 F 732 16 129 1307 51 93.01
-aaatatttgtctgttacagatggaacagtgaagcgatacaacgatgcaaaaaaagagtggggattcacac
-||||||||| |||||||||||||   |||||||||||| ||| |||| |||||||| ||||| |||  ||
-aaatatttgactgttacagatggcttagtgaagcgatataacaatgcgaaaaaagaatggggtttcggac
-aattgatttctc-ttccaacattctacaacgcgaacgaagggtaccttgtgcaggacacagcttcttttg
-|||||||| |||  | ||||||||||||||||||||||||| |||||||  |||||||| | ||||||||
-aattgattcctcgat-caacattctacaacgcgaacgaaggttaccttgaccaggacactggttcttttg
-gtgctgagatcttcatcgttaacccgacagaaaaacaagagaaagtcacattcatatcaaaccctccaga
-||||||||||||| || ||||| ||| |  || ||||||||||||| ||||||||||||||||||||| |
-gtgctgagatctttattgttaaaccggctcaacaacaagagaaagttacattcatatcaaaccctccaaa
-caatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactccgatgatttt
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ||
-caatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactccgatgatntt
-ctcgttgaagaccgatactggagactaggatttaacccgaaaggggatggaggaggaagaccacatgcac
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-ctcgttgaagaccgatactggagactaggatttaacccgaaaggggatggaggaggaagaccacatgcac
-ttccaatcttcctatttgctcaaggccataaggcaaacgcagttgctacaaacacttggggagcggttaa
-||||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||
-ttccaatcttcctatttgctcaaggccataaggcaaatgcagttgctacaaacacttggggagcggttaa
-tctgcggttaaagaatcaacgaagtactaaccatagacaaatatattctgcagcttggtacccgattgga
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-tctgcggttaaagaatcaacgaagtactaaccatagacaaatatattctgcagcttggtacccgattgga
-agcggttatggtgtgggagtgaacaatatcatactgttagctgatttaaacgatgcatcaaaaggatatt
-| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ||||||||||
-aacggttatggtgtgggagtgaacaatatcatactgttagctgatttaaacgatgcatccaaaggatatt
-tggtgaatgatgccattatctttgaagctgaaatggttaaggtctctataaccaacatcgtctccgctta
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-tggtgaatgatgccattatctttgaagctgaaatggttaaggtctctataaccaacatcgtctccgctta
-aatatctgcacttctttgtctacgatcaatcaaccttatgaataaagagatatttgat--ga-g--tttg
-||||||||| ||||||||||||| | ||||| |||||||||||||| | || ||| ||  || |  ||||
-aatatctgcncttctttgtctacnancaatccaccttatgaataaaaaaat-tttaatttgatgaatttg
-taataagaaaacgttaatgtttgtgaattgtgaa
-| |||| ||||| ||||||||||| || ||||||
-ttataanaaaactttaatgtttgttaaatgtgaa
+Sbjct  11   aaatatttgtctgttacagatggaacagtgaagcgatacaacgatgcaaaaaaagagtggggattcacac  80
+            ||||||||| |||||||||||||   |||||||||||| ||| |||| |||||||| ||||| |||  ||
+Query  129  aaatatttgactgttacagatggcttagtgaagcgatataacaatgcgaaaaaagaatggggtttcggac  198
+
+Sbjct  81   aattgatttctc-ttccaacattctacaacgcgaacgaagggtaccttgtgcaggacacagcttcttttg  149
+            |||||||| |||  | ||||||||||||||||||||||||| |||||||  |||||||| | ||||||||
+Query  199  aattgattcctcgat-caacattctacaacgcgaacgaaggttaccttgaccaggacactggttcttttg  267
+
+Sbjct  150  gtgctgagatcttcatcgttaacccgacagaaaaacaagagaaagtcacattcatatcaaaccctccaga  219
+            ||||||||||||| || ||||| ||| |  || ||||||||||||| ||||||||||||||||||||| |
+Query  268  gtgctgagatctttattgttaaaccggctcaacaacaagagaaagttacattcatatcaaaccctccaaa  337
+
+Sbjct  220  caatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactccgatgatttt  289
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ||
+Query  338  caatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactccgatgatntt  407
+
+Sbjct  290  ctcgttgaagaccgatactggagactaggatttaacccgaaaggggatggaggaggaagaccacatgcac  359
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  408  ctcgttgaagaccgatactggagactaggatttaacccgaaaggggatggaggaggaagaccacatgcac  477
+
+Sbjct  360  ttccaatcttcctatttgctcaaggccataaggcaaacgcagttgctacaaacacttggggagcggttaa  429
+            ||||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||
+Query  478  ttccaatcttcctatttgctcaaggccataaggcaaatgcagttgctacaaacacttggggagcggttaa  547
+
+Sbjct  430  tctgcggttaaagaatcaacgaagtactaaccatagacaaatatattctgcagcttggtacccgattgga  499
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  548  tctgcggttaaagaatcaacgaagtactaaccatagacaaatatattctgcagcttggtacccgattgga  617
+
+Sbjct  500  agcggttatggtgtgggagtgaacaatatcatactgttagctgatttaaacgatgcatcaaaaggatatt  569
+            | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ||||||||||
+Query  618  aacggttatggtgtgggagtgaacaatatcatactgttagctgatttaaacgatgcatccaaaggatatt  687
+
+Sbjct  570  tggtgaatgatgccattatctttgaagctgaaatggttaaggtctctataaccaacatcgtctccgctta  639
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  688  tggtgaatgatgccattatctttgaagctgaaatggttaaggtctctataaccaacatcgtctccgctta  757
+
+Sbjct  640  aatatctgcacttctttgtctacgatcaatcaaccttatgaataaagagatatttgat--ga-g--tttg  704
+            ||||||||| ||||||||||||| | ||||| |||||||||||||| | || ||| ||  || |  ||||
+Query  758  aatatctgcncttctttgtctacnancaatccaccttatgaataaaaaaat-tttaatttgatgaatttg  826
+
+Sbjct  705  taataagaaaacgttaatgtttgtgaattgtgaa  738
+            | |||| ||||| ||||||||||| || ||||||
+Query  827  ttataanaaaactttaatgtttgttaaatgtgaa  860
+
 # polishing(m=200,d=-800,p=30): 64/45
 582 3 0 F 579 5 38 1056 35 93.97
-gtgaagcgatacaacgatgcaaaaaaagagtggggattcacacaattgatttctcttccaacattctaca
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-gtgaagcgatacaacgatgcaaaaaaagagtggggattcacacaattgatttctcttccaacattctaca
-acgcgaacgaagggtacnttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgac
-||||||||||||||||| ||||||||||||||||||||||||||||||||||||||||||||||||||||
-acgcgaacgaagggtaccttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgac
-agaaaaacaagagaaagtcacattcatatcaaaccctcc-gaacaatgttttcacttggaagatacttcg
-||||||||||||||||||||||||||||||||||||||| || |||||||||||||||||||||||||||
-agaaaaacaagagaaagtcacattcatatcaaaccctccaga-caatgttttcacttggaagatacttcg
-tttctctaccttggaagataaattctattactctgatgattttctcgttgaagaccgatactggagatta
-||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||| ||
-tttctctaccttggaagataaattctattactccgatgattttctcgttgaagaccgatactggagacta
-ggatttaacccgaaaggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggcc
-|||||||||||||||||   ||| ||||| |||||||||||||||||||||||||||| |||||||||||
-ggatttaacccgaaaggggatggaggaggaagaccacatgcacttccaatcttcctatttgctcaaggcc
-ataaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctc
-|||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||||||||| | 
-ataaggcaaacgcagttgctacaaacacttggggagcggttaatctgcggttaaagaatcaacgaag-ta
-c-aaccacaaacaattatattctgcagcttggtaccccgattcgaagcgattatggtgtgggagtgaaca
-| ||||| | |||| |||||||||||||||||||||| |||| |||||| ||||||||||||||||||||
-ctaaccatagacaaatatattctgcagcttggtaccc-gattggaagcggttatggtgtgggagtgaaca
-atatcatattgat-gtcagaagctaaaagatgcatcnaaagggtatatggtgaatgatgccattatcttt
-|||||||| || | | | ||   |||| |||||||| ||||| ||| |||||||||||||||||||||||
-atatcatactgttag-ctgatt-taaacgatgcatcaaaaggatatttggtgaatgatgccattatcttt
-tgaaactgaaatggttaaggtctct
- ||| ||||||||||||||||||||
--gaagctgaaatggttaaggtctct
+Sbjct  0    gtgaagcgatacaacgatgcaaaaaaagagtggggattcacacaattgatttctcttccaacattctaca  69
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  38   gtgaagcgatacaacgatgcaaaaaaagagtggggattcacacaattgatttctcttccaacattctaca  107
+
+Sbjct  70   acgcgaacgaagggtacnttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgac  139
+            ||||||||||||||||| ||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  108  acgcgaacgaagggtaccttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgac  177
+
+Sbjct  140  agaaaaacaagagaaagtcacattcatatcaaaccctcc-gaacaatgttttcacttggaagatacttcg  208
+            ||||||||||||||||||||||||||||||||||||||| || |||||||||||||||||||||||||||
+Query  178  agaaaaacaagagaaagtcacattcatatcaaaccctccaga-caatgttttcacttggaagatacttcg  246
+
+Sbjct  209  tttctctaccttggaagataaattctattactctgatgattttctcgttgaagaccgatactggagatta  278
+            ||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||| ||
+Query  247  tttctctaccttggaagataaattctattactccgatgattttctcgttgaagaccgatactggagacta  316
+
+Sbjct  279  ggatttaacccgaaaggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggcc  348
+            |||||||||||||||||   ||| ||||| |||||||||||||||||||||||||||| |||||||||||
+Query  317  ggatttaacccgaaaggggatggaggaggaagaccacatgcacttccaatcttcctatttgctcaaggcc  386
+
+Sbjct  349  ataaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctc  418
+            |||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||||||||| | 
+Query  387  ataaggcaaacgcagttgctacaaacacttggggagcggttaatctgcggttaaagaatcaacgaag-ta  455
+
+Sbjct  419  c-aaccacaaacaattatattctgcagcttggtaccccgattcgaagcgattatggtgtgggagtgaaca  487
+            | ||||| | |||| |||||||||||||||||||||| |||| |||||| ||||||||||||||||||||
+Query  456  ctaaccatagacaaatatattctgcagcttggtaccc-gattggaagcggttatggtgtgggagtgaaca  524
+
+Sbjct  488  atatcatattgat-gtcagaagctaaaagatgcatcnaaagggtatatggtgaatgatgccattatcttt  556
+            |||||||| || | | | ||   |||| |||||||| ||||| ||| |||||||||||||||||||||||
+Query  525  atatcatactgttag-ctgatt-taaacgatgcatcaaaaggatatttggtgaatgatgccattatcttt  592
+
+Sbjct  557  tgaaactgaaatggttaaggtctct  581
+             ||| ||||||||||||||||||||
+Query  593  -gaagctgaaatggttaaggtctct  616
+
 # polishing(m=200,d=-800,p=30): 64/64, seed_on_start
 626 2 0 F 645 16 84 1190 27 95.75
-gtgantgttgatctcaaactctttgtccataatgggaagctacacaaatatttgactgttacagatggct
-|||| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-gtgaatgttgatctcaaactctttgtccataatgggaagctacacaaatatttgactgttacagatggct
-tagtgaagcgatataacaatgcgaaaaaagaatggggtttcggacaattgattcctcgatcaacattcta
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-tagtgaagcgatataacaatgcgaaaaaagaatggggtttcggacaattgattcctcgatcaacattcta
-caacgcgaacgaaggttaccttgaccaggacactggttcttttggtgctgagatctttattgttaaaccg
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-caacgcgaacgaaggttaccttgaccaggacactggttcttttggtgctgagatctttattgttaaaccg
-gctcaacaacaagagaaagttacattcatatcaaaccctccaaacaatgttttcacttggaagatacttc
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-gctcaacaacaagagaaagttacattcatatcaaaccctccaaacaatgttttcacttggaagatacttc
-gtttctctaccttggaagataaattctattactccgatgattttctcgttgaagaccgatactggagact
-||||||||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||
-gtttctctaccttggaagataaattctattactccgatgatnttctcgttgaagaccgatactggagact
-aggatttaacccgaaaggggatggaggaggaagaccacatgcacttccaatcttcctatttgctcaaggc
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-aggatttaacccgaaaggggatggaggaggaagaccacatgcacttccaatcttcctatttgctcaaggc
-cataaggcaaatgcagttgctacaaacacttggggagcggttaatctgcggttaaagaatcaacgaantt
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| | 
-cataaggcaaatgcagttgctacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagta
-ctaaccatagacaa-tatnt-ctgca-cttggtaccc-attggaaacg-ttatggtntgggant-aaca-
-|||||||||||||| ||| | ||||| |||||||||| |||||||||| ||||||| ||||| | |||| 
-ctaaccatagacaaatatattctgcagcttggtacccgattggaaacggttatggtgtgggagtgaacaa
-tatc-tactgtt-gctgatt-aa-cga-gcatccaaaggat-tttggtga-tga-gccnt-atctt-gaa
-|||| ||||||| ||||||| || ||| ||||||||||||| |||||||| ||| ||| | ||||| |||
-tatcatactgttagctgatttaaacgatgcatccaaaggatatttggtgaatgatgccattatctttgaa
--ctgaa-tggttaag
- ||||| ||||||||
-gctgaaatggttaag
+Sbjct  0    gtgantgttgatctcaaactctttgtccataatgggaagctacacaaatatttgactgttacagatggct  69
+            |||| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  84   gtgaatgttgatctcaaactctttgtccataatgggaagctacacaaatatttgactgttacagatggct  153
+
+Sbjct  70   tagtgaagcgatataacaatgcgaaaaaagaatggggtttcggacaattgattcctcgatcaacattcta  139
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  154  tagtgaagcgatataacaatgcgaaaaaagaatggggtttcggacaattgattcctcgatcaacattcta  223
+
+Sbjct  140  caacgcgaacgaaggttaccttgaccaggacactggttcttttggtgctgagatctttattgttaaaccg  209
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  224  caacgcgaacgaaggttaccttgaccaggacactggttcttttggtgctgagatctttattgttaaaccg  293
+
+Sbjct  210  gctcaacaacaagagaaagttacattcatatcaaaccctccaaacaatgttttcacttggaagatacttc  279
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  294  gctcaacaacaagagaaagttacattcatatcaaaccctccaaacaatgttttcacttggaagatacttc  363
+
+Sbjct  280  gtttctctaccttggaagataaattctattactccgatgattttctcgttgaagaccgatactggagact  349
+            ||||||||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||
+Query  364  gtttctctaccttggaagataaattctattactccgatgatnttctcgttgaagaccgatactggagact  433
+
+Sbjct  350  aggatttaacccgaaaggggatggaggaggaagaccacatgcacttccaatcttcctatttgctcaaggc  419
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  434  aggatttaacccgaaaggggatggaggaggaagaccacatgcacttccaatcttcctatttgctcaaggc  503
+
+Sbjct  420  cataaggcaaatgcagttgctacaaacacttggggagcggttaatctgcggttaaagaatcaacgaantt  489
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| | 
+Query  504  cataaggcaaatgcagttgctacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagta  573
+
+Sbjct  490  ctaaccatagacaa-tatnt-ctgca-cttggtaccc-attggaaacg-ttatggtntgggant-aaca-  553
+            |||||||||||||| ||| | ||||| |||||||||| |||||||||| ||||||| ||||| | |||| 
+Query  574  ctaaccatagacaaatatattctgcagcttggtacccgattggaaacggttatggtgtgggagtgaacaa  643
+
+Sbjct  554  tatc-tactgtt-gctgatt-aa-cga-gcatccaaaggat-tttggtga-tga-gccnt-atctt-gaa  612
+            |||| ||||||| ||||||| || ||| ||||||||||||| |||||||| ||| ||| | ||||| |||
+Query  644  tatcatactgttagctgatttaaacgatgcatccaaaggatatttggtgaatgatgccattatctttgaa  713
+
+Sbjct  613  -ctgaa-tggttaag  625
+             ||||| ||||||||
+Query  714  gctgaaatggttaag  728
+
 # polishing(m=200,d=-800,p=30): 64/64, seed_on_start
 626 2 0 F 645 16 84 1190 27 95.75
-gtgantgttgatctcaaactctttgtccataatgggaagctacacaaatatttgactgttacagatggct
-|||| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-gtgaatgttgatctcaaactctttgtccataatgggaagctacacaaatatttgactgttacagatggct
-tagtgaagcgatataacaatgcgaaaaaagaatggggtttcggacaattgattcctcgatcaacattcta
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-tagtgaagcgatataacaatgcgaaaaaagaatggggtttcggacaattgattcctcgatcaacattcta
-caacgcgaacgaaggttaccttgaccaggacactggttcttttggtgctgagatctttattgttaaaccg
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-caacgcgaacgaaggttaccttgaccaggacactggttcttttggtgctgagatctttattgttaaaccg
-gctcaacaacaagagaaagttacattcatatcaaaccctccaaacaatgttttcacttggaagatacttc
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-gctcaacaacaagagaaagttacattcatatcaaaccctccaaacaatgttttcacttggaagatacttc
-gtttctctaccttggaagataaattctattactccgatgattttctcgttgaagaccgatactggagact
-||||||||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||
-gtttctctaccttggaagataaattctattactccgatgatnttctcgttgaagaccgatactggagact
-aggatttaacccgaaaggggatggaggaggaagaccacatgcacttccaatcttcctatttgctcaaggc
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-aggatttaacccgaaaggggatggaggaggaagaccacatgcacttccaatcttcctatttgctcaaggc
-cataaggcaaatgcagttgctacaaacacttggggagcggttaatctgcggttaaagaatcaacgaantt
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| | 
-cataaggcaaatgcagttgctacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagta
-ctaaccatagacaa-tatnt-ctgca-cttggtaccc-attggaaacg-ttatggtntgggant-aaca-
-|||||||||||||| ||| | ||||| |||||||||| |||||||||| ||||||| ||||| | |||| 
-ctaaccatagacaaatatattctgcagcttggtacccgattggaaacggttatggtgtgggagtgaacaa
-tatc-tactgtt-gctgatt-aa-cga-gcatccaaaggat-tttggtga-tga-gccnt-atctt-gaa
-|||| ||||||| ||||||| || ||| ||||||||||||| |||||||| ||| ||| | ||||| |||
-tatcatactgttagctgatttaaacgatgcatccaaaggatatttggtgaatgatgccattatctttgaa
--ctgaa-tggttaag
- ||||| ||||||||
-gctgaaatggttaag
+Sbjct  0    gtgantgttgatctcaaactctttgtccataatgggaagctacacaaatatttgactgttacagatggct  69
+            |||| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  84   gtgaatgttgatctcaaactctttgtccataatgggaagctacacaaatatttgactgttacagatggct  153
+
+Sbjct  70   tagtgaagcgatataacaatgcgaaaaaagaatggggtttcggacaattgattcctcgatcaacattcta  139
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  154  tagtgaagcgatataacaatgcgaaaaaagaatggggtttcggacaattgattcctcgatcaacattcta  223
+
+Sbjct  140  caacgcgaacgaaggttaccttgaccaggacactggttcttttggtgctgagatctttattgttaaaccg  209
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  224  caacgcgaacgaaggttaccttgaccaggacactggttcttttggtgctgagatctttattgttaaaccg  293
+
+Sbjct  210  gctcaacaacaagagaaagttacattcatatcaaaccctccaaacaatgttttcacttggaagatacttc  279
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  294  gctcaacaacaagagaaagttacattcatatcaaaccctccaaacaatgttttcacttggaagatacttc  363
+
+Sbjct  280  gtttctctaccttggaagataaattctattactccgatgattttctcgttgaagaccgatactggagact  349
+            ||||||||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||
+Query  364  gtttctctaccttggaagataaattctattactccgatgatnttctcgttgaagaccgatactggagact  433
+
+Sbjct  350  aggatttaacccgaaaggggatggaggaggaagaccacatgcacttccaatcttcctatttgctcaaggc  419
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  434  aggatttaacccgaaaggggatggaggaggaagaccacatgcacttccaatcttcctatttgctcaaggc  503
+
+Sbjct  420  cataaggcaaatgcagttgctacaaacacttggggagcggttaatctgcggttaaagaatcaacgaantt  489
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| | 
+Query  504  cataaggcaaatgcagttgctacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagta  573
+
+Sbjct  490  ctaaccatagacaa-tatnt-ctgca-cttggtaccc-attggaaacg-ttatggtntgggant-aaca-  553
+            |||||||||||||| ||| | ||||| |||||||||| |||||||||| ||||||| ||||| | |||| 
+Query  574  ctaaccatagacaaatatattctgcagcttggtacccgattggaaacggttatggtgtgggagtgaacaa  643
+
+Sbjct  554  tatc-tactgtt-gctgatt-aa-cga-gcatccaaaggat-tttggtga-tga-gccnt-atctt-gaa  612
+            |||| ||||||| ||||||| || ||| ||||||||||||| |||||||| ||| ||| | ||||| |||
+Query  644  tatcatactgttagctgatttaaacgatgcatccaaaggatatttggtgaatgatgccattatctttgaa  713
+
+Sbjct  613  -ctgaa-tggttaag  625
+             ||||| ||||||||
+Query  714  gctgaaatggttaag  728
+
 # polishing(m=200,d=-800,p=30): 64/64
 728 5 11 F 732 16 129 1307 51 93.01
-aaatatttgtctgttacagatggaacagtgaagcgatacaacgatgcaaaaaaagagtggggattcacac
-||||||||| |||||||||||||   |||||||||||| ||| |||| |||||||| ||||| |||  ||
-aaatatttgactgttacagatggcttagtgaagcgatataacaatgcgaaaaaagaatggggtttcggac
-aattgatttctc-ttccaacattctacaacgcgaacgaagggtaccttgtgcaggacacagcttcttttg
-|||||||| |||  | ||||||||||||||||||||||||| |||||||  |||||||| | ||||||||
-aattgattcctcgat-caacattctacaacgcgaacgaaggttaccttgaccaggacactggttcttttg
-gtgctgagatcttcatcgttaacccgacagaaaaacaagagaaagtcacattcatatcaaaccctccaga
-||||||||||||| || ||||| ||| |  || ||||||||||||| ||||||||||||||||||||| |
-gtgctgagatctttattgttaaaccggctcaacaacaagagaaagttacattcatatcaaaccctccaaa
-caatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactccgatgatttt
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ||
-caatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactccgatgatntt
-ctcgttgaagaccgatactggagactaggatttaacccgaaaggggatggaggaggaagaccacatgcac
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-ctcgttgaagaccgatactggagactaggatttaacccgaaaggggatggaggaggaagaccacatgcac
-ttccaatcttcctatttgctcaaggccataaggcaaacgcagttgctacaaacacttggggagcggttaa
-||||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||
-ttccaatcttcctatttgctcaaggccataaggcaaatgcagttgctacaaacacttggggagcggttaa
-tctgcggttaaagaatcaacgaagtactaaccatagacaaatatattctgcagcttggtacccgattgga
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-tctgcggttaaagaatcaacgaagtactaaccatagacaaatatattctgcagcttggtacccgattgga
-agcggttatggtgtgggagtgaacaatatcatactgttagctgatttaaacgatgcatcaaaaggatatt
-| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ||||||||||
-aacggttatggtgtgggagtgaacaatatcatactgttagctgatttaaacgatgcatccaaaggatatt
-tggtgaatgatgccattatctttgaagctgaaatggttaaggtctctataaccaacatcgtctccgctta
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-tggtgaatgatgccattatctttgaagctgaaatggttaaggtctctataaccaacatcgtctccgctta
-aatatctgcacttctttgtctacgatcaatcaaccttatgaataaagagatatttgat--ga-g--tttg
-||||||||| ||||||||||||| | ||||| |||||||||||||| | || ||| ||  || |  ||||
-aatatctgcncttctttgtctacnancaatccaccttatgaataaaaaaat-tttaatttgatgaatttg
-taataagaaaacgttaatgtttgtgaattgtgaa
-| |||| ||||| ||||||||||| || ||||||
-ttataanaaaactttaatgtttgttaaatgtgaa
+Sbjct  11   aaatatttgtctgttacagatggaacagtgaagcgatacaacgatgcaaaaaaagagtggggattcacac  80
+            ||||||||| |||||||||||||   |||||||||||| ||| |||| |||||||| ||||| |||  ||
+Query  129  aaatatttgactgttacagatggcttagtgaagcgatataacaatgcgaaaaaagaatggggtttcggac  198
+
+Sbjct  81   aattgatttctc-ttccaacattctacaacgcgaacgaagggtaccttgtgcaggacacagcttcttttg  149
+            |||||||| |||  | ||||||||||||||||||||||||| |||||||  |||||||| | ||||||||
+Query  199  aattgattcctcgat-caacattctacaacgcgaacgaaggttaccttgaccaggacactggttcttttg  267
+
+Sbjct  150  gtgctgagatcttcatcgttaacccgacagaaaaacaagagaaagtcacattcatatcaaaccctccaga  219
+            ||||||||||||| || ||||| ||| |  || ||||||||||||| ||||||||||||||||||||| |
+Query  268  gtgctgagatctttattgttaaaccggctcaacaacaagagaaagttacattcatatcaaaccctccaaa  337
+
+Sbjct  220  caatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactccgatgatttt  289
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ||
+Query  338  caatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactccgatgatntt  407
+
+Sbjct  290  ctcgttgaagaccgatactggagactaggatttaacccgaaaggggatggaggaggaagaccacatgcac  359
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  408  ctcgttgaagaccgatactggagactaggatttaacccgaaaggggatggaggaggaagaccacatgcac  477
+
+Sbjct  360  ttccaatcttcctatttgctcaaggccataaggcaaacgcagttgctacaaacacttggggagcggttaa  429
+            ||||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||
+Query  478  ttccaatcttcctatttgctcaaggccataaggcaaatgcagttgctacaaacacttggggagcggttaa  547
+
+Sbjct  430  tctgcggttaaagaatcaacgaagtactaaccatagacaaatatattctgcagcttggtacccgattgga  499
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  548  tctgcggttaaagaatcaacgaagtactaaccatagacaaatatattctgcagcttggtacccgattgga  617
+
+Sbjct  500  agcggttatggtgtgggagtgaacaatatcatactgttagctgatttaaacgatgcatcaaaaggatatt  569
+            | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ||||||||||
+Query  618  aacggttatggtgtgggagtgaacaatatcatactgttagctgatttaaacgatgcatccaaaggatatt  687
+
+Sbjct  570  tggtgaatgatgccattatctttgaagctgaaatggttaaggtctctataaccaacatcgtctccgctta  639
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  688  tggtgaatgatgccattatctttgaagctgaaatggttaaggtctctataaccaacatcgtctccgctta  757
+
+Sbjct  640  aatatctgcacttctttgtctacgatcaatcaaccttatgaataaagagatatttgat--ga-g--tttg  704
+            ||||||||| ||||||||||||| | ||||| |||||||||||||| | || ||| ||  || |  ||||
+Query  758  aatatctgcncttctttgtctacnancaatccaccttatgaataaaaaaat-tttaatttgatgaatttg  826
+
+Sbjct  705  taataagaaaacgttaatgtttgtgaattgtgaa  738
+            | |||| ||||| ||||||||||| || ||||||
+Query  827  ttataanaaaactttaatgtttgttaaatgtgaa  860
+
 # polishing(m=200,d=-800,p=30): 64/45
 610 3 0 F 607 39 72 1163 18 97.04
-gtgaagcgatacaacgatgcaaaaaaagagtggggattcacacaattgatttctcttccaacattctaca
-|||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||||||||||
-gtgaagcgatacaacgatgcnaaaaaagagtggggattcacacaattgatttctcttccaacattctaca
-acgcgaacgaagggtacnttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgac
-||||||||||||||||| ||||||||||||||||||||||||||||||||||||||||||||||||||||
-acgcgaacgaagggtaccttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgac
-agaaaaacaagagaaagtcacattcatatcaaaccctccgaacaatgttttcacttggaagatacttcgt
-||||||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||
-agaaaaacaagagaaagtcacattcatatcaaaccctccaaacaatgttttcacttggaagatacttcgt
-ttctctaccttggaagataaattctattactctgatgattttctcgttgaagaccgatactggagattag
-|||||||||||||||||||||||||||||||||||||||||||| |||| |||||||||||||||| |||
-ttctctaccttggaagataaattctattactctgatgattttctngttggagaccgatactggagactag
-gatttaacccgaaaggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggcca
-|||||||||||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||
-gatttaacccgaaaggatctggtggaggaagaccacatgcacttccaatcttcctatatgctcaaggcca
-taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc
-aaccacaaacaattatattctgcagcttggtaccccgattcgaagcgattatggtgtgggagtgaacaat
-||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||||
-aaccacaaacaattatattctgcagcttggtaccc-gattcgaagcgattatggtgtgggagtgaacaat
-atcatattgatgtcagaagctaaaagatgcatcnaaagggtatatggtgaatgatgccattatcttttga
-|| |||||||||||||| ||||||||||||||| ||||||||||||||||||||||||||||||||| ||
-ataatattgatgtcaga-gctaaaagatgcatcaaaagggtatatggtgaatgatgccattatcttt-ga
-aactgaaatggttaaggtctctgtgaacaa-catantctccncttaaatat
-| |||||||||||||||||||||||| ||| |||| |||||  ||||||||
-agctgaaatggttaaggtctctgtga-caaacatagtctccgtttaaatat
+Sbjct  0    gtgaagcgatacaacgatgcaaaaaaagagtggggattcacacaattgatttctcttccaacattctaca  69
+            |||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||||||||||
+Query  72   gtgaagcgatacaacgatgcnaaaaaagagtggggattcacacaattgatttctcttccaacattctaca  141
+
+Sbjct  70   acgcgaacgaagggtacnttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgac  139
+            ||||||||||||||||| ||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  142  acgcgaacgaagggtaccttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgac  211
+
+Sbjct  140  agaaaaacaagagaaagtcacattcatatcaaaccctccgaacaatgttttcacttggaagatacttcgt  209
+            ||||||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||
+Query  212  agaaaaacaagagaaagtcacattcatatcaaaccctccaaacaatgttttcacttggaagatacttcgt  281
+
+Sbjct  210  ttctctaccttggaagataaattctattactctgatgattttctcgttgaagaccgatactggagattag  279
+            |||||||||||||||||||||||||||||||||||||||||||| |||| |||||||||||||||| |||
+Query  282  ttctctaccttggaagataaattctattactctgatgattttctngttggagaccgatactggagactag  351
+
+Sbjct  280  gatttaacccgaaaggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggcca  349
+            |||||||||||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||
+Query  352  gatttaacccgaaaggatctggtggaggaagaccacatgcacttccaatcttcctatatgctcaaggcca  421
+
+Sbjct  350  taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc  419
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  422  taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc  491
+
+Sbjct  420  aaccacaaacaattatattctgcagcttggtaccccgattcgaagcgattatggtgtgggagtgaacaat  489
+            ||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||||
+Query  492  aaccacaaacaattatattctgcagcttggtaccc-gattcgaagcgattatggtgtgggagtgaacaat  560
+
+Sbjct  490  atcatattgatgtcagaagctaaaagatgcatcnaaagggtatatggtgaatgatgccattatcttttga  559
+            || |||||||||||||| ||||||||||||||| ||||||||||||||||||||||||||||||||| ||
+Query  561  ataatattgatgtcaga-gctaaaagatgcatcaaaagggtatatggtgaatgatgccattatcttt-ga  628
+
+Sbjct  560  aactgaaatggttaaggtctctgtgaacaa-catantctccncttaaatat  609
+            | |||||||||||||||||||||||| ||| |||| |||||  ||||||||
+Query  629  agctgaaatggttaaggtctctgtga-caaacatagtctccgtttaaatat  678
+
 # polishing(m=200,d=-800,p=30): 64/64
 582 3 0 F 579 5 38 1056 35 93.97
-gtgaagcgatacaacgatgcaaaaaaagagtggggattcacacaattgatttctcttccaacattctaca
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-gtgaagcgatacaacgatgcaaaaaaagagtggggattcacacaattgatttctcttccaacattctaca
-acgcgaacgaagggtacnttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgac
-||||||||||||||||| ||||||||||||||||||||||||||||||||||||||||||||||||||||
-acgcgaacgaagggtaccttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgac
-agaaaaacaagagaaagtcacattcatatcaaaccctcc-gaacaatgttttcacttggaagatacttcg
-||||||||||||||||||||||||||||||||||||||| || |||||||||||||||||||||||||||
-agaaaaacaagagaaagtcacattcatatcaaaccctccaga-caatgttttcacttggaagatacttcg
-tttctctaccttggaagataaattctattactctgatgattttctcgttgaagaccgatactggagatta
-||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||| ||
-tttctctaccttggaagataaattctattactccgatgattttctcgttgaagaccgatactggagacta
-ggatttaacccgaaaggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggcc
-|||||||||||||||||   ||| ||||| |||||||||||||||||||||||||||| |||||||||||
-ggatttaacccgaaaggggatggaggaggaagaccacatgcacttccaatcttcctatttgctcaaggcc
-ataaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctc
-|||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||||||||| | 
-ataaggcaaacgcagttgctacaaacacttggggagcggttaatctgcggttaaagaatcaacgaag-ta
-c-aaccacaaacaattatattctgcagcttggtaccccgattcgaagcgattatggtgtgggagtgaaca
-| ||||| | |||| |||||||||||||||||||||| |||| |||||| ||||||||||||||||||||
-ctaaccatagacaaatatattctgcagcttggtaccc-gattggaagcggttatggtgtgggagtgaaca
-atatcatattgat-gtcagaagctaaaagatgcatcnaaagggtatatggtgaatgatgccattatcttt
-|||||||| || | | | ||   |||| |||||||| ||||| ||| |||||||||||||||||||||||
-atatcatactgttag-ctgatt-taaacgatgcatcaaaaggatatttggtgaatgatgccattatcttt
-tgaaactgaaatggttaaggtctct
- ||| ||||||||||||||||||||
--gaagctgaaatggttaaggtctct
+Sbjct  0    gtgaagcgatacaacgatgcaaaaaaagagtggggattcacacaattgatttctcttccaacattctaca  69
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  38   gtgaagcgatacaacgatgcaaaaaaagagtggggattcacacaattgatttctcttccaacattctaca  107
+
+Sbjct  70   acgcgaacgaagggtacnttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgac  139
+            ||||||||||||||||| ||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  108  acgcgaacgaagggtaccttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgac  177
+
+Sbjct  140  agaaaaacaagagaaagtcacattcatatcaaaccctcc-gaacaatgttttcacttggaagatacttcg  208
+            ||||||||||||||||||||||||||||||||||||||| || |||||||||||||||||||||||||||
+Query  178  agaaaaacaagagaaagtcacattcatatcaaaccctccaga-caatgttttcacttggaagatacttcg  246
+
+Sbjct  209  tttctctaccttggaagataaattctattactctgatgattttctcgttgaagaccgatactggagatta  278
+            ||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||| ||
+Query  247  tttctctaccttggaagataaattctattactccgatgattttctcgttgaagaccgatactggagacta  316
+
+Sbjct  279  ggatttaacccgaaaggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggcc  348
+            |||||||||||||||||   ||| ||||| |||||||||||||||||||||||||||| |||||||||||
+Query  317  ggatttaacccgaaaggggatggaggaggaagaccacatgcacttccaatcttcctatttgctcaaggcc  386
+
+Sbjct  349  ataaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctc  418
+            |||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||||||||| | 
+Query  387  ataaggcaaacgcagttgctacaaacacttggggagcggttaatctgcggttaaagaatcaacgaag-ta  455
+
+Sbjct  419  c-aaccacaaacaattatattctgcagcttggtaccccgattcgaagcgattatggtgtgggagtgaaca  487
+            | ||||| | |||| |||||||||||||||||||||| |||| |||||| ||||||||||||||||||||
+Query  456  ctaaccatagacaaatatattctgcagcttggtaccc-gattggaagcggttatggtgtgggagtgaaca  524
+
+Sbjct  488  atatcatattgat-gtcagaagctaaaagatgcatcnaaagggtatatggtgaatgatgccattatcttt  556
+            |||||||| || | | | ||   |||| |||||||| ||||| ||| |||||||||||||||||||||||
+Query  525  atatcatactgttag-ctgatt-taaacgatgcatcaaaaggatatttggtgaatgatgccattatcttt  592
+
+Sbjct  557  tgaaactgaaatggttaaggtctct  581
+             ||| ||||||||||||||||||||
+Query  593  -gaagctgaaatggttaaggtctct  616
+
 # polishing(m=200,d=-800,p=30): 64/64
diff --git a/testdata/repfind-result/at1MB-greedy-r-14-32-80-2-36-a b/testdata/repfind-result/at1MB-greedy-r-14-32-80-2-36-a
index de5217c..8230415 100644
--- a/testdata/repfind-result/at1MB-greedy-r-14-32-80-2-36-a
+++ b/testdata/repfind-result/at1MB-greedy-r-14-32-80-2-36-a
@@ -1,160 +1,194 @@
+# Options: -seedlength 14 -l 32 -r -outfmt alignment=70 polinfo -verify-alignment -extendgreedy -ii at1MB -minidentity 80 -history 60
+# Fields: s. len, s. seqnum, s. start, strand, q. len, q. seqnum, q. start, score, editdist, % identity
 35 10 286 R 35 10 286 52 6 82.86
-tgtgta-g-tggcggcgtgtgcggcggttggatatgt
-||| || | ||||||||||||||||||| | || |||
-tgtataggttggcggcgtgtgcggcggt-g-atgtgt
+Sbjct  286  tgtgta-g-tggcggcgtgtgcggcggttggatatgt  320
+            ||| || | ||||||||||||||||||| | || |||
+Query  494  tgtataggttggcggcgtgtgcggcggt-g-atgtgt  528
+
 # polishing(m=400,d=-600,p=30): 37/37, seed_on_start, seed_on_end
 33 31 0 R 33 31 0 48 6 81.82
-ctctgtc-tctttcttcttcttctt-cttct-tctc
-|||| || || |||||||||||||| || || ||||
-ctct-tcttc-ttcttcttcttctttct-ctgtctc
+Sbjct  0    ctctgtc-tctttcttcttcttctt-cttct-tctc  32
+            |||| || || |||||||||||||| || || ||||
+Query  250  ctct-tcttc-ttcttcttcttctttct-ctgtctc  282
+
 # polishing(m=400,d=-600,p=30): 36/36, seed_on_start, seed_on_end
 36 38 50 R 38 90 28 59 5 86.49
-tctctc---tctctctctctctttcactcttgtcttgtc
-||||||   | ||||||||||||||||| ||||||||||
-tctctcanatgtctctctctctttcact-ttgtcttgtc
+Sbjct  50   tctctc---tctctctctctctttcactcttgtcttgtc  85
+            ||||||   | ||||||||||||||||| ||||||||||
+Query  143  tctctcanatgtctctctctctttcact-ttgtcttgtc  180
+
 # polishing(m=400,d=-600,p=30): 39/39, seed_on_start, seed_on_end
 36 118 2 R 36 118 2 54 6 83.33
-acatcttctaagaaagaaacaaagaaaga--cttc-aca
-||| ||||  |||||||||||||||||||  |||| |||
-aca-cttc--agaaagaaacaaagaaagaatcttctaca
+Sbjct  2    acatcttctaagaaagaaacaaagaaaga--cttc-aca  37
+            ||| ||||  |||||||||||||||||||  |||| |||
+Query  201  aca-cttc--agaaagaaacaaagaaagaatcttctaca  236
+
 # polishing(m=400,d=-600,p=30): 39/39, seed_on_start, seed_on_end
 32 121 68 R 32 121 68 52 4 87.50
-ctt-cctctctcttccttccttctct-tcccttc
-||| ||| |||||||||||||||||| ||| |||
-cttccct-tctcttccttccttctctctcc-ttc
+Sbjct  68   ctt-cctctctcttccttccttctct-tcccttc  99
+            ||| ||| |||||||||||||||||| ||| |||
+Query  110  cttccct-tctcttccttccttctctctcc-ttc  141
+
 # polishing(m=400,d=-600,p=30): 34/34, seed_on_start, seed_on_end
 33 31 0 R 33 135 79 48 6 81.82
-ctctgtctctt-t-cttcttcttcttcttcttctc
-|||| || ||| | || ||||||||||||||| ||
-ctctttc-cttctcctccttcttcttcttctt-tc
+Sbjct  0   ctctgtctctt-t-cttcttcttcttcttcttctc  32
+           |||| || ||| | || ||||||||||||||| ||
+Query  52  ctctttc-cttctcctccttcttcttcttctt-tc  84
+
 # polishing(m=400,d=-600,p=30): 35/35, seed_on_start, seed_on_end
 30 19 553 R 34 554 328 46 6 81.25
-at-tttcccaag-gtggtttttttttgt--ttgt
-|| |||||  || |||||||||||||||  ||||
-atgtttccttagagtggtttttttttgtggttgt
+Sbjct  553  at-tttcccaag-gtggtttttttttgt--ttgt  582
+            || |||||  || |||||||||||||||  ||||
+Query  3    atgtttccttagagtggtttttttttgtggttgt  36
+
 # polishing(m=400,d=-600,p=30): 34/34, seed_on_start, seed_on_end
 31 457 350 R 33 576 203 46 6 81.25
-taga-tttttgtttttgttttttgtttc-tc-tg
-|||  |||||||||||||||||| || | || ||
-tagtgtttttgtttttgtttttt-ttccatcgtg
+Sbjct  350  taga-tttttgtttttgttttttgtttc-tc-tg  380
+            |||  |||||||||||||||||| || | || ||
+Query  183  tagtgtttttgtttttgtttttt-ttccatcgtg  215
+
 # polishing(m=400,d=-600,p=30): 34/34, seed_on_start, seed_on_end
 33 135 70 R 31 632 167 46 6 81.25
-tctctgtccctttcttcttcttcttcctcctct
-|||| ||  | ||||||||||||||| || |||
-tctccgtttc-ttcttcttcttcttcttc-tct
+Sbjct  70   tctctgtccctttcttcttcttcttcctcctct  102
+            |||| ||  | ||||||||||||||| || |||
+Query  226  tctccgtttc-ttcttcttcttcttcttc-tct  256
+
 # polishing(m=400,d=-600,p=30): 33/33, seed_on_start, seed_on_end
 41 634 281 R 42 693 409 59 8 80.72
-tcctctgtgtgtgt-tttttttgttctcttc-a-taattttccc
-|||| | || || | |||||||||||||||| | || |||||||
-tcctgtatg-gtttctttttttgttctcttccacta-ttttccc
+Sbjct  281  tcctctgtgtgtgt-tttttttgttctcttc-a-taattttccc  321
+            |||| | || || | |||||||||||||||| | || |||||||
+Query  45   tcctgtatg-gtttctttttttgttctcttccacta-ttttccc  86
+
 # polishing(m=400,d=-600,p=30): 44/44, seed_on_start, seed_on_end
 40 466 426 R 40 704 301 56 8 80.00
-taaat-tttaatttcgtaaatgcacagattacaatgt-ctct
-||| | |||||||||||||| | | | |||| ||||| ||||
-taattgtttaatttcgtaaa-gaaaaaatta-aatgttctct
+Sbjct  426  taaat-tttaatttcgtaaatgcacagattacaatgt-ctct  465
+            ||| | |||||||||||||| | | | |||| ||||| ||||
+Query  81   taattgtttaatttcgtaaa-gaaaaaatta-aatgttctct  120
+
 # polishing(m=400,d=-600,p=30): 42/42, seed_on_start, seed_on_end
 45 693 362 R 39 758 186 60 8 80.95
-ctactctttgtgatcttctttgtttgtttgtttggtttttttttt
-|| |||| |||| || |||||  ||| || |||||||||||||||
-ct-ctctctgtg-tc-tctttc-ttg-tt-tttggtttttttttt
+Sbjct  362  ctactctttgtgatcttctttgtttgtttgtttggtttttttttt  406
+            || |||| |||| || |||||  ||| || |||||||||||||||
+Query  83   ct-ctctctgtg-tc-tctttc-ttg-tt-tttggtttttttttt  121
+
 # polishing(m=400,d=-600,p=30): 45/45, seed_on_end
 32 368 268 R 33 913 451 47 6 81.54
-cttcttccaca-tatgtaatcttgtaactttta
-||| ||||  | ||||||||||||||  |||||
-ctttttcctaattatgtaatcttgtagatttta
+Sbjct  268  cttcttccaca-tatgtaatcttgtaactttta  299
+            ||| ||||  | ||||||||||||||  |||||
+Query  2    ctttttcctaattatgtaatcttgtagatttta  34
+
 # polishing(m=400,d=-600,p=30): 33/33, seed_on_start, seed_on_end
 42 693 409 R 41 976 291 59 8 80.72
-ccctttt-atcaccttctcttgtttttttctttg-gtatgtcct
-||||||| || | |||||||||||||||| | || || | ||||
-cccttttaat-a-cttctcttgttttttt-tgtgtgtgtctcct
+Sbjct  409  ccctttt-atcaccttctcttgtttttttctttg-gtatgtcct  450
+            ||||||| || | |||||||||||||||| | || || | ||||
+Query  78   cccttttaat-a-cttctcttgttttttt-tgtgtgtgtctcct  118
+
 # polishing(m=400,d=-600,p=30): 44/44, seed_on_start, seed_on_end
 32 926 328 R 32 989 330 46 6 81.25
-tttgtataggtttc-tttatcgtgtgttgtatt
-||||||||||||||  ||| | | |||||| ||
-tttgtataggtttcgatta-cctttgttgtgtt
+Sbjct  328  tttgtataggtttc-tttatcgtgtgttgtatt  359
+            ||||||||||||||  ||| | | |||||| ||
+Query  44   tttgtataggtttcgatta-cctttgttgtgtt  75
+
 # polishing(m=400,d=-600,p=30): 33/33, seed_on_start, seed_on_end
 32 480 385 R 32 989 330 46 6 81.25
-tttgtataggtttc-tttatcgtgtgttgtatt
-||||||||||||||  ||| | | |||||| ||
-tttgtataggtttcgatta-cctttgttgtgtt
+Sbjct  385  tttgtataggtttc-tttatcgtgtgttgtatt  416
+            ||||||||||||||  ||| | | |||||| ||
+Query  44   tttgtataggtttcgatta-cctttgttgtgtt  75
+
 # polishing(m=400,d=-600,p=30): 33/33, seed_on_start, seed_on_end
 34 632 164 R 36 997 219 49 7 80.00
-gtgtctcttcttctt-cttcttctt-ctttgcct-ct
-||||||||||||||| || || |||  ||| ||| ||
-gtgtctcttcttcttact-ctccttagtttacctact
+Sbjct  164  gtgtctcttcttctt-cttcttctt-ctttgcct-ct  197
+            ||||||||||||||| || || |||  ||| ||| ||
+Query  235  gtgtctcttcttcttact-ctccttagtttacctact  270
+
 # polishing(m=400,d=-600,p=30): 37/37, seed_on_start, seed_on_end
 35 771 340 R 30 1057 430 47 6 81.54
-tcatttttgagtgatctgctctctttctcttttgt
-|| |||||||||||||| || | | || |||||||
-tc-tttttgagtgatct-ct-t-tgtc-cttttgt
+Sbjct  340  tcatttttgagtgatctgctctctttctcttttgt  374
+            || |||||||||||||| || | | || |||||||
+Query  29   tc-tttttgagtgatct-ct-t-tgtc-cttttgt  58
+
 # polishing(m=400,d=-600,p=30): 35/35, seed_on_start, seed_on_end
 31 509 337 R 35 1066 356 48 6 81.82
-tta-ata-caattgatcgtttctactctg--agaa
-||| ||  |||||| ||||||||||||||  ||||
-ttatatctcaattgttcgtttctactctgttagaa
+Sbjct  337  tta-ata-caattgatcgtttctactctg--agaa  367
+            ||| ||  |||||| ||||||||||||||  ||||
+Query  29   ttatatctcaattgttcgtttctactctgttagaa  63
+
 # polishing(m=400,d=-600,p=30): 35/35, seed_on_start, seed_on_end
 32 632 173 R 33 1132 164 50 5 84.62
-cttcttcttcttcttctttg-cctcttagctgt
-|| ||||||||||||||||| ||||  | ||||
-ctncttcttcttcttctttggcctcaaacctgt
+Sbjct  173  cttcttcttcttcttctttg-cctcttagctgt  204
+            || ||||||||||||||||| ||||  | ||||
+Query  192  ctncttcttcttcttctttggcctcaaacctgt  224
+
 # polishing(m=400,d=-600,p=30): 33/33, seed_on_start, seed_on_end
 32 632 173 R 33 1140 72 47 6 81.54
-cttcttcttcttcttctttg-cctcttagctgt
-|| |||||||||||||| || ||||  | ||||
-ctncttcttcttcttctctggcctcaaacctgt
+Sbjct  173  cttcttcttcttcttctttg-cctcttagctgt  204
+            || |||||||||||||| || ||||  | ||||
+Query  194  ctncttcttcttcttctctggcctcaaacctgt  226
+
 # polishing(m=400,d=-600,p=30): 33/33, seed_on_start, seed_on_end
 33 619 454 R 34 1161 198 49 6 82.09
-gtttctttttttctttctttctac-ttt-tc-ttta
-|||| |||||||||||||| || | ||| || ||||
-gttt-tttttttctttctt-cttcgtttatcattta
+Sbjct  454  gtttctttttttctttctttctac-ttt-tc-ttta  486
+            |||| |||||||||||||| || | ||| || ||||
+Query  138  gttt-tttttttctttctt-cttcgtttatcattta  171
+
 # polishing(m=400,d=-600,p=30): 36/36, seed_on_start, seed_on_end
 32 138 47 R 35 1243 232 49 6 82.09
-tctctctctctctc-tctatcat-ctctttt-ctt
-|||||||||||||| | | | || ||||||| |||
-tctctctctctctcctttttgatactcttttgctt
+Sbjct  47   tctctctctctctc-tctatcat-ctctttt-ctt  78
+            |||||||||||||| | | | || ||||||| |||
+Query  123  tctctctctctctcctttttgatactcttttgctt  157
+
 # polishing(m=400,d=-600,p=30): 35/35, seed_on_start, seed_on_end
 36 31 1 R 37 1298 266 52 7 80.82
-tctgtctctttcttcttcttcttcttcttctca-tta
-||| ||| |||| |  |||||||||||||| || |||
-tctatctatttcgttatcttcttcttcttcgcactta
+Sbjct  1    tctgtctctttcttcttcttcttcttcttctca-tta  36
+            ||| ||| |||| |  |||||||||||||| || |||
+Query  82   tctatctatttcgttatcttcttcttcttcgcactta  118
+
 # polishing(m=400,d=-600,p=30): 37/37, seed_on_start, seed_on_end
 32 926 328 R 32 1350 272 46 6 81.25
-tttgtataggtttc-tttatcgtgtgttgtatt
-||||||||||||||  ||| | | |||||| ||
-tttgtataggtttcgatta-cctttgttgtgtt
+Sbjct  328  tttgtataggtttc-tttatcgtgtgttgtatt  359
+            ||||||||||||||  ||| | | |||||| ||
+Query  95   tttgtataggtttcgatta-cctttgttgtgtt  126
+
 # polishing(m=400,d=-600,p=30): 33/33, seed_on_start, seed_on_end
 32 480 385 R 32 1350 272 46 6 81.25
-tttgtataggtttc-tttatcgtgtgttgtatt
-||||||||||||||  ||| | | |||||| ||
-tttgtataggtttcgatta-cctttgttgtgtt
+Sbjct  385  tttgtataggtttc-tttatcgtgtgttgtatt  416
+            ||||||||||||||  ||| | | |||||| ||
+Query  95   tttgtataggtttcgatta-cctttgttgtgtt  126
+
 # polishing(m=400,d=-600,p=30): 33/33, seed_on_start, seed_on_end
 31 291 307 R 33 1400 150 46 6 81.25
-gaatact-agttttttt-tttgtgaattgaatt
-||| | | | |||| || |||||||||||||||
-gaagagtcatttttcttgtttgtgaattgaatt
+Sbjct  307  gaatact-agttttttt-tttgtgaattgaatt  337
+            ||| | | | |||| || |||||||||||||||
+Query  101  gaagagtcatttttcttgtttgtgaattgaatt  133
+
 # polishing(m=400,d=-600,p=30): 33/33, seed_on_start, seed_on_end
 32 314 158 R 33 1403 172 47 6 81.54
-gagagagagagagaga-aagc-agaagaagaagt
-|||||||||||||||| || | |||| || | ||
-gagagagagagagagagaaactagaa-aaaacgt
+Sbjct  158  gagagagagagagaga-aagc-agaagaagaagt  189
+            |||||||||||||||| || | |||| || | ||
+Query  106  gagagagagagagagagaaactagaa-aaaacgt  138
+
 # polishing(m=400,d=-600,p=30): 34/34, seed_on_start, seed_on_end
 39 138 39 R 34 1584 4 52 7 80.82
-ccacaccttctctctctctctctctatcatctcttttct
-||| | | |||| ||||||||||||||| ||| | ||||
-cca-a-c-tctccctctctctctctatc-tct-tcttct
+Sbjct  39   ccacaccttctctctctctctctctatcatctcttttct  77
+            ||| | | |||| ||||||||||||||| ||| | ||||
+Query  147  cca-a-c-tctccctctctctctctatc-tct-tcttct  180
+
 # polishing(m=400,d=-600,p=30): 39/39, seed_on_start, seed_on_end
 41 1695 59 R 41 1695 59 58 8 80.49
-acaactatggt-t-caacaacaacaacaacctctgg-ctcaaca
-||||||  ||| | |||||||||||||||| | |||  ||||||
-acaactc-ggtctccaacaacaacaacaac-t-tggtatcaaca
+Sbjct  59   acaactatggt-t-caacaacaacaacaacctctgg-ctcaaca  99
+            ||||||  ||| | |||||||||||||||| | |||  ||||||
+Query  287  acaactc-ggtctccaacaacaacaacaac-t-tggtatcaaca  327
+
 # polishing(m=400,d=-600,p=30): 44/44, seed_on_start, seed_on_end
 33 1524 237 R 32 1701 304 47 6 81.54
-atatatatatatatatatatagtctttatataa
-|| ||| |||||||||||||| | ||| || ||
-atntatntatatatatatata-tatttctaaaa
+Sbjct  237  atatatatatatatatatatagtctttatataa  269
+            || ||| |||||||||||||| | ||| || ||
+Query  80   atntatntatatatatatata-tatttctaaaa  111
+
 # polishing(m=400,d=-600,p=30): 33/33, seed_on_start, seed_on_end
 36 1214 206 R 35 1701 298 50 7 80.28
-tatatatatatatatatatatatatatatatatatg
-||| ||||||||||||||||| | || | | || ||
-tatntatatatatatatatatttctaaaaagat-tg
+Sbjct  206  tatatatatatatatatatatatatatatatatatg  241
+            ||| ||||||||||||||||| | || | | || ||
+Query  83   tatntatatatatatatatatttctaaaaagat-tg  117
+
 # polishing(m=400,d=-600,p=30): 36/36, seed_on_start, seed_on_end
diff --git a/testdata/repfind-result/at1MB-xdrop-20-20-80-6 b/testdata/repfind-result/at1MB-xdrop-20-20-80-6
index f931a2d..2267873 100644
--- a/testdata/repfind-result/at1MB-xdrop-20-20-80-6
+++ b/testdata/repfind-result/at1MB-xdrop-20-20-80-6
@@ -942,6 +942,7 @@
 163 1578 0 F 163 1682 12 299 9 94.48
 412 460 68 F 411 1351 41 775 16 96.11
 349 1351 92 F 351 1936 27 667 11 96.86
+181 160 124 F 181 160 305 362 0 100.00
 230 474 145 F 230 605 23 421 13 94.35
 180 543 135 F 182 605 71 344 6 96.69
 240 605 13 F 236 658 201 428 16 93.28
diff --git a/testdata/repfind-result/at1MB-xdrop-70-500-90-1-39-a b/testdata/repfind-result/at1MB-xdrop-70-500-90-1-39-a
index 39d5d6d..f96dfa8 100644
--- a/testdata/repfind-result/at1MB-xdrop-70-500-90-1-39-a
+++ b/testdata/repfind-result/at1MB-xdrop-70-500-90-1-39-a
@@ -1,592 +1,779 @@
+# Options: -extendxdrop -ii at1MB -seedlength 70 -l 500 -minidentity 90 -outfmt alignment=70 polinfo -verify-alignment -history 60
+# Fields: s. len, s. seqnum, s. start, strand, q. len, q. seqnum, q. start, score, editdist, % identity
 635 5 11 F 635 39 45 1162 36 94.33
-aaatatttgtctgttacagatggaacagtgaagcgatacaacgatgcaaaaaaagagtggggattcacac
-||||||||| ||||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||
-aaatatttgactgttacagatggaacagtgaagcgatacaacgatgcnaaaaaagagtggggattcacac
-aattgatttctcttccaacattctacaacgcgaacgaagggtaccttgtgcaggacacagcttcttttgg
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-aattgatttctcttccaacattctacaacgcgaacgaagggtaccttgtgcaggacacagcttcttttgg
-tgctgagatcttcatcgttaacccgacagaaaaacaagagaaagtcacattcatatcaaaccctccagac
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ||
-tgctgagatcttcatcgttaacccgacagaaaaacaagagaaagtcacattcatatcaaaccctccaaac
-aatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactccgatgattttc
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ||||||||||
-aatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactctgatgattttc
-tcgttgaagaccgatactggagactaggatttaacccgaaaggggatggaggaggaagaccacatgcact
-| |||| ||||||||||||||||||||||||||||||||||||   ||| ||||||||||||||||||||
-tngttggagaccgatactggagactaggatttaacccgaaaggatctggtggaggaagaccacatgcact
-tccaatcttcctatttgctcaaggccataaggcaaacgcagttgctacaaacacttggggagcggttaat
-|||||||||||||| ||||||||||||||||||||||||||||| |||||||||||||||||||||||||
-tccaatcttcctatatgctcaaggccataaggcaaacgcagttgttacaaacacttggggagcggttaat
-ctgcggttaaagaatcaacgaag-tactaaccatagacaaatatattctgcagcttggtacccgattgga
-||||||||||||||||||||||| | | ||||| | |||| |||||||||||||||||||||||||| ||
-ctgcggttaaagaatcaacgaagctcc-aaccacaaacaattatattctgcagcttggtacccgattcga
-agcggttatggtgtgggagtgaacaatatcatactgttag-ctgatttaaacgatgcatcaaaaggatat
-|||| |||||||||||||||||||||||| ||| || | | | ||  |||| |||||||||||||| |||
-agcgattatggtgtgggagtgaacaatataatattgat-gtcagagctaaaagatgcatcaaaagggtat
-ttggtgaatgatgccattatctttgaagctgaaatggttaaggtctctataaccaacatcgtctccgctt
- ||||||||||||||||||||||||||||||||||||||||||||||| | || ||||| ||||||| ||
-atggtgaatgatgccattatctttgaagctgaaatggttaaggtctctgtgacaaacatagtctccgttt
-aaatatc
-|||||||
-aaatatc
+Sbjct  11   aaatatttgtctgttacagatggaacagtgaagcgatacaacgatgcaaaaaaagagtggggattcacac  80
+            ||||||||| ||||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||
+Query  45   aaatatttgactgttacagatggaacagtgaagcgatacaacgatgcnaaaaaagagtggggattcacac  114
+
+Sbjct  81   aattgatttctcttccaacattctacaacgcgaacgaagggtaccttgtgcaggacacagcttcttttgg  150
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  115  aattgatttctcttccaacattctacaacgcgaacgaagggtaccttgtgcaggacacagcttcttttgg  184
+
+Sbjct  151  tgctgagatcttcatcgttaacccgacagaaaaacaagagaaagtcacattcatatcaaaccctccagac  220
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ||
+Query  185  tgctgagatcttcatcgttaacccgacagaaaaacaagagaaagtcacattcatatcaaaccctccaaac  254
+
+Sbjct  221  aatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactccgatgattttc  290
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ||||||||||
+Query  255  aatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactctgatgattttc  324
+
+Sbjct  291  tcgttgaagaccgatactggagactaggatttaacccgaaaggggatggaggaggaagaccacatgcact  360
+            | |||| ||||||||||||||||||||||||||||||||||||   ||| ||||||||||||||||||||
+Query  325  tngttggagaccgatactggagactaggatttaacccgaaaggatctggtggaggaagaccacatgcact  394
+
+Sbjct  361  tccaatcttcctatttgctcaaggccataaggcaaacgcagttgctacaaacacttggggagcggttaat  430
+            |||||||||||||| ||||||||||||||||||||||||||||| |||||||||||||||||||||||||
+Query  395  tccaatcttcctatatgctcaaggccataaggcaaacgcagttgttacaaacacttggggagcggttaat  464
+
+Sbjct  431  ctgcggttaaagaatcaacgaag-tactaaccatagacaaatatattctgcagcttggtacccgattgga  499
+            ||||||||||||||||||||||| | | ||||| | |||| |||||||||||||||||||||||||| ||
+Query  465  ctgcggttaaagaatcaacgaagctcc-aaccacaaacaattatattctgcagcttggtacccgattcga  533
+
+Sbjct  500  agcggttatggtgtgggagtgaacaatatcatactgttag-ctgatttaaacgatgcatcaaaaggatat  568
+            |||| |||||||||||||||||||||||| ||| || | | | ||  |||| |||||||||||||| |||
+Query  534  agcgattatggtgtgggagtgaacaatataatattgat-gtcagagctaaaagatgcatcaaaagggtat  602
+
+Sbjct  569  ttggtgaatgatgccattatctttgaagctgaaatggttaaggtctctataaccaacatcgtctccgctt  638
+             ||||||||||||||||||||||||||||||||||||||||||||||| | || ||||| ||||||| ||
+Query  603  atggtgaatgatgccattatctttgaagctgaaatggttaaggtctctgtgacaaacatagtctccgttt  672
+
+Sbjct  639  aaatatc  645
+            |||||||
+Query  673  aaatatc  679
+
 # polishing(m=200,d=-800,p=30): 64/64
 565 79 59 F 566 1495 2 1020 37 93.46
-gccggatttggtttgtatccaacgttgttttgtttttctttcaataatctcatagatcttat-gttggtg
-||||| ||||||||||  ||||||||| ||||  |||| ||| |||| | ||| |  ||| | |||||  
-gccgg-tttggtttgtncccaacgttg-tttggntttccttcnataaccccatggnccttntggttgg-n
-ataatggtttaggtgatttttcgc-ttaaaga-tctttattatccaattcgatcttttgagttt-gagat
- |||||||||||| | |||||||| ||||||| | ||||||| ||||||||| ||||  ||||| | |||
-ntaatggtttaggngttttttcgcattaaagact-tttattanccaattcgacctttnnagtttggggat
-ttgc-aggaatcaa-tttagagatttgcatc-ttaagttgaagaaaagaagaagttttcgttgcatatta
-||||  ||| |||| ||| |||| ||||||| ||||||||||| ||||||||||||||||||||||||||
-ttgcngggattcaattttggaga-ttgcatcnttaagttgaag-aaagaagaagttttcgttgcatatta
-atattgcccttagctgctaagtttttatctggaagttcgattggtttgtttaaggtgaaacccagaagaa
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-atattgcccttagctgctaagtttttatctggaagttcgattggtttgtttaaggtgaaacccagaagaa
-tcaaacttgctttcattatcaatgttgatttttctcaccggaatcaatctcagacggcaaaggaagatgt
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-tcaaacttgctttcattatcaatgttgatttttctcaccggaatcaatctcagacggcaaaggaagatgt
-cggaaatgcttttagattactcatccaaacgtgtgctgtgttgttttcagctgttgacacgtaagattgg
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-cggaaatgcttttagattactcatccaaacgtgtgctgtgttgttttcagctgttgacacgtaagattgg
-ttggagccacaatatcagttcttcatctttaagcaatgttcttggactcatttaggacttcaaatgttct
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-ttggagccacaatatcagttcttcatctttaagcaatgttcttggactcatttaggacttcaaatgttct
-tgtaatctcagtgtatgttgggcttttggttttttagcccatgtatggttggttaacgttaataagattt
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-tgtaatctcagtgtatgttgggcttttggttttttagcccatgtatggttggttaacgttaataagattt
-tccacttatgag
-||||||||||||
-tccacttatgag
+Sbjct  59   gccggatttggtttgtatccaacgttgttttgtttttctttcaataatctcatagatcttat-gttggtg  127
+            ||||| ||||||||||  ||||||||| ||||  |||| ||| |||| | ||| |  ||| | |||||  
+Query  2    gccgg-tttggtttgtncccaacgttg-tttggntttccttcnataaccccatggnccttntggttgg-n  68
+
+Sbjct  128  ataatggtttaggtgatttttcgc-ttaaaga-tctttattatccaattcgatcttttgagttt-gagat  194
+             |||||||||||| | |||||||| ||||||| | ||||||| ||||||||| ||||  ||||| | |||
+Query  69   ntaatggtttaggngttttttcgcattaaagact-tttattanccaattcgacctttnnagtttggggat  137
+
+Sbjct  195  ttgc-aggaatcaa-tttagagatttgcatc-ttaagttgaagaaaagaagaagttttcgttgcatatta  261
+            ||||  ||| |||| ||| |||| ||||||| ||||||||||| ||||||||||||||||||||||||||
+Query  138  ttgcngggattcaattttggaga-ttgcatcnttaagttgaag-aaagaagaagttttcgttgcatatta  205
+
+Sbjct  262  atattgcccttagctgctaagtttttatctggaagttcgattggtttgtttaaggtgaaacccagaagaa  331
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  206  atattgcccttagctgctaagtttttatctggaagttcgattggtttgtttaaggtgaaacccagaagaa  275
+
+Sbjct  332  tcaaacttgctttcattatcaatgttgatttttctcaccggaatcaatctcagacggcaaaggaagatgt  401
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  276  tcaaacttgctttcattatcaatgttgatttttctcaccggaatcaatctcagacggcaaaggaagatgt  345
+
+Sbjct  402  cggaaatgcttttagattactcatccaaacgtgtgctgtgttgttttcagctgttgacacgtaagattgg  471
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  346  cggaaatgcttttagattactcatccaaacgtgtgctgtgttgttttcagctgttgacacgtaagattgg  415
+
+Sbjct  472  ttggagccacaatatcagttcttcatctttaagcaatgttcttggactcatttaggacttcaaatgttct  541
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  416  ttggagccacaatatcagttcttcatctttaagcaatgttcttggactcatttaggacttcaaatgttct  485
+
+Sbjct  542  tgtaatctcagtgtatgttgggcttttggttttttagcccatgtatggttggttaacgttaataagattt  611
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  486  tgtaatctcagtgtatgttgggcttttggttttttagcccatgtatggttggttaacgttaataagattt  555
+
+Sbjct  612  tccacttatgag  623
+            ||||||||||||
+Query  556  tccacttatgag  567
+
 # polishing(m=200,d=-800,p=30): 53/64, seed_on_end
 728 5 11 F 732 16 129 1307 51 93.01
-aaatatttgtctgttacagatggaacagtgaagcgatacaacgatgcaaaaaaagagtggggattcacac
-||||||||| |||||||||||||   |||||||||||| ||| |||| |||||||| ||||| |||  ||
-aaatatttgactgttacagatggcttagtgaagcgatataacaatgcgaaaaaagaatggggtttcggac
-aattgatttctc-ttccaacattctacaacgcgaacgaagggtaccttgtgcaggacacagcttcttttg
-|||||||| |||  | ||||||||||||||||||||||||| |||||||  |||||||| | ||||||||
-aattgattcctcgat-caacattctacaacgcgaacgaaggttaccttgaccaggacactggttcttttg
-gtgctgagatcttcatcgttaacccgacagaaaaacaagagaaagtcacattcatatcaaaccctccaga
-||||||||||||| || ||||| ||| |  || ||||||||||||| ||||||||||||||||||||| |
-gtgctgagatctttattgttaaaccggctcaacaacaagagaaagttacattcatatcaaaccctccaaa
-caatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactccgatgatttt
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ||
-caatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactccgatgatntt
-ctcgttgaagaccgatactggagactaggatttaacccgaaaggggatggaggaggaagaccacatgcac
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-ctcgttgaagaccgatactggagactaggatttaacccgaaaggggatggaggaggaagaccacatgcac
-ttccaatcttcctatttgctcaaggccataaggcaaacgcagttgctacaaacacttggggagcggttaa
-||||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||
-ttccaatcttcctatttgctcaaggccataaggcaaatgcagttgctacaaacacttggggagcggttaa
-tctgcggttaaagaatcaacgaagtactaaccatagacaaatatattctgcagcttggtacccgattgga
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-tctgcggttaaagaatcaacgaagtactaaccatagacaaatatattctgcagcttggtacccgattgga
-agcggttatggtgtgggagtgaacaatatcatactgttagctgatttaaacgatgcatcaaaaggatatt
-| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ||||||||||
-aacggttatggtgtgggagtgaacaatatcatactgttagctgatttaaacgatgcatccaaaggatatt
-tggtgaatgatgccattatctttgaagctgaaatggttaaggtctctataaccaacatcgtctccgctta
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-tggtgaatgatgccattatctttgaagctgaaatggttaaggtctctataaccaacatcgtctccgctta
-aatatctgcacttctttgtctacgatcaatcaaccttatgaataaagagatatttgat--ga-g--tttg
-||||||||| ||||||||||||| | ||||| |||||||||||||| | || ||| ||  || |  ||||
-aatatctgcncttctttgtctacnancaatccaccttatgaataaaaaaat-tttaatttgatgaatttg
-taataagaaaacgttaatgtttgtgaattgtgaa
-| |||| ||||| ||||||||||| || ||||||
-ttataanaaaactttaatgtttgttaaatgtgaa
+Sbjct  11   aaatatttgtctgttacagatggaacagtgaagcgatacaacgatgcaaaaaaagagtggggattcacac  80
+            ||||||||| |||||||||||||   |||||||||||| ||| |||| |||||||| ||||| |||  ||
+Query  129  aaatatttgactgttacagatggcttagtgaagcgatataacaatgcgaaaaaagaatggggtttcggac  198
+
+Sbjct  81   aattgatttctc-ttccaacattctacaacgcgaacgaagggtaccttgtgcaggacacagcttcttttg  149
+            |||||||| |||  | ||||||||||||||||||||||||| |||||||  |||||||| | ||||||||
+Query  199  aattgattcctcgat-caacattctacaacgcgaacgaaggttaccttgaccaggacactggttcttttg  267
+
+Sbjct  150  gtgctgagatcttcatcgttaacccgacagaaaaacaagagaaagtcacattcatatcaaaccctccaga  219
+            ||||||||||||| || ||||| ||| |  || ||||||||||||| ||||||||||||||||||||| |
+Query  268  gtgctgagatctttattgttaaaccggctcaacaacaagagaaagttacattcatatcaaaccctccaaa  337
+
+Sbjct  220  caatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactccgatgatttt  289
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ||
+Query  338  caatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactccgatgatntt  407
+
+Sbjct  290  ctcgttgaagaccgatactggagactaggatttaacccgaaaggggatggaggaggaagaccacatgcac  359
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  408  ctcgttgaagaccgatactggagactaggatttaacccgaaaggggatggaggaggaagaccacatgcac  477
+
+Sbjct  360  ttccaatcttcctatttgctcaaggccataaggcaaacgcagttgctacaaacacttggggagcggttaa  429
+            ||||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||
+Query  478  ttccaatcttcctatttgctcaaggccataaggcaaatgcagttgctacaaacacttggggagcggttaa  547
+
+Sbjct  430  tctgcggttaaagaatcaacgaagtactaaccatagacaaatatattctgcagcttggtacccgattgga  499
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  548  tctgcggttaaagaatcaacgaagtactaaccatagacaaatatattctgcagcttggtacccgattgga  617
+
+Sbjct  500  agcggttatggtgtgggagtgaacaatatcatactgttagctgatttaaacgatgcatcaaaaggatatt  569
+            | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ||||||||||
+Query  618  aacggttatggtgtgggagtgaacaatatcatactgttagctgatttaaacgatgcatccaaaggatatt  687
+
+Sbjct  570  tggtgaatgatgccattatctttgaagctgaaatggttaaggtctctataaccaacatcgtctccgctta  639
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  688  tggtgaatgatgccattatctttgaagctgaaatggttaaggtctctataaccaacatcgtctccgctta  757
+
+Sbjct  640  aatatctgcacttctttgtctacgatcaatcaaccttatgaataaagagatatttgat--ga-g--tttg  704
+            ||||||||| ||||||||||||| | ||||| |||||||||||||| | || ||| ||  || |  ||||
+Query  758  aatatctgcncttctttgtctacnancaatccaccttatgaataaaaaaat-tttaatttgatgaatttg  826
+
+Sbjct  705  taataagaaaacgttaatgtttgtgaattgtgaa  738
+            | |||| ||||| ||||||||||| || ||||||
+Query  827  ttataanaaaactttaatgtttgttaaatgtgaa  860
+
 # polishing(m=200,d=-800,p=30): 64/45
 610 3 0 F 607 39 72 1163 18 97.04
-gtgaagcgatacaacgatgcaaaaaaagagtggggattcacacaattgatttctcttccaacattctaca
-|||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||||||||||
-gtgaagcgatacaacgatgcnaaaaaagagtggggattcacacaattgatttctcttccaacattctaca
-acgcgaacgaagggtacnttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgac
-||||||||||||||||| ||||||||||||||||||||||||||||||||||||||||||||||||||||
-acgcgaacgaagggtaccttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgac
-agaaaaacaagagaaagtcacattcatatcaaaccctccgaacaatgttttcacttggaagatacttcgt
-||||||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||
-agaaaaacaagagaaagtcacattcatatcaaaccctccaaacaatgttttcacttggaagatacttcgt
-ttctctaccttggaagataaattctattactctgatgattttctcgttgaagaccgatactggagattag
-|||||||||||||||||||||||||||||||||||||||||||| |||| |||||||||||||||| |||
-ttctctaccttggaagataaattctattactctgatgattttctngttggagaccgatactggagactag
-gatttaacccgaaaggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggcca
-|||||||||||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||
-gatttaacccgaaaggatctggtggaggaagaccacatgcacttccaatcttcctatatgctcaaggcca
-taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc
-aaccacaaacaattatattctgcagcttggtaccccgattcgaagcgattatggtgtgggagtgaacaat
-||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||||
-aaccacaaacaattatattctgcagcttggtaccc-gattcgaagcgattatggtgtgggagtgaacaat
-atcatattgatgtcagaagctaaaagatgcatcnaaagggtatatggtgaatgatgccattatcttttga
-|| |||||||||||||| ||||||||||||||| ||||||||||||||||||||||||||||||||| ||
-ataatattgatgtcaga-gctaaaagatgcatcaaaagggtatatggtgaatgatgccattatcttt-ga
-aactgaaatggttaaggtctctgtgaacaa-catantctccncttaaatat
-| |||||||||||||||||||||||| ||| |||| |||||  ||||||||
-agctgaaatggttaaggtctctgtga-caaacatagtctccgtttaaatat
+Sbjct  0    gtgaagcgatacaacgatgcaaaaaaagagtggggattcacacaattgatttctcttccaacattctaca  69
+            |||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||||||||||
+Query  72   gtgaagcgatacaacgatgcnaaaaaagagtggggattcacacaattgatttctcttccaacattctaca  141
+
+Sbjct  70   acgcgaacgaagggtacnttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgac  139
+            ||||||||||||||||| ||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  142  acgcgaacgaagggtaccttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgac  211
+
+Sbjct  140  agaaaaacaagagaaagtcacattcatatcaaaccctccgaacaatgttttcacttggaagatacttcgt  209
+            ||||||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||
+Query  212  agaaaaacaagagaaagtcacattcatatcaaaccctccaaacaatgttttcacttggaagatacttcgt  281
+
+Sbjct  210  ttctctaccttggaagataaattctattactctgatgattttctcgttgaagaccgatactggagattag  279
+            |||||||||||||||||||||||||||||||||||||||||||| |||| |||||||||||||||| |||
+Query  282  ttctctaccttggaagataaattctattactctgatgattttctngttggagaccgatactggagactag  351
+
+Sbjct  280  gatttaacccgaaaggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggcca  349
+            |||||||||||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||
+Query  352  gatttaacccgaaaggatctggtggaggaagaccacatgcacttccaatcttcctatatgctcaaggcca  421
+
+Sbjct  350  taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc  419
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  422  taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc  491
+
+Sbjct  420  aaccacaaacaattatattctgcagcttggtaccccgattcgaagcgattatggtgtgggagtgaacaat  489
+            ||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||||
+Query  492  aaccacaaacaattatattctgcagcttggtaccc-gattcgaagcgattatggtgtgggagtgaacaat  560
+
+Sbjct  490  atcatattgatgtcagaagctaaaagatgcatcnaaagggtatatggtgaatgatgccattatcttttga  559
+            || |||||||||||||| ||||||||||||||| ||||||||||||||||||||||||||||||||| ||
+Query  561  ataatattgatgtcaga-gctaaaagatgcatcaaaagggtatatggtgaatgatgccattatcttt-ga  628
+
+Sbjct  560  aactgaaatggttaaggtctctgtgaacaa-catantctccncttaaatat  609
+            | |||||||||||||||||||||||| ||| |||| |||||  ||||||||
+Query  629  agctgaaatggttaaggtctctgtga-caaacatagtctccgtttaaatat  678
+
 # polishing(m=200,d=-800,p=30): 64/64
 721 6 71 F 724 39 143 1343 34 95.29
-cgcgaangaagggtaccttgtgnangacnnnncttctttnggtgctganatcttcatgcgntancccgac
-|||||| ||||||||||||||| | |||    ||||||| |||||||| |||||||| || || ||||||
-cgcgaacgaagggtaccttgtgcaggacacagcttcttttggtgctgagatcttcat-cgttaacccgac
-agaaanacnnnananagtcncattcatatcnnaccctccnaacaatgttttcacttggaagatacttcgt
-||||| ||   | | |||| ||||||||||  ||||||| ||||||||||||||||||||||||||||||
-agaaaaacaagagaaagtcacattcatatcaaaccctccaaacaatgttttcacttggaagatacttcgt
-ttctctaccttggaagataaattctattactctgatgattttctcgttgaagaccgatactggagattag
-|||||||||||||||||||||||||||||||||||||||||||| |||| |||||||||||||||| |||
-ttctctaccttggaagataaattctattactctgatgattttctngttggagaccgatactggagactag
-gatttaacccgaaaggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggcca
-|||||||||||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||
-gatttaacccgaaaggatctggtggaggaagaccacatgcacttccaatcttcctatatgctcaaggcca
-taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc
-aaccacaaacaattatattctgcagcttggtacccgattcgaagcgattatggtgtgggagtgaacaata
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-aaccacaaacaattatattctgcagcttggtacccgattcgaagcgattatggtgtgggagtgaacaata
-taatattgatgtcagagctaaaagatgcatccaaaagggtatatggtgaatgatgccattatctttgaag
-||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||||||||
-taatattgatgtcagagctaaaagatgcatc-aaaagggtatatggtgaatgatgccattatctttgaag
-ctgaaatggttaaggtctctgtgacaaacatagtctccgtttaaatatcactacttctttttcaacaaca
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-ctgaaatggttaaggtctctgtgacaaacatagtctccgtttaaatatcactacttctttttcaacaaca
-accttacgaataaagtggactttgatgagtttaatttgttatacgacaacgttgttgatgcttgtgatgt
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-accttacgaataaagtggactttgatgagtttaatttgttatacgacaacgttgttgatgcttgtgatgt
-aatcgttgtttctgctctccgagttttcgttttactttttttttcatgttttgctatc-aatgaaa-taa
- ||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ||||||| |||
-natcgttgtttctgctctccgagttttcgttttactttttttttcatgttttgctatccaatgaaaataa
-a-ggtataaaactctc-tt-ggtttt
-| ||| |||||||||| || ||||||
-aaggtttaaaactctcctttggtttt
+Sbjct  71   cgcgaangaagggtaccttgtgnangacnnnncttctttnggtgctganatcttcatgcgntancccgac  140
+            |||||| ||||||||||||||| | |||    ||||||| |||||||| |||||||| || || ||||||
+Query  143  cgcgaacgaagggtaccttgtgcaggacacagcttcttttggtgctgagatcttcat-cgttaacccgac  211
+
+Sbjct  141  agaaanacnnnananagtcncattcatatcnnaccctccnaacaatgttttcacttggaagatacttcgt  210
+            ||||| ||   | | |||| ||||||||||  ||||||| ||||||||||||||||||||||||||||||
+Query  212  agaaaaacaagagaaagtcacattcatatcaaaccctccaaacaatgttttcacttggaagatacttcgt  281
+
+Sbjct  211  ttctctaccttggaagataaattctattactctgatgattttctcgttgaagaccgatactggagattag  280
+            |||||||||||||||||||||||||||||||||||||||||||| |||| |||||||||||||||| |||
+Query  282  ttctctaccttggaagataaattctattactctgatgattttctngttggagaccgatactggagactag  351
+
+Sbjct  281  gatttaacccgaaaggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggcca  350
+            |||||||||||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||
+Query  352  gatttaacccgaaaggatctggtggaggaagaccacatgcacttccaatcttcctatatgctcaaggcca  421
+
+Sbjct  351  taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc  420
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  422  taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc  491
+
+Sbjct  421  aaccacaaacaattatattctgcagcttggtacccgattcgaagcgattatggtgtgggagtgaacaata  490
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  492  aaccacaaacaattatattctgcagcttggtacccgattcgaagcgattatggtgtgggagtgaacaata  561
+
+Sbjct  491  taatattgatgtcagagctaaaagatgcatccaaaagggtatatggtgaatgatgccattatctttgaag  560
+            ||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||||||||
+Query  562  taatattgatgtcagagctaaaagatgcatc-aaaagggtatatggtgaatgatgccattatctttgaag  630
+
+Sbjct  561  ctgaaatggttaaggtctctgtgacaaacatagtctccgtttaaatatcactacttctttttcaacaaca  630
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  631  ctgaaatggttaaggtctctgtgacaaacatagtctccgtttaaatatcactacttctttttcaacaaca  700
+
+Sbjct  631  accttacgaataaagtggactttgatgagtttaatttgttatacgacaacgttgttgatgcttgtgatgt  700
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  701  accttacgaataaagtggactttgatgagtttaatttgttatacgacaacgttgttgatgcttgtgatgt  770
+
+Sbjct  701  aatcgttgtttctgctctccgagttttcgttttactttttttttcatgttttgctatc-aatgaaa-taa  768
+             ||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ||||||| |||
+Query  771  natcgttgtttctgctctccgagttttcgttttactttttttttcatgttttgctatccaatgaaaataa  840
+
+Sbjct  769  a-ggtataaaactctc-tt-ggtttt  791
+            | ||| |||||||||| || ||||||
+Query  841  aaggtttaaaactctcctttggtttt  866
+
 # polishing(m=200,d=-800,p=30): 31/64
 581 2 45 F 600 5 11 1010 57 90.35
-aaatatttgactgttacagatggcttagtgaagcgatataacaatgcgaaaaaagaatggggtttcggac
-||||||||| |||||||||||||   |||||||||||| ||| |||| |||||||| ||||| |||  ||
-aaatatttgtctgttacagatggaacagtgaagcgatacaacgatgcaaaaaaagagtggggattcacac
-aattgattcctcgat-caacattctacaacgcgaacgaaggttaccttgaccaggacactggttcttttg
-|||||||| |||  | ||||||||||||||||||||||||| |||||||  |||||||| | ||||||||
-aattgatttctc-ttccaacattctacaacgcgaacgaagggtaccttgtgcaggacacagcttcttttg
-gtgctgagatctttattgttaaaccggctcaacaacaagagaaagttacattcatatcaaaccctccaaa
-||||||||||||| || ||||| ||| |  || ||||||||||||| ||||||||||||||||||||| |
-gtgctgagatcttcatcgttaacccgacagaaaaacaagagaaagtcacattcatatcaaaccctccaga
-caatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactccgatgatttt
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-caatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactccgatgatttt
-ctcgttgaagaccgatactggagactaggatttaacccgaaaggggatggaggaggaagaccacatgcac
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-ctcgttgaagaccgatactggagactaggatttaacccgaaaggggatggaggaggaagaccacatgcac
-ttccaatcttcctatttgctcaaggccataaggcaaatgcagttgctacaaacacttggggagcggttaa
-||||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||
-ttccaatcttcctatttgctcaaggccataaggcaaacgcagttgctacaaacacttggggagcggttaa
-tctgcggttaaagaatcaacgaanttctaaccatagacaa-tatnt-ctgca-cttggtaccc-attgga
-||||||||||||||||||||||| | |||||||||||||| ||| | ||||| |||||||||| ||||||
-tctgcggttaaagaatcaacgaagtactaaccatagacaaatatattctgcagcttggtacccgattgga
-aacg-ttatggtntgggant-aaca-tatc-tactgtt-gctgatt-aa-cga-gcatccaaaggat-tt
-| || ||||||| ||||| | |||| |||| ||||||| ||||||| || ||| ||||| ||||||| ||
-agcggttatggtgtgggagtgaacaatatcatactgttagctgatttaaacgatgcatcaaaaggatatt
-tggtga-tga-gccnt-atctt-gaa-ctgaa-tggttaag
-|||||| ||| ||| | ||||| ||| ||||| ||||||||
-tggtgaatgatgccattatctttgaagctgaaatggttaag
+Sbjct  45   aaatatttgactgttacagatggcttagtgaagcgatataacaatgcgaaaaaagaatggggtttcggac  114
+            ||||||||| |||||||||||||   |||||||||||| ||| |||| |||||||| ||||| |||  ||
+Query  11   aaatatttgtctgttacagatggaacagtgaagcgatacaacgatgcaaaaaaagagtggggattcacac  80
+
+Sbjct  115  aattgattcctcgat-caacattctacaacgcgaacgaaggttaccttgaccaggacactggttcttttg  183
+            |||||||| |||  | ||||||||||||||||||||||||| |||||||  |||||||| | ||||||||
+Query  81   aattgatttctc-ttccaacattctacaacgcgaacgaagggtaccttgtgcaggacacagcttcttttg  149
+
+Sbjct  184  gtgctgagatctttattgttaaaccggctcaacaacaagagaaagttacattcatatcaaaccctccaaa  253
+            ||||||||||||| || ||||| ||| |  || ||||||||||||| ||||||||||||||||||||| |
+Query  150  gtgctgagatcttcatcgttaacccgacagaaaaacaagagaaagtcacattcatatcaaaccctccaga  219
+
+Sbjct  254  caatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactccgatgatttt  323
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  220  caatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactccgatgatttt  289
+
+Sbjct  324  ctcgttgaagaccgatactggagactaggatttaacccgaaaggggatggaggaggaagaccacatgcac  393
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  290  ctcgttgaagaccgatactggagactaggatttaacccgaaaggggatggaggaggaagaccacatgcac  359
+
+Sbjct  394  ttccaatcttcctatttgctcaaggccataaggcaaatgcagttgctacaaacacttggggagcggttaa  463
+            ||||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||
+Query  360  ttccaatcttcctatttgctcaaggccataaggcaaacgcagttgctacaaacacttggggagcggttaa  429
+
+Sbjct  464  tctgcggttaaagaatcaacgaanttctaaccatagacaa-tatnt-ctgca-cttggtaccc-attgga  529
+            ||||||||||||||||||||||| | |||||||||||||| ||| | ||||| |||||||||| ||||||
+Query  430  tctgcggttaaagaatcaacgaagtactaaccatagacaaatatattctgcagcttggtacccgattgga  499
+
+Sbjct  530  aacg-ttatggtntgggant-aaca-tatc-tactgtt-gctgatt-aa-cga-gcatccaaaggat-tt  590
+            | || ||||||| ||||| | |||| |||| ||||||| ||||||| || ||| ||||| ||||||| ||
+Query  500  agcggttatggtgtgggagtgaacaatatcatactgttagctgatttaaacgatgcatcaaaaggatatt  569
+
+Sbjct  591  tggtga-tga-gccnt-atctt-gaa-ctgaa-tggttaag  625
+            |||||| ||| ||| | ||||| ||| ||||| ||||||||
+Query  570  tggtgaatgatgccattatctttgaagctgaaatggttaag  610
+
 # polishing(m=200,d=-800,p=30): 64/64
 680 16 84 F 680 39 0 1168 64 90.59
-gtgaatgttgatctcaaactctttgtccataatgggaagctacacaaatatttgactgttacagatggct
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||  
-gtgaatgttgatctcaaactctttgtccataatgggaagctacacaaatatttgactgttacagatggaa
-tagtgaagcgatataacaatgcgaaaaaagaatggggtttcggacaattgattcctcgat-caacattct
- |||||||||||| ||| |||| |||||||| ||||| |||  |||||||||| |||  | |||||||||
-cagtgaagcgatacaacgatgcnaaaaaagagtggggattcacacaattgatttctc-ttccaacattct
-acaacgcgaacgaaggttaccttgaccaggacactggttcttttggtgctgagatctttattgttaaacc
-|||||||||||||||| |||||||  |||||||| | ||||||||||||||||||||| || ||||| ||
-acaacgcgaacgaagggtaccttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaaccc
-ggctcaacaacaagagaaagttacattcatatcaaaccctccaaacaatgttttcacttggaagatactt
-| |  || ||||||||||||| ||||||||||||||||||||||||||||||||||||||||||||||||
-gacagaaaaacaagagaaagtcacattcatatcaaaccctccaaacaatgttttcacttggaagatactt
-cgtttctctaccttggaagataaattctattactccgatgatnttctcgttgaagaccgatactggagac
-||||||||||||||||||||||||||||||||||| |||||| |||| |||| |||||||||||||||||
-cgtttctctaccttggaagataaattctattactctgatgattttctngttggagaccgatactggagac
-taggatttaacccgaaaggggatggaggaggaagaccacatgcacttccaatcttcctatttgctcaagg
-|||||||||||||||||||   ||| |||||||||||||||||||||||||||||||||| |||||||||
-taggatttaacccgaaaggatctggtggaggaagaccacatgcacttccaatcttcctatatgctcaagg
-ccataaggcaaatgcagttgctacaaacacttggggagcggttaatctgcggttaaagaatcaacgaag-
-|||||||||||| ||||||| |||||||||||||||||||||||||||||||||||||||||||||||| 
-ccataaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagc
-tactaaccatagacaaatatattctgcagcttggtacccgattggaaacggttatggtgtgggagtgaac
-| | ||||| | |||| |||||||||||||||||||||||||| ||| || |||||||||||||||||||
-tcc-aaccacaaacaattatattctgcagcttggtacccgattcgaagcgattatggtgtgggagtgaac
-aatatcatactgttag-ctgatttaaacgatgcatccaaaggatatttggtgaatgatgccattatcttt
-||||| ||| || | | | ||  |||| |||||||| ||||| ||| |||||||||||||||||||||||
-aatataatattgat-gtcagagctaaaagatgcatcaaaagggtatatggtgaatgatgccattatcttt
-gaagctgaaatggttaaggtctctataaccaacatcgtctccgcttaaatatc
-|||||||||||||||||||||||| | || ||||| ||||||| |||||||||
-gaagctgaaatggttaaggtctctgtgacaaacatagtctccgtttaaatatc
+Sbjct  84   gtgaatgttgatctcaaactctttgtccataatgggaagctacacaaatatttgactgttacagatggct  153
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||  
+Query  0    gtgaatgttgatctcaaactctttgtccataatgggaagctacacaaatatttgactgttacagatggaa  69
+
+Sbjct  154  tagtgaagcgatataacaatgcgaaaaaagaatggggtttcggacaattgattcctcgat-caacattct  222
+             |||||||||||| ||| |||| |||||||| ||||| |||  |||||||||| |||  | |||||||||
+Query  70   cagtgaagcgatacaacgatgcnaaaaaagagtggggattcacacaattgatttctc-ttccaacattct  138
+
+Sbjct  223  acaacgcgaacgaaggttaccttgaccaggacactggttcttttggtgctgagatctttattgttaaacc  292
+            |||||||||||||||| |||||||  |||||||| | ||||||||||||||||||||| || ||||| ||
+Query  139  acaacgcgaacgaagggtaccttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaaccc  208
+
+Sbjct  293  ggctcaacaacaagagaaagttacattcatatcaaaccctccaaacaatgttttcacttggaagatactt  362
+            | |  || ||||||||||||| ||||||||||||||||||||||||||||||||||||||||||||||||
+Query  209  gacagaaaaacaagagaaagtcacattcatatcaaaccctccaaacaatgttttcacttggaagatactt  278
+
+Sbjct  363  cgtttctctaccttggaagataaattctattactccgatgatnttctcgttgaagaccgatactggagac  432
+            ||||||||||||||||||||||||||||||||||| |||||| |||| |||| |||||||||||||||||
+Query  279  cgtttctctaccttggaagataaattctattactctgatgattttctngttggagaccgatactggagac  348
+
+Sbjct  433  taggatttaacccgaaaggggatggaggaggaagaccacatgcacttccaatcttcctatttgctcaagg  502
+            |||||||||||||||||||   ||| |||||||||||||||||||||||||||||||||| |||||||||
+Query  349  taggatttaacccgaaaggatctggtggaggaagaccacatgcacttccaatcttcctatatgctcaagg  418
+
+Sbjct  503  ccataaggcaaatgcagttgctacaaacacttggggagcggttaatctgcggttaaagaatcaacgaag-  572
+            |||||||||||| ||||||| |||||||||||||||||||||||||||||||||||||||||||||||| 
+Query  419  ccataaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagc  488
+
+Sbjct  573  tactaaccatagacaaatatattctgcagcttggtacccgattggaaacggttatggtgtgggagtgaac  641
+            | | ||||| | |||| |||||||||||||||||||||||||| ||| || |||||||||||||||||||
+Query  489  tcc-aaccacaaacaattatattctgcagcttggtacccgattcgaagcgattatggtgtgggagtgaac  557
+
+Sbjct  642  aatatcatactgttag-ctgatttaaacgatgcatccaaaggatatttggtgaatgatgccattatcttt  710
+            ||||| ||| || | | | ||  |||| |||||||| ||||| ||| |||||||||||||||||||||||
+Query  558  aatataatattgat-gtcagagctaaaagatgcatcaaaagggtatatggtgaatgatgccattatcttt  626
+
+Sbjct  711  gaagctgaaatggttaaggtctctataaccaacatcgtctccgcttaaatatc  763
+            |||||||||||||||||||||||| | || ||||| ||||||| |||||||||
+Query  627  gaagctgaaatggttaaggtctctgtgacaaacatagtctccgtttaaatatc  679
+
 # polishing(m=200,d=-800,p=30): 64/64
 721 6 71 F 724 39 143 1343 34 95.29
-cgcgaangaagggtaccttgtgnangacnnnncttctttnggtgctganatcttcatgcgntancccgac
-|||||| ||||||||||||||| | |||    ||||||| |||||||| |||||||| || || ||||||
-cgcgaacgaagggtaccttgtgcaggacacagcttcttttggtgctgagatcttcat-cgttaacccgac
-agaaanacnnnananagtcncattcatatcnnaccctccnaacaatgttttcacttggaagatacttcgt
-||||| ||   | | |||| ||||||||||  ||||||| ||||||||||||||||||||||||||||||
-agaaaaacaagagaaagtcacattcatatcaaaccctccaaacaatgttttcacttggaagatacttcgt
-ttctctaccttggaagataaattctattactctgatgattttctcgttgaagaccgatactggagattag
-|||||||||||||||||||||||||||||||||||||||||||| |||| |||||||||||||||| |||
-ttctctaccttggaagataaattctattactctgatgattttctngttggagaccgatactggagactag
-gatttaacccgaaaggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggcca
-|||||||||||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||
-gatttaacccgaaaggatctggtggaggaagaccacatgcacttccaatcttcctatatgctcaaggcca
-taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc
-aaccacaaacaattatattctgcagcttggtacccgattcgaagcgattatggtgtgggagtgaacaata
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-aaccacaaacaattatattctgcagcttggtacccgattcgaagcgattatggtgtgggagtgaacaata
-taatattgatgtcagagctaaaagatgcatccaaaagggtatatggtgaatgatgccattatctttgaag
-||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||||||||
-taatattgatgtcagagctaaaagatgcatc-aaaagggtatatggtgaatgatgccattatctttgaag
-ctgaaatggttaaggtctctgtgacaaacatagtctccgtttaaatatcactacttctttttcaacaaca
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-ctgaaatggttaaggtctctgtgacaaacatagtctccgtttaaatatcactacttctttttcaacaaca
-accttacgaataaagtggactttgatgagtttaatttgttatacgacaacgttgttgatgcttgtgatgt
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-accttacgaataaagtggactttgatgagtttaatttgttatacgacaacgttgttgatgcttgtgatgt
-aatcgttgtttctgctctccgagttttcgttttactttttttttcatgttttgctatc-aatgaaa-taa
- ||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ||||||| |||
-natcgttgtttctgctctccgagttttcgttttactttttttttcatgttttgctatccaatgaaaataa
-a-ggtataaaactctc-tt-ggtttt
-| ||| |||||||||| || ||||||
-aaggtttaaaactctcctttggtttt
+Sbjct  71   cgcgaangaagggtaccttgtgnangacnnnncttctttnggtgctganatcttcatgcgntancccgac  140
+            |||||| ||||||||||||||| | |||    ||||||| |||||||| |||||||| || || ||||||
+Query  143  cgcgaacgaagggtaccttgtgcaggacacagcttcttttggtgctgagatcttcat-cgttaacccgac  211
+
+Sbjct  141  agaaanacnnnananagtcncattcatatcnnaccctccnaacaatgttttcacttggaagatacttcgt  210
+            ||||| ||   | | |||| ||||||||||  ||||||| ||||||||||||||||||||||||||||||
+Query  212  agaaaaacaagagaaagtcacattcatatcaaaccctccaaacaatgttttcacttggaagatacttcgt  281
+
+Sbjct  211  ttctctaccttggaagataaattctattactctgatgattttctcgttgaagaccgatactggagattag  280
+            |||||||||||||||||||||||||||||||||||||||||||| |||| |||||||||||||||| |||
+Query  282  ttctctaccttggaagataaattctattactctgatgattttctngttggagaccgatactggagactag  351
+
+Sbjct  281  gatttaacccgaaaggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggcca  350
+            |||||||||||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||
+Query  352  gatttaacccgaaaggatctggtggaggaagaccacatgcacttccaatcttcctatatgctcaaggcca  421
+
+Sbjct  351  taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc  420
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  422  taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc  491
+
+Sbjct  421  aaccacaaacaattatattctgcagcttggtacccgattcgaagcgattatggtgtgggagtgaacaata  490
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  492  aaccacaaacaattatattctgcagcttggtacccgattcgaagcgattatggtgtgggagtgaacaata  561
+
+Sbjct  491  taatattgatgtcagagctaaaagatgcatccaaaagggtatatggtgaatgatgccattatctttgaag  560
+            ||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||||||||
+Query  562  taatattgatgtcagagctaaaagatgcatc-aaaagggtatatggtgaatgatgccattatctttgaag  630
+
+Sbjct  561  ctgaaatggttaaggtctctgtgacaaacatagtctccgtttaaatatcactacttctttttcaacaaca  630
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  631  ctgaaatggttaaggtctctgtgacaaacatagtctccgtttaaatatcactacttctttttcaacaaca  700
+
+Sbjct  631  accttacgaataaagtggactttgatgagtttaatttgttatacgacaacgttgttgatgcttgtgatgt  700
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  701  accttacgaataaagtggactttgatgagtttaatttgttatacgacaacgttgttgatgcttgtgatgt  770
+
+Sbjct  701  aatcgttgtttctgctctccgagttttcgttttactttttttttcatgttttgctatc-aatgaaa-taa  768
+             ||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ||||||| |||
+Query  771  natcgttgtttctgctctccgagttttcgttttactttttttttcatgttttgctatccaatgaaaataa  840
+
+Sbjct  769  a-ggtataaaactctc-tt-ggtttt  791
+            | ||| |||||||||| || ||||||
+Query  841  aaggtttaaaactctcctttggtttt  866
+
 # polishing(m=200,d=-800,p=30): 31/64
 610 3 0 F 607 39 72 1163 18 97.04
-gtgaagcgatacaacgatgcaaaaaaagagtggggattcacacaattgatttctcttccaacattctaca
-|||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||||||||||
-gtgaagcgatacaacgatgcnaaaaaagagtggggattcacacaattgatttctcttccaacattctaca
-acgcgaacgaagggtacnttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgac
-||||||||||||||||| ||||||||||||||||||||||||||||||||||||||||||||||||||||
-acgcgaacgaagggtaccttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgac
-agaaaaacaagagaaagtcacattcatatcaaaccctccgaacaatgttttcacttggaagatacttcgt
-||||||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||
-agaaaaacaagagaaagtcacattcatatcaaaccctccaaacaatgttttcacttggaagatacttcgt
-ttctctaccttggaagataaattctattactctgatgattttctcgttgaagaccgatactggagattag
-|||||||||||||||||||||||||||||||||||||||||||| |||| |||||||||||||||| |||
-ttctctaccttggaagataaattctattactctgatgattttctngttggagaccgatactggagactag
-gatttaacccgaaaggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggcca
-|||||||||||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||
-gatttaacccgaaaggatctggtggaggaagaccacatgcacttccaatcttcctatatgctcaaggcca
-taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc
-aaccacaaacaattatattctgcagcttggtaccccgattcgaagcgattatggtgtgggagtgaacaat
-||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||||
-aaccacaaacaattatattctgcagcttggtaccc-gattcgaagcgattatggtgtgggagtgaacaat
-atcatattgatgtcagaagctaaaagatgcatcnaaagggtatatggtgaatgatgccattatcttttga
-|| |||||||||||||| ||||||||||||||| ||||||||||||||||||||||||||||||||| ||
-ataatattgatgtcaga-gctaaaagatgcatcaaaagggtatatggtgaatgatgccattatcttt-ga
-aactgaaatggttaaggtctctgtgaacaa-catantctccncttaaatat
-| |||||||||||||||||||||||| ||| |||| |||||  ||||||||
-agctgaaatggttaaggtctctgtga-caaacatagtctccgtttaaatat
+Sbjct  0    gtgaagcgatacaacgatgcaaaaaaagagtggggattcacacaattgatttctcttccaacattctaca  69
+            |||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||||||||||
+Query  72   gtgaagcgatacaacgatgcnaaaaaagagtggggattcacacaattgatttctcttccaacattctaca  141
+
+Sbjct  70   acgcgaacgaagggtacnttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgac  139
+            ||||||||||||||||| ||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  142  acgcgaacgaagggtaccttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgac  211
+
+Sbjct  140  agaaaaacaagagaaagtcacattcatatcaaaccctccgaacaatgttttcacttggaagatacttcgt  209
+            ||||||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||
+Query  212  agaaaaacaagagaaagtcacattcatatcaaaccctccaaacaatgttttcacttggaagatacttcgt  281
+
+Sbjct  210  ttctctaccttggaagataaattctattactctgatgattttctcgttgaagaccgatactggagattag  279
+            |||||||||||||||||||||||||||||||||||||||||||| |||| |||||||||||||||| |||
+Query  282  ttctctaccttggaagataaattctattactctgatgattttctngttggagaccgatactggagactag  351
+
+Sbjct  280  gatttaacccgaaaggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggcca  349
+            |||||||||||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||
+Query  352  gatttaacccgaaaggatctggtggaggaagaccacatgcacttccaatcttcctatatgctcaaggcca  421
+
+Sbjct  350  taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc  419
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  422  taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc  491
+
+Sbjct  420  aaccacaaacaattatattctgcagcttggtaccccgattcgaagcgattatggtgtgggagtgaacaat  489
+            ||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||||
+Query  492  aaccacaaacaattatattctgcagcttggtaccc-gattcgaagcgattatggtgtgggagtgaacaat  560
+
+Sbjct  490  atcatattgatgtcagaagctaaaagatgcatcnaaagggtatatggtgaatgatgccattatcttttga  559
+            || |||||||||||||| ||||||||||||||| ||||||||||||||||||||||||||||||||| ||
+Query  561  ataatattgatgtcaga-gctaaaagatgcatcaaaagggtatatggtgaatgatgccattatcttt-ga  628
+
+Sbjct  560  aactgaaatggttaaggtctctgtgaacaa-catantctccncttaaatat  609
+            | |||||||||||||||||||||||| ||| |||| |||||  ||||||||
+Query  629  agctgaaatggttaaggtctctgtga-caaacatagtctccgtttaaatat  678
+
 # polishing(m=200,d=-800,p=30): 64/64
 721 6 71 F 724 39 143 1343 34 95.29
-cgcgaangaagggtaccttgtgnangacnnnncttctttnggtgctganatcttcatgcgntancccgac
-|||||| ||||||||||||||| | |||    ||||||| |||||||| |||||||| || || ||||||
-cgcgaacgaagggtaccttgtgcaggacacagcttcttttggtgctgagatcttcat-cgttaacccgac
-agaaanacnnnananagtcncattcatatcnnaccctccnaacaatgttttcacttggaagatacttcgt
-||||| ||   | | |||| ||||||||||  ||||||| ||||||||||||||||||||||||||||||
-agaaaaacaagagaaagtcacattcatatcaaaccctccaaacaatgttttcacttggaagatacttcgt
-ttctctaccttggaagataaattctattactctgatgattttctcgttgaagaccgatactggagattag
-|||||||||||||||||||||||||||||||||||||||||||| |||| |||||||||||||||| |||
-ttctctaccttggaagataaattctattactctgatgattttctngttggagaccgatactggagactag
-gatttaacccgaaaggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggcca
-|||||||||||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||
-gatttaacccgaaaggatctggtggaggaagaccacatgcacttccaatcttcctatatgctcaaggcca
-taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc
-aaccacaaacaattatattctgcagcttggtacccgattcgaagcgattatggtgtgggagtgaacaata
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-aaccacaaacaattatattctgcagcttggtacccgattcgaagcgattatggtgtgggagtgaacaata
-taatattgatgtcagagctaaaagatgcatccaaaagggtatatggtgaatgatgccattatctttgaag
-|||||||||||||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||
-taatattgatgtcagagctaaaagatgcat-caaaagggtatatggtgaatgatgccattatctttgaag
-ctgaaatggttaaggtctctgtgacaaacatagtctccgtttaaatatcactacttctttttcaacaaca
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-ctgaaatggttaaggtctctgtgacaaacatagtctccgtttaaatatcactacttctttttcaacaaca
-accttacgaataaagtggactttgatgagtttaatttgttatacgacaacgttgttgatgcttgtgatgt
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-accttacgaataaagtggactttgatgagtttaatttgttatacgacaacgttgttgatgcttgtgatgt
-aatcgttgtttctgctctccgagttttcgttttactttttttttcatgttttgctatc-aatgaaa-taa
- ||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ||||||| |||
-natcgttgtttctgctctccgagttttcgttttactttttttttcatgttttgctatccaatgaaaataa
-a-ggtataaaactctc-tt-ggtttt
-| ||| |||||||||| || ||||||
-aaggtttaaaactctcctttggtttt
+Sbjct  71   cgcgaangaagggtaccttgtgnangacnnnncttctttnggtgctganatcttcatgcgntancccgac  140
+            |||||| ||||||||||||||| | |||    ||||||| |||||||| |||||||| || || ||||||
+Query  143  cgcgaacgaagggtaccttgtgcaggacacagcttcttttggtgctgagatcttcat-cgttaacccgac  211
+
+Sbjct  141  agaaanacnnnananagtcncattcatatcnnaccctccnaacaatgttttcacttggaagatacttcgt  210
+            ||||| ||   | | |||| ||||||||||  ||||||| ||||||||||||||||||||||||||||||
+Query  212  agaaaaacaagagaaagtcacattcatatcaaaccctccaaacaatgttttcacttggaagatacttcgt  281
+
+Sbjct  211  ttctctaccttggaagataaattctattactctgatgattttctcgttgaagaccgatactggagattag  280
+            |||||||||||||||||||||||||||||||||||||||||||| |||| |||||||||||||||| |||
+Query  282  ttctctaccttggaagataaattctattactctgatgattttctngttggagaccgatactggagactag  351
+
+Sbjct  281  gatttaacccgaaaggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggcca  350
+            |||||||||||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||
+Query  352  gatttaacccgaaaggatctggtggaggaagaccacatgcacttccaatcttcctatatgctcaaggcca  421
+
+Sbjct  351  taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc  420
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  422  taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc  491
+
+Sbjct  421  aaccacaaacaattatattctgcagcttggtacccgattcgaagcgattatggtgtgggagtgaacaata  490
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  492  aaccacaaacaattatattctgcagcttggtacccgattcgaagcgattatggtgtgggagtgaacaata  561
+
+Sbjct  491  taatattgatgtcagagctaaaagatgcatccaaaagggtatatggtgaatgatgccattatctttgaag  560
+            |||||||||||||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||
+Query  562  taatattgatgtcagagctaaaagatgcat-caaaagggtatatggtgaatgatgccattatctttgaag  630
+
+Sbjct  561  ctgaaatggttaaggtctctgtgacaaacatagtctccgtttaaatatcactacttctttttcaacaaca  630
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  631  ctgaaatggttaaggtctctgtgacaaacatagtctccgtttaaatatcactacttctttttcaacaaca  700
+
+Sbjct  631  accttacgaataaagtggactttgatgagtttaatttgttatacgacaacgttgttgatgcttgtgatgt  700
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  701  accttacgaataaagtggactttgatgagtttaatttgttatacgacaacgttgttgatgcttgtgatgt  770
+
+Sbjct  701  aatcgttgtttctgctctccgagttttcgttttactttttttttcatgttttgctatc-aatgaaa-taa  768
+             ||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ||||||| |||
+Query  771  natcgttgtttctgctctccgagttttcgttttactttttttttcatgttttgctatccaatgaaaataa  840
+
+Sbjct  769  a-ggtataaaactctc-tt-ggtttt  791
+            | ||| |||||||||| || ||||||
+Query  841  aaggtttaaaactctcctttggtttt  866
+
 # polishing(m=200,d=-800,p=30): 31/64, seed_on_end
 517 64 0 F 517 65 0 1034 0 100.00
-cacgaaagtcttacgcgtctccttgaagatgcgaaatctattattgagaaatattggaaactcagatgga
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-cacgaaagtcttacgcgtctccttgaagatgcgaaatctattattgagaaatattggaaactcagatgga
-gcagacacgtttgcaggaagtacaggtacatcaaaaaactcgaatcgatagaacttgaattagtaagggt
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-gcagacacgtttgcaggaagtacaggtacatcaaaaaactcgaatcgatagaacttgaattagtaagggt
-agcacgtgagatacaagtccaccaatggaccgatatcaaagaaatgaaggcgatacaagtccaccaatgg
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-agcacgtgagatacaagtccaccaatggaccgatatcaaagaaatgaaggcgatacaagtccaccaatgg
-accgatatcaaagaaatgaaggcgatacaagtcgaccaatggaccgatatcaaagaaatgaaggcgatac
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-accgatatcaaagaaatgaaggcgatacaagtcgaccaatggaccgatatcaaagaaatgaaggcgatac
-aagtcgaccaatggatcgatatcaaagaaatgaaggcgatacaagtcgaccaatggaccgatatcaaaga
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-aagtcgaccaatggatcgatatcaaagaaatgaaggcgatacaagtcgaccaatggaccgatatcaaaga
-aatgaaggccagatatctgaaaagcataataaatgaatcaatatctaaaatctggtgtttttctctcttt
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-aatgaaggccagatatctgaaaagcataataaatgaatcaatatctaaaatctggtgtttttctctcttt
-cttcttccccacaatgattgaaaaactcttcttgttatgaataaagatggatgcccatttataagggcca
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-cttcttccccacaatgattgaaaaactcttcttgttatgaataaagatggatgcccatttataagggcca
-tcatctaagcccatcatctagattttt
-|||||||||||||||||||||||||||
-tcatctaagcccatcatctagattttt
+Sbjct  0    cacgaaagtcttacgcgtctccttgaagatgcgaaatctattattgagaaatattggaaactcagatgga  69
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  0    cacgaaagtcttacgcgtctccttgaagatgcgaaatctattattgagaaatattggaaactcagatgga  69
+
+Sbjct  70   gcagacacgtttgcaggaagtacaggtacatcaaaaaactcgaatcgatagaacttgaattagtaagggt  139
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  70   gcagacacgtttgcaggaagtacaggtacatcaaaaaactcgaatcgatagaacttgaattagtaagggt  139
+
+Sbjct  140  agcacgtgagatacaagtccaccaatggaccgatatcaaagaaatgaaggcgatacaagtccaccaatgg  209
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  140  agcacgtgagatacaagtccaccaatggaccgatatcaaagaaatgaaggcgatacaagtccaccaatgg  209
+
+Sbjct  210  accgatatcaaagaaatgaaggcgatacaagtcgaccaatggaccgatatcaaagaaatgaaggcgatac  279
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  210  accgatatcaaagaaatgaaggcgatacaagtcgaccaatggaccgatatcaaagaaatgaaggcgatac  279
+
+Sbjct  280  aagtcgaccaatggatcgatatcaaagaaatgaaggcgatacaagtcgaccaatggaccgatatcaaaga  349
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  280  aagtcgaccaatggatcgatatcaaagaaatgaaggcgatacaagtcgaccaatggaccgatatcaaaga  349
+
+Sbjct  350  aatgaaggccagatatctgaaaagcataataaatgaatcaatatctaaaatctggtgtttttctctcttt  419
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  350  aatgaaggccagatatctgaaaagcataataaatgaatcaatatctaaaatctggtgtttttctctcttt  419
+
+Sbjct  420  cttcttccccacaatgattgaaaaactcttcttgttatgaataaagatggatgcccatttataagggcca  489
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  420  cttcttccccacaatgattgaaaaactcttcttgttatgaataaagatggatgcccatttataagggcca  489
+
+Sbjct  490  tcatctaagcccatcatctagattttt  516
+            |||||||||||||||||||||||||||
+Query  490  tcatctaagcccatcatctagattttt  516
+
 537 474 3 F 520 658 82 973 28 94.70
-aggttgcccccaatcggaagagaagttgngcnctttcttcctccctgccnttagtgccgttgaattggct
-|||||| |||| |||||||||||| |||  | | |||||||| |||  | |||||| || || |||||||
-aggttg-cccc-atcggaagagaanttgaactc-ttcttcct-cctnnc-ttagtgacg-tg-attggct
-aaggaagttg-cttccttctccgcaacaagtggatcccttgtgttgaattcgagttggagcaccggattn
-||||||| || | ||||||||||| || ||||||| || ||||||| ||||||||||||||| |||||| 
-aaggaag-tgac-tccttctccgc-ac-agtggattcc-tgtgttg-attcgagttggagca-cggattt
-gtgtaccgtgagcacggaaccactcccggatactatgatggacggtactggacaatgtggaagcttccat
-||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||| |||||||||
-gtgtaccgtgagcacggaa-cactcccggatactatgatggacggtactggacaatgtgg-agcttccat
-tggttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtaccctggcg
-| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| |||||||
-t-gttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagta-cctggcg
-ccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagcc
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-ccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagcc
-cccaagcttcaccgaagcttaatcccctttctggaatattcagcgttgattattctggaacccatttcta
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-cccaagcttcaccgaagcttaatcccctttctggaatattcagcgttgattattctggaacccatttcta
-tgtggtcaatgcaaatttaagaaattatttgccgacttaaaagttgaggaactattgtttgaaagtgaaa
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-tgtggtcaatgcaaatttaagaaattatttgccgacttaaaagttgaggaactattgtttgaaagtgaaa
-atgttattcctatcagtttctctataattatagttatcatttcatttc
-||||||||||||||||||||||||||||||||||||||||||||||||
-atgttattcctatcagtttctctataattatagttatcatttcatttc
+Sbjct  3    aggttgcccccaatcggaagagaagttgngcnctttcttcctccctgccnttagtgccgttgaattggct  72
+            |||||| |||| |||||||||||| |||  | | |||||||| |||  | |||||| || || |||||||
+Query  82   aggttg-cccc-atcggaagagaanttgaactc-ttcttcct-cctnnc-ttagtgacg-tg-attggct  144
+
+Sbjct  73   aaggaagttg-cttccttctccgcaacaagtggatcccttgtgttgaattcgagttggagcaccggattn  141
+            ||||||| || | ||||||||||| || ||||||| || ||||||| ||||||||||||||| |||||| 
+Query  145  aaggaag-tgac-tccttctccgc-ac-agtggattcc-tgtgttg-attcgagttggagca-cggattt  207
+
+Sbjct  142  gtgtaccgtgagcacggaaccactcccggatactatgatggacggtactggacaatgtggaagcttccat  211
+            ||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||| |||||||||
+Query  208  gtgtaccgtgagcacggaa-cactcccggatactatgatggacggtactggacaatgtgg-agcttccat  275
+
+Sbjct  212  tggttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtaccctggcg  281
+            | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| |||||||
+Query  276  t-gttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagta-cctggcg  343
+
+Sbjct  282  ccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagcc  351
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  344  ccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagcc  413
+
+Sbjct  352  cccaagcttcaccgaagcttaatcccctttctggaatattcagcgttgattattctggaacccatttcta  421
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  414  cccaagcttcaccgaagcttaatcccctttctggaatattcagcgttgattattctggaacccatttcta  483
+
+Sbjct  422  tgtggtcaatgcaaatttaagaaattatttgccgacttaaaagttgaggaactattgtttgaaagtgaaa  491
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  484  tgtggtcaatgcaaatttaagaaattatttgccgacttaaaagttgaggaactattgtttgaaagtgaaa  553
+
+Sbjct  492  atgttattcctatcagtttctctataattatagttatcatttcatttc  539
+            ||||||||||||||||||||||||||||||||||||||||||||||||
+Query  554  atgttattcctatcagtttctctataattatagttatcatttcatttc  601
+
 # polishing(m=200,d=-800,p=30): 33/64, seed_on_end
 728 5 11 F 732 16 129 1307 51 93.01
-aaatatttgtctgttacagatggaacagtgaagcgatacaacgatgcaaaaaaagagtggggattcacac
-||||||||| |||||||||||||   |||||||||||| ||| |||| |||||||| ||||| |||  ||
-aaatatttgactgttacagatggcttagtgaagcgatataacaatgcgaaaaaagaatggggtttcggac
-aattgatttctc-ttccaacattctacaacgcgaacgaagggtaccttgtgcaggacacagcttcttttg
-|||||||| |||  | ||||||||||||||||||||||||| |||||||  |||||||| | ||||||||
-aattgattcctcgat-caacattctacaacgcgaacgaaggttaccttgaccaggacactggttcttttg
-gtgctgagatcttcatcgttaacccgacagaaaaacaagagaaagtcacattcatatcaaaccctccaga
-||||||||||||| || ||||| ||| |  || ||||||||||||| ||||||||||||||||||||| |
-gtgctgagatctttattgttaaaccggctcaacaacaagagaaagttacattcatatcaaaccctccaaa
-caatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactccgatgatttt
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ||
-caatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactccgatgatntt
-ctcgttgaagaccgatactggagactaggatttaacccgaaaggggatggaggaggaagaccacatgcac
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-ctcgttgaagaccgatactggagactaggatttaacccgaaaggggatggaggaggaagaccacatgcac
-ttccaatcttcctatttgctcaaggccataaggcaaacgcagttgctacaaacacttggggagcggttaa
-||||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||
-ttccaatcttcctatttgctcaaggccataaggcaaatgcagttgctacaaacacttggggagcggttaa
-tctgcggttaaagaatcaacgaagtactaaccatagacaaatatattctgcagcttggtacccgattgga
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-tctgcggttaaagaatcaacgaagtactaaccatagacaaatatattctgcagcttggtacccgattgga
-agcggttatggtgtgggagtgaacaatatcatactgttagctgatttaaacgatgcatcaaaaggatatt
-| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ||||||||||
-aacggttatggtgtgggagtgaacaatatcatactgttagctgatttaaacgatgcatccaaaggatatt
-tggtgaatgatgccattatctttgaagctgaaatggttaaggtctctataaccaacatcgtctccgctta
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-tggtgaatgatgccattatctttgaagctgaaatggttaaggtctctataaccaacatcgtctccgctta
-aatatctgcacttctttgtctacgatcaatcaaccttatgaataaagagatatttgat--ga-g--tttg
-||||||||| ||||||||||||| | ||||| |||||||||||||| | || ||| ||  || |  ||||
-aatatctgcncttctttgtctacnancaatccaccttatgaataaaaaaat-tttaatttgatgaatttg
-taataagaaaacgttaatgtttgtgaattgtgaa
-| |||| ||||| ||||||||||| || ||||||
-ttataanaaaactttaatgtttgttaaatgtgaa
+Sbjct  11   aaatatttgtctgttacagatggaacagtgaagcgatacaacgatgcaaaaaaagagtggggattcacac  80
+            ||||||||| |||||||||||||   |||||||||||| ||| |||| |||||||| ||||| |||  ||
+Query  129  aaatatttgactgttacagatggcttagtgaagcgatataacaatgcgaaaaaagaatggggtttcggac  198
+
+Sbjct  81   aattgatttctc-ttccaacattctacaacgcgaacgaagggtaccttgtgcaggacacagcttcttttg  149
+            |||||||| |||  | ||||||||||||||||||||||||| |||||||  |||||||| | ||||||||
+Query  199  aattgattcctcgat-caacattctacaacgcgaacgaaggttaccttgaccaggacactggttcttttg  267
+
+Sbjct  150  gtgctgagatcttcatcgttaacccgacagaaaaacaagagaaagtcacattcatatcaaaccctccaga  219
+            ||||||||||||| || ||||| ||| |  || ||||||||||||| ||||||||||||||||||||| |
+Query  268  gtgctgagatctttattgttaaaccggctcaacaacaagagaaagttacattcatatcaaaccctccaaa  337
+
+Sbjct  220  caatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactccgatgatttt  289
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ||
+Query  338  caatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactccgatgatntt  407
+
+Sbjct  290  ctcgttgaagaccgatactggagactaggatttaacccgaaaggggatggaggaggaagaccacatgcac  359
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  408  ctcgttgaagaccgatactggagactaggatttaacccgaaaggggatggaggaggaagaccacatgcac  477
+
+Sbjct  360  ttccaatcttcctatttgctcaaggccataaggcaaacgcagttgctacaaacacttggggagcggttaa  429
+            ||||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||
+Query  478  ttccaatcttcctatttgctcaaggccataaggcaaatgcagttgctacaaacacttggggagcggttaa  547
+
+Sbjct  430  tctgcggttaaagaatcaacgaagtactaaccatagacaaatatattctgcagcttggtacccgattgga  499
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  548  tctgcggttaaagaatcaacgaagtactaaccatagacaaatatattctgcagcttggtacccgattgga  617
+
+Sbjct  500  agcggttatggtgtgggagtgaacaatatcatactgttagctgatttaaacgatgcatcaaaaggatatt  569
+            | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ||||||||||
+Query  618  aacggttatggtgtgggagtgaacaatatcatactgttagctgatttaaacgatgcatccaaaggatatt  687
+
+Sbjct  570  tggtgaatgatgccattatctttgaagctgaaatggttaaggtctctataaccaacatcgtctccgctta  639
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  688  tggtgaatgatgccattatctttgaagctgaaatggttaaggtctctataaccaacatcgtctccgctta  757
+
+Sbjct  640  aatatctgcacttctttgtctacgatcaatcaaccttatgaataaagagatatttgat--ga-g--tttg  704
+            ||||||||| ||||||||||||| | ||||| |||||||||||||| | || ||| ||  || |  ||||
+Query  758  aatatctgcncttctttgtctacnancaatccaccttatgaataaaaaaat-tttaatttgatgaatttg  826
+
+Sbjct  705  taataagaaaacgttaatgtttgtgaattgtgaa  738
+            | |||| ||||| ||||||||||| || ||||||
+Query  827  ttataanaaaactttaatgtttgttaaatgtgaa  860
+
 # polishing(m=200,d=-800,p=30): 64/45
 582 3 0 F 579 5 38 1056 35 93.97
-gtgaagcgatacaacgatgcaaaaaaagagtggggattcacacaattgatttctcttccaacattctaca
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-gtgaagcgatacaacgatgcaaaaaaagagtggggattcacacaattgatttctcttccaacattctaca
-acgcgaacgaagggtacnttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgac
-||||||||||||||||| ||||||||||||||||||||||||||||||||||||||||||||||||||||
-acgcgaacgaagggtaccttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgac
-agaaaaacaagagaaagtcacattcatatcaaaccctcc-gaacaatgttttcacttggaagatacttcg
-||||||||||||||||||||||||||||||||||||||| || |||||||||||||||||||||||||||
-agaaaaacaagagaaagtcacattcatatcaaaccctccaga-caatgttttcacttggaagatacttcg
-tttctctaccttggaagataaattctattactctgatgattttctcgttgaagaccgatactggagatta
-||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||| ||
-tttctctaccttggaagataaattctattactccgatgattttctcgttgaagaccgatactggagacta
-ggatttaacccgaaaggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggcc
-|||||||||||||||||   ||| ||||| |||||||||||||||||||||||||||| |||||||||||
-ggatttaacccgaaaggggatggaggaggaagaccacatgcacttccaatcttcctatttgctcaaggcc
-ataaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctc
-|||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||||||||| | 
-ataaggcaaacgcagttgctacaaacacttggggagcggttaatctgcggttaaagaatcaacgaag-ta
-c-aaccacaaacaattatattctgcagcttggtaccccgattcgaagcgattatggtgtgggagtgaaca
-| ||||| | |||| |||||||||||||||||||||| |||| |||||| ||||||||||||||||||||
-ctaaccatagacaaatatattctgcagcttggtaccc-gattggaagcggttatggtgtgggagtgaaca
-atatcatattgat-gtcagaagctaaaagatgcatcnaaagggtatatggtgaatgatgccattatcttt
-|||||||| || | | | ||   |||| |||||||| ||||| ||| |||||||||||||||||||||||
-atatcatactgttag-ctgatt-taaacgatgcatcaaaaggatatttggtgaatgatgccattatcttt
-tgaaactgaaatggttaaggtctct
- ||| ||||||||||||||||||||
--gaagctgaaatggttaaggtctct
+Sbjct  0    gtgaagcgatacaacgatgcaaaaaaagagtggggattcacacaattgatttctcttccaacattctaca  69
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  38   gtgaagcgatacaacgatgcaaaaaaagagtggggattcacacaattgatttctcttccaacattctaca  107
+
+Sbjct  70   acgcgaacgaagggtacnttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgac  139
+            ||||||||||||||||| ||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  108  acgcgaacgaagggtaccttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgac  177
+
+Sbjct  140  agaaaaacaagagaaagtcacattcatatcaaaccctcc-gaacaatgttttcacttggaagatacttcg  208
+            ||||||||||||||||||||||||||||||||||||||| || |||||||||||||||||||||||||||
+Query  178  agaaaaacaagagaaagtcacattcatatcaaaccctccaga-caatgttttcacttggaagatacttcg  246
+
+Sbjct  209  tttctctaccttggaagataaattctattactctgatgattttctcgttgaagaccgatactggagatta  278
+            ||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||| ||
+Query  247  tttctctaccttggaagataaattctattactccgatgattttctcgttgaagaccgatactggagacta  316
+
+Sbjct  279  ggatttaacccgaaaggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggcc  348
+            |||||||||||||||||   ||| ||||| |||||||||||||||||||||||||||| |||||||||||
+Query  317  ggatttaacccgaaaggggatggaggaggaagaccacatgcacttccaatcttcctatttgctcaaggcc  386
+
+Sbjct  349  ataaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctc  418
+            |||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||||||||| | 
+Query  387  ataaggcaaacgcagttgctacaaacacttggggagcggttaatctgcggttaaagaatcaacgaag-ta  455
+
+Sbjct  419  c-aaccacaaacaattatattctgcagcttggtaccccgattcgaagcgattatggtgtgggagtgaaca  487
+            | ||||| | |||| |||||||||||||||||||||| |||| |||||| ||||||||||||||||||||
+Query  456  ctaaccatagacaaatatattctgcagcttggtaccc-gattggaagcggttatggtgtgggagtgaaca  524
+
+Sbjct  488  atatcatattgat-gtcagaagctaaaagatgcatcnaaagggtatatggtgaatgatgccattatcttt  556
+            |||||||| || | | | ||   |||| |||||||| ||||| ||| |||||||||||||||||||||||
+Query  525  atatcatactgttag-ctgatt-taaacgatgcatcaaaaggatatttggtgaatgatgccattatcttt  592
+
+Sbjct  557  tgaaactgaaatggttaaggtctct  581
+             ||| ||||||||||||||||||||
+Query  593  -gaagctgaaatggttaaggtctct  616
+
 # polishing(m=200,d=-800,p=30): 64/64, seed_on_start
 626 2 0 F 645 16 84 1190 27 95.75
-gtgantgttgatctcaaactctttgtccataatgggaagctacacaaatatttgactgttacagatggct
-|||| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-gtgaatgttgatctcaaactctttgtccataatgggaagctacacaaatatttgactgttacagatggct
-tagtgaagcgatataacaatgcgaaaaaagaatggggtttcggacaattgattcctcgatcaacattcta
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-tagtgaagcgatataacaatgcgaaaaaagaatggggtttcggacaattgattcctcgatcaacattcta
-caacgcgaacgaaggttaccttgaccaggacactggttcttttggtgctgagatctttattgttaaaccg
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-caacgcgaacgaaggttaccttgaccaggacactggttcttttggtgctgagatctttattgttaaaccg
-gctcaacaacaagagaaagttacattcatatcaaaccctccaaacaatgttttcacttggaagatacttc
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-gctcaacaacaagagaaagttacattcatatcaaaccctccaaacaatgttttcacttggaagatacttc
-gtttctctaccttggaagataaattctattactccgatgattttctcgttgaagaccgatactggagact
-||||||||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||
-gtttctctaccttggaagataaattctattactccgatgatnttctcgttgaagaccgatactggagact
-aggatttaacccgaaaggggatggaggaggaagaccacatgcacttccaatcttcctatttgctcaaggc
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-aggatttaacccgaaaggggatggaggaggaagaccacatgcacttccaatcttcctatttgctcaaggc
-cataaggcaaatgcagttgctacaaacacttggggagcggttaatctgcggttaaagaatcaacgaantt
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| | 
-cataaggcaaatgcagttgctacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagta
-ctaaccatagacaa-tatnt-ctgca-cttggtaccc-attggaaacg-ttatggtntgggant-aaca-
-|||||||||||||| ||| | ||||| |||||||||| |||||||||| ||||||| ||||| | |||| 
-ctaaccatagacaaatatattctgcagcttggtacccgattggaaacggttatggtgtgggagtgaacaa
-tatc-tactgtt-gctgatt-aa-cga-gcatccaaaggat-tttggtga-tga-gccnt-atctt-gaa
-|||| ||||||| ||||||| || ||| ||||||||||||| |||||||| ||| ||| | ||||| |||
-tatcatactgttagctgatttaaacgatgcatccaaaggatatttggtgaatgatgccattatctttgaa
--ctgaa-tggttaag
- ||||| ||||||||
-gctgaaatggttaag
+Sbjct  0    gtgantgttgatctcaaactctttgtccataatgggaagctacacaaatatttgactgttacagatggct  69
+            |||| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  84   gtgaatgttgatctcaaactctttgtccataatgggaagctacacaaatatttgactgttacagatggct  153
+
+Sbjct  70   tagtgaagcgatataacaatgcgaaaaaagaatggggtttcggacaattgattcctcgatcaacattcta  139
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  154  tagtgaagcgatataacaatgcgaaaaaagaatggggtttcggacaattgattcctcgatcaacattcta  223
+
+Sbjct  140  caacgcgaacgaaggttaccttgaccaggacactggttcttttggtgctgagatctttattgttaaaccg  209
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  224  caacgcgaacgaaggttaccttgaccaggacactggttcttttggtgctgagatctttattgttaaaccg  293
+
+Sbjct  210  gctcaacaacaagagaaagttacattcatatcaaaccctccaaacaatgttttcacttggaagatacttc  279
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  294  gctcaacaacaagagaaagttacattcatatcaaaccctccaaacaatgttttcacttggaagatacttc  363
+
+Sbjct  280  gtttctctaccttggaagataaattctattactccgatgattttctcgttgaagaccgatactggagact  349
+            ||||||||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||
+Query  364  gtttctctaccttggaagataaattctattactccgatgatnttctcgttgaagaccgatactggagact  433
+
+Sbjct  350  aggatttaacccgaaaggggatggaggaggaagaccacatgcacttccaatcttcctatttgctcaaggc  419
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  434  aggatttaacccgaaaggggatggaggaggaagaccacatgcacttccaatcttcctatttgctcaaggc  503
+
+Sbjct  420  cataaggcaaatgcagttgctacaaacacttggggagcggttaatctgcggttaaagaatcaacgaantt  489
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| | 
+Query  504  cataaggcaaatgcagttgctacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagta  573
+
+Sbjct  490  ctaaccatagacaa-tatnt-ctgca-cttggtaccc-attggaaacg-ttatggtntgggant-aaca-  553
+            |||||||||||||| ||| | ||||| |||||||||| |||||||||| ||||||| ||||| | |||| 
+Query  574  ctaaccatagacaaatatattctgcagcttggtacccgattggaaacggttatggtgtgggagtgaacaa  643
+
+Sbjct  554  tatc-tactgtt-gctgatt-aa-cga-gcatccaaaggat-tttggtga-tga-gccnt-atctt-gaa  612
+            |||| ||||||| ||||||| || ||| ||||||||||||| |||||||| ||| ||| | ||||| |||
+Query  644  tatcatactgttagctgatttaaacgatgcatccaaaggatatttggtgaatgatgccattatctttgaa  713
+
+Sbjct  613  -ctgaa-tggttaag  625
+             ||||| ||||||||
+Query  714  gctgaaatggttaag  728
+
 # polishing(m=200,d=-800,p=30): 64/64, seed_on_start
 626 2 0 F 645 16 84 1190 27 95.75
-gtgantgttgatctcaaactctttgtccataatgggaagctacacaaatatttgactgttacagatggct
-|||| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-gtgaatgttgatctcaaactctttgtccataatgggaagctacacaaatatttgactgttacagatggct
-tagtgaagcgatataacaatgcgaaaaaagaatggggtttcggacaattgattcctcgatcaacattcta
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-tagtgaagcgatataacaatgcgaaaaaagaatggggtttcggacaattgattcctcgatcaacattcta
-caacgcgaacgaaggttaccttgaccaggacactggttcttttggtgctgagatctttattgttaaaccg
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-caacgcgaacgaaggttaccttgaccaggacactggttcttttggtgctgagatctttattgttaaaccg
-gctcaacaacaagagaaagttacattcatatcaaaccctccaaacaatgttttcacttggaagatacttc
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-gctcaacaacaagagaaagttacattcatatcaaaccctccaaacaatgttttcacttggaagatacttc
-gtttctctaccttggaagataaattctattactccgatgattttctcgttgaagaccgatactggagact
-||||||||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||
-gtttctctaccttggaagataaattctattactccgatgatnttctcgttgaagaccgatactggagact
-aggatttaacccgaaaggggatggaggaggaagaccacatgcacttccaatcttcctatttgctcaaggc
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-aggatttaacccgaaaggggatggaggaggaagaccacatgcacttccaatcttcctatttgctcaaggc
-cataaggcaaatgcagttgctacaaacacttggggagcggttaatctgcggttaaagaatcaacgaantt
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| | 
-cataaggcaaatgcagttgctacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagta
-ctaaccatagacaa-tatnt-ctgca-cttggtaccc-attggaaacg-ttatggtntgggant-aaca-
-|||||||||||||| ||| | ||||| |||||||||| |||||||||| ||||||| ||||| | |||| 
-ctaaccatagacaaatatattctgcagcttggtacccgattggaaacggttatggtgtgggagtgaacaa
-tatc-tactgtt-gctgatt-aa-cga-gcatccaaaggat-tttggtga-tga-gccnt-atctt-gaa
-|||| ||||||| ||||||| || ||| ||||||||||||| |||||||| ||| ||| | ||||| |||
-tatcatactgttagctgatttaaacgatgcatccaaaggatatttggtgaatgatgccattatctttgaa
--ctgaa-tggttaag
- ||||| ||||||||
-gctgaaatggttaag
+Sbjct  0    gtgantgttgatctcaaactctttgtccataatgggaagctacacaaatatttgactgttacagatggct  69
+            |||| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  84   gtgaatgttgatctcaaactctttgtccataatgggaagctacacaaatatttgactgttacagatggct  153
+
+Sbjct  70   tagtgaagcgatataacaatgcgaaaaaagaatggggtttcggacaattgattcctcgatcaacattcta  139
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  154  tagtgaagcgatataacaatgcgaaaaaagaatggggtttcggacaattgattcctcgatcaacattcta  223
+
+Sbjct  140  caacgcgaacgaaggttaccttgaccaggacactggttcttttggtgctgagatctttattgttaaaccg  209
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  224  caacgcgaacgaaggttaccttgaccaggacactggttcttttggtgctgagatctttattgttaaaccg  293
+
+Sbjct  210  gctcaacaacaagagaaagttacattcatatcaaaccctccaaacaatgttttcacttggaagatacttc  279
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  294  gctcaacaacaagagaaagttacattcatatcaaaccctccaaacaatgttttcacttggaagatacttc  363
+
+Sbjct  280  gtttctctaccttggaagataaattctattactccgatgattttctcgttgaagaccgatactggagact  349
+            ||||||||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||
+Query  364  gtttctctaccttggaagataaattctattactccgatgatnttctcgttgaagaccgatactggagact  433
+
+Sbjct  350  aggatttaacccgaaaggggatggaggaggaagaccacatgcacttccaatcttcctatttgctcaaggc  419
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  434  aggatttaacccgaaaggggatggaggaggaagaccacatgcacttccaatcttcctatttgctcaaggc  503
+
+Sbjct  420  cataaggcaaatgcagttgctacaaacacttggggagcggttaatctgcggttaaagaatcaacgaantt  489
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| | 
+Query  504  cataaggcaaatgcagttgctacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagta  573
+
+Sbjct  490  ctaaccatagacaa-tatnt-ctgca-cttggtaccc-attggaaacg-ttatggtntgggant-aaca-  553
+            |||||||||||||| ||| | ||||| |||||||||| |||||||||| ||||||| ||||| | |||| 
+Query  574  ctaaccatagacaaatatattctgcagcttggtacccgattggaaacggttatggtgtgggagtgaacaa  643
+
+Sbjct  554  tatc-tactgtt-gctgatt-aa-cga-gcatccaaaggat-tttggtga-tga-gccnt-atctt-gaa  612
+            |||| ||||||| ||||||| || ||| ||||||||||||| |||||||| ||| ||| | ||||| |||
+Query  644  tatcatactgttagctgatttaaacgatgcatccaaaggatatttggtgaatgatgccattatctttgaa  713
+
+Sbjct  613  -ctgaa-tggttaag  625
+             ||||| ||||||||
+Query  714  gctgaaatggttaag  728
+
 # polishing(m=200,d=-800,p=30): 64/64
 728 5 11 F 732 16 129 1307 51 93.01
-aaatatttgtctgttacagatggaacagtgaagcgatacaacgatgcaaaaaaagagtggggattcacac
-||||||||| |||||||||||||   |||||||||||| ||| |||| |||||||| ||||| |||  ||
-aaatatttgactgttacagatggcttagtgaagcgatataacaatgcgaaaaaagaatggggtttcggac
-aattgatttctc-ttccaacattctacaacgcgaacgaagggtaccttgtgcaggacacagcttcttttg
-|||||||| |||  | ||||||||||||||||||||||||| |||||||  |||||||| | ||||||||
-aattgattcctcgat-caacattctacaacgcgaacgaaggttaccttgaccaggacactggttcttttg
-gtgctgagatcttcatcgttaacccgacagaaaaacaagagaaagtcacattcatatcaaaccctccaga
-||||||||||||| || ||||| ||| |  || ||||||||||||| ||||||||||||||||||||| |
-gtgctgagatctttattgttaaaccggctcaacaacaagagaaagttacattcatatcaaaccctccaaa
-caatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactccgatgatttt
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ||
-caatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactccgatgatntt
-ctcgttgaagaccgatactggagactaggatttaacccgaaaggggatggaggaggaagaccacatgcac
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-ctcgttgaagaccgatactggagactaggatttaacccgaaaggggatggaggaggaagaccacatgcac
-ttccaatcttcctatttgctcaaggccataaggcaaacgcagttgctacaaacacttggggagcggttaa
-||||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||
-ttccaatcttcctatttgctcaaggccataaggcaaatgcagttgctacaaacacttggggagcggttaa
-tctgcggttaaagaatcaacgaagtactaaccatagacaaatatattctgcagcttggtacccgattgga
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-tctgcggttaaagaatcaacgaagtactaaccatagacaaatatattctgcagcttggtacccgattgga
-agcggttatggtgtgggagtgaacaatatcatactgttagctgatttaaacgatgcatcaaaaggatatt
-| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ||||||||||
-aacggttatggtgtgggagtgaacaatatcatactgttagctgatttaaacgatgcatccaaaggatatt
-tggtgaatgatgccattatctttgaagctgaaatggttaaggtctctataaccaacatcgtctccgctta
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-tggtgaatgatgccattatctttgaagctgaaatggttaaggtctctataaccaacatcgtctccgctta
-aatatctgcacttctttgtctacgatcaatcaaccttatgaataaagagatatttgat--ga-g--tttg
-||||||||| ||||||||||||| | ||||| |||||||||||||| | || ||| ||  || |  ||||
-aatatctgcncttctttgtctacnancaatccaccttatgaataaaaaaat-tttaatttgatgaatttg
-taataagaaaacgttaatgtttgtgaattgtgaa
-| |||| ||||| ||||||||||| || ||||||
-ttataanaaaactttaatgtttgttaaatgtgaa
+Sbjct  11   aaatatttgtctgttacagatggaacagtgaagcgatacaacgatgcaaaaaaagagtggggattcacac  80
+            ||||||||| |||||||||||||   |||||||||||| ||| |||| |||||||| ||||| |||  ||
+Query  129  aaatatttgactgttacagatggcttagtgaagcgatataacaatgcgaaaaaagaatggggtttcggac  198
+
+Sbjct  81   aattgatttctc-ttccaacattctacaacgcgaacgaagggtaccttgtgcaggacacagcttcttttg  149
+            |||||||| |||  | ||||||||||||||||||||||||| |||||||  |||||||| | ||||||||
+Query  199  aattgattcctcgat-caacattctacaacgcgaacgaaggttaccttgaccaggacactggttcttttg  267
+
+Sbjct  150  gtgctgagatcttcatcgttaacccgacagaaaaacaagagaaagtcacattcatatcaaaccctccaga  219
+            ||||||||||||| || ||||| ||| |  || ||||||||||||| ||||||||||||||||||||| |
+Query  268  gtgctgagatctttattgttaaaccggctcaacaacaagagaaagttacattcatatcaaaccctccaaa  337
+
+Sbjct  220  caatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactccgatgatttt  289
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ||
+Query  338  caatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactccgatgatntt  407
+
+Sbjct  290  ctcgttgaagaccgatactggagactaggatttaacccgaaaggggatggaggaggaagaccacatgcac  359
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  408  ctcgttgaagaccgatactggagactaggatttaacccgaaaggggatggaggaggaagaccacatgcac  477
+
+Sbjct  360  ttccaatcttcctatttgctcaaggccataaggcaaacgcagttgctacaaacacttggggagcggttaa  429
+            ||||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||
+Query  478  ttccaatcttcctatttgctcaaggccataaggcaaatgcagttgctacaaacacttggggagcggttaa  547
+
+Sbjct  430  tctgcggttaaagaatcaacgaagtactaaccatagacaaatatattctgcagcttggtacccgattgga  499
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  548  tctgcggttaaagaatcaacgaagtactaaccatagacaaatatattctgcagcttggtacccgattgga  617
+
+Sbjct  500  agcggttatggtgtgggagtgaacaatatcatactgttagctgatttaaacgatgcatcaaaaggatatt  569
+            | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ||||||||||
+Query  618  aacggttatggtgtgggagtgaacaatatcatactgttagctgatttaaacgatgcatccaaaggatatt  687
+
+Sbjct  570  tggtgaatgatgccattatctttgaagctgaaatggttaaggtctctataaccaacatcgtctccgctta  639
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  688  tggtgaatgatgccattatctttgaagctgaaatggttaaggtctctataaccaacatcgtctccgctta  757
+
+Sbjct  640  aatatctgcacttctttgtctacgatcaatcaaccttatgaataaagagatatttgat--ga-g--tttg  704
+            ||||||||| ||||||||||||| | ||||| |||||||||||||| | || ||| ||  || |  ||||
+Query  758  aatatctgcncttctttgtctacnancaatccaccttatgaataaaaaaat-tttaatttgatgaatttg  826
+
+Sbjct  705  taataagaaaacgttaatgtttgtgaattgtgaa  738
+            | |||| ||||| ||||||||||| || ||||||
+Query  827  ttataanaaaactttaatgtttgttaaatgtgaa  860
+
 # polishing(m=200,d=-800,p=30): 64/45
 610 3 0 F 607 39 72 1163 18 97.04
-gtgaagcgatacaacgatgcaaaaaaagagtggggattcacacaattgatttctcttccaacattctaca
-|||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||||||||||
-gtgaagcgatacaacgatgcnaaaaaagagtggggattcacacaattgatttctcttccaacattctaca
-acgcgaacgaagggtacnttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgac
-||||||||||||||||| ||||||||||||||||||||||||||||||||||||||||||||||||||||
-acgcgaacgaagggtaccttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgac
-agaaaaacaagagaaagtcacattcatatcaaaccctccgaacaatgttttcacttggaagatacttcgt
-||||||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||
-agaaaaacaagagaaagtcacattcatatcaaaccctccaaacaatgttttcacttggaagatacttcgt
-ttctctaccttggaagataaattctattactctgatgattttctcgttgaagaccgatactggagattag
-|||||||||||||||||||||||||||||||||||||||||||| |||| |||||||||||||||| |||
-ttctctaccttggaagataaattctattactctgatgattttctngttggagaccgatactggagactag
-gatttaacccgaaaggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggcca
-|||||||||||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||
-gatttaacccgaaaggatctggtggaggaagaccacatgcacttccaatcttcctatatgctcaaggcca
-taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc
-aaccacaaacaattatattctgcagcttggtaccccgattcgaagcgattatggtgtgggagtgaacaat
-||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||||
-aaccacaaacaattatattctgcagcttggtaccc-gattcgaagcgattatggtgtgggagtgaacaat
-atcatattgatgtcagaagctaaaagatgcatcnaaagggtatatggtgaatgatgccattatcttttga
-|| |||||||||||||| ||||||||||||||| ||||||||||||||||||||||||||||||||| ||
-ataatattgatgtcaga-gctaaaagatgcatcaaaagggtatatggtgaatgatgccattatcttt-ga
-aactgaaatggttaaggtctctgtgaacaa-catantctccncttaaatat
-| |||||||||||||||||||||||| ||| |||| |||||  ||||||||
-agctgaaatggttaaggtctctgtga-caaacatagtctccgtttaaatat
+Sbjct  0    gtgaagcgatacaacgatgcaaaaaaagagtggggattcacacaattgatttctcttccaacattctaca  69
+            |||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||||||||||
+Query  72   gtgaagcgatacaacgatgcnaaaaaagagtggggattcacacaattgatttctcttccaacattctaca  141
+
+Sbjct  70   acgcgaacgaagggtacnttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgac  139
+            ||||||||||||||||| ||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  142  acgcgaacgaagggtaccttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgac  211
+
+Sbjct  140  agaaaaacaagagaaagtcacattcatatcaaaccctccgaacaatgttttcacttggaagatacttcgt  209
+            ||||||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||
+Query  212  agaaaaacaagagaaagtcacattcatatcaaaccctccaaacaatgttttcacttggaagatacttcgt  281
+
+Sbjct  210  ttctctaccttggaagataaattctattactctgatgattttctcgttgaagaccgatactggagattag  279
+            |||||||||||||||||||||||||||||||||||||||||||| |||| |||||||||||||||| |||
+Query  282  ttctctaccttggaagataaattctattactctgatgattttctngttggagaccgatactggagactag  351
+
+Sbjct  280  gatttaacccgaaaggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggcca  349
+            |||||||||||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||
+Query  352  gatttaacccgaaaggatctggtggaggaagaccacatgcacttccaatcttcctatatgctcaaggcca  421
+
+Sbjct  350  taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc  419
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  422  taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc  491
+
+Sbjct  420  aaccacaaacaattatattctgcagcttggtaccccgattcgaagcgattatggtgtgggagtgaacaat  489
+            ||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||||
+Query  492  aaccacaaacaattatattctgcagcttggtaccc-gattcgaagcgattatggtgtgggagtgaacaat  560
+
+Sbjct  490  atcatattgatgtcagaagctaaaagatgcatcnaaagggtatatggtgaatgatgccattatcttttga  559
+            || |||||||||||||| ||||||||||||||| ||||||||||||||||||||||||||||||||| ||
+Query  561  ataatattgatgtcaga-gctaaaagatgcatcaaaagggtatatggtgaatgatgccattatcttt-ga  628
+
+Sbjct  560  aactgaaatggttaaggtctctgtgaacaa-catantctccncttaaatat  609
+            | |||||||||||||||||||||||| ||| |||| |||||  ||||||||
+Query  629  agctgaaatggttaaggtctctgtga-caaacatagtctccgtttaaatat  678
+
 # polishing(m=200,d=-800,p=30): 64/64
 582 3 0 F 579 5 38 1056 35 93.97
-gtgaagcgatacaacgatgcaaaaaaagagtggggattcacacaattgatttctcttccaacattctaca
-||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-gtgaagcgatacaacgatgcaaaaaaagagtggggattcacacaattgatttctcttccaacattctaca
-acgcgaacgaagggtacnttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgac
-||||||||||||||||| ||||||||||||||||||||||||||||||||||||||||||||||||||||
-acgcgaacgaagggtaccttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgac
-agaaaaacaagagaaagtcacattcatatcaaaccctcc-gaacaatgttttcacttggaagatacttcg
-||||||||||||||||||||||||||||||||||||||| || |||||||||||||||||||||||||||
-agaaaaacaagagaaagtcacattcatatcaaaccctccaga-caatgttttcacttggaagatacttcg
-tttctctaccttggaagataaattctattactctgatgattttctcgttgaagaccgatactggagatta
-||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||| ||
-tttctctaccttggaagataaattctattactccgatgattttctcgttgaagaccgatactggagacta
-ggatttaacccgaaaggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggcc
-|||||||||||||||||   ||| ||||| |||||||||||||||||||||||||||| |||||||||||
-ggatttaacccgaaaggggatggaggaggaagaccacatgcacttccaatcttcctatttgctcaaggcc
-ataaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctc
-|||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||||||||| | 
-ataaggcaaacgcagttgctacaaacacttggggagcggttaatctgcggttaaagaatcaacgaag-ta
-c-aaccacaaacaattatattctgcagcttggtaccccgattcgaagcgattatggtgtgggagtgaaca
-| ||||| | |||| |||||||||||||||||||||| |||| |||||| ||||||||||||||||||||
-ctaaccatagacaaatatattctgcagcttggtaccc-gattggaagcggttatggtgtgggagtgaaca
-atatcatattgat-gtcagaagctaaaagatgcatcnaaagggtatatggtgaatgatgccattatcttt
-|||||||| || | | | ||   |||| |||||||| ||||| ||| |||||||||||||||||||||||
-atatcatactgttag-ctgatt-taaacgatgcatcaaaaggatatttggtgaatgatgccattatcttt
-tgaaactgaaatggttaaggtctct
- ||| ||||||||||||||||||||
--gaagctgaaatggttaaggtctct
+Sbjct  0    gtgaagcgatacaacgatgcaaaaaaagagtggggattcacacaattgatttctcttccaacattctaca  69
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  38   gtgaagcgatacaacgatgcaaaaaaagagtggggattcacacaattgatttctcttccaacattctaca  107
+
+Sbjct  70   acgcgaacgaagggtacnttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgac  139
+            ||||||||||||||||| ||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  108  acgcgaacgaagggtaccttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgac  177
+
+Sbjct  140  agaaaaacaagagaaagtcacattcatatcaaaccctcc-gaacaatgttttcacttggaagatacttcg  208
+            ||||||||||||||||||||||||||||||||||||||| || |||||||||||||||||||||||||||
+Query  178  agaaaaacaagagaaagtcacattcatatcaaaccctccaga-caatgttttcacttggaagatacttcg  246
+
+Sbjct  209  tttctctaccttggaagataaattctattactctgatgattttctcgttgaagaccgatactggagatta  278
+            ||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||| ||
+Query  247  tttctctaccttggaagataaattctattactccgatgattttctcgttgaagaccgatactggagacta  316
+
+Sbjct  279  ggatttaacccgaaaggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggcc  348
+            |||||||||||||||||   ||| ||||| |||||||||||||||||||||||||||| |||||||||||
+Query  317  ggatttaacccgaaaggggatggaggaggaagaccacatgcacttccaatcttcctatttgctcaaggcc  386
+
+Sbjct  349  ataaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctc  418
+            |||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||||||||| | 
+Query  387  ataaggcaaacgcagttgctacaaacacttggggagcggttaatctgcggttaaagaatcaacgaag-ta  455
+
+Sbjct  419  c-aaccacaaacaattatattctgcagcttggtaccccgattcgaagcgattatggtgtgggagtgaaca  487
+            | ||||| | |||| |||||||||||||||||||||| |||| |||||| ||||||||||||||||||||
+Query  456  ctaaccatagacaaatatattctgcagcttggtaccc-gattggaagcggttatggtgtgggagtgaaca  524
+
+Sbjct  488  atatcatattgat-gtcagaagctaaaagatgcatcnaaagggtatatggtgaatgatgccattatcttt  556
+            |||||||| || | | | ||   |||| |||||||| ||||| ||| |||||||||||||||||||||||
+Query  525  atatcatactgttag-ctgatt-taaacgatgcatcaaaaggatatttggtgaatgatgccattatcttt  592
+
+Sbjct  557  tgaaactgaaatggttaaggtctct  581
+             ||| ||||||||||||||||||||
+Query  593  -gaagctgaaatggttaaggtctct  616
+
 # polishing(m=200,d=-800,p=30): 64/64
diff --git a/testdata/repfind-result/at1MB-xdrop-r-14-32-80-6-a b/testdata/repfind-result/at1MB-xdrop-r-14-32-80-6-a
index b6fc4ba..f48a7a3 100644
--- a/testdata/repfind-result/at1MB-xdrop-r-14-32-80-6-a
+++ b/testdata/repfind-result/at1MB-xdrop-r-14-32-80-6-a
@@ -1,95 +1,122 @@
+# Options: -seedlength 14 -l 32 -r -outfmt alignment=70 polinfo -verify-alignment -extendxdrop -ii at1MB -minidentity 80 -history 60
+# Fields: s. len, s. seqnum, s. start, strand, q. len, q. seqnum, q. start, score, editdist, % identity
 33 31 0 R 33 31 0 48 6 81.82
-ctctgtc-tctttcttcttcttctt-cttct-tctc
-|||| || || |||||||||||||| || || ||||
-ctct-tcttc-ttcttcttcttctttct-ctgtctc
+Sbjct  0    ctctgtc-tctttcttcttcttctt-cttct-tctc  32
+            |||| || || |||||||||||||| || || ||||
+Query  250  ctct-tcttc-ttcttcttcttctttct-ctgtctc  282
+
 # polishing(m=400,d=-600,p=30): 36/36, seed_on_start, seed_on_end
 36 38 50 R 38 90 28 59 5 86.49
-tctctc---tctctctctctctttcactcttgtcttgtc
-||||||   | ||||||||||||||||| ||||||||||
-tctctcanatgtctctctctctttcact-ttgtcttgtc
+Sbjct  50   tctctc---tctctctctctctttcactcttgtcttgtc  85
+            ||||||   | ||||||||||||||||| ||||||||||
+Query  143  tctctcanatgtctctctctctttcact-ttgtcttgtc  180
+
 # polishing(m=400,d=-600,p=30): 39/39
 36 118 2 R 36 118 2 54 6 83.33
-acatcttctaagaaagaaacaaagaaaga--cttc-aca
-||| ||||  |||||||||||||||||||  |||| |||
-aca-cttc--agaaagaaacaaagaaagaatcttctaca
+Sbjct  2    acatcttctaagaaagaaacaaagaaaga--cttc-aca  37
+            ||| ||||  |||||||||||||||||||  |||| |||
+Query  201  aca-cttc--agaaagaaacaaagaaagaatcttctaca  236
+
 # polishing(m=400,d=-600,p=30): 39/39, seed_on_start, seed_on_end
 33 31 0 R 33 135 79 48 6 81.82
-ctctgtctctt-t-cttcttcttcttcttcttctc
-|||| || ||| | || ||||||||||||||| ||
-ctctttc-cttctcctccttcttcttcttctt-tc
+Sbjct  0   ctctgtctctt-t-cttcttcttcttcttcttctc  32
+           |||| || ||| | || ||||||||||||||| ||
+Query  52  ctctttc-cttctcctccttcttcttcttctt-tc  84
+
 # polishing(m=400,d=-600,p=30): 35/35, seed_on_start, seed_on_end
 30 19 553 R 34 554 328 46 6 81.25
-at-tttcccaag-gtggtttttttttgt--ttgt
-|| |||||  || |||||||||||||||  ||||
-atgtttccttagagtggtttttttttgtggttgt
+Sbjct  553  at-tttcccaag-gtggtttttttttgt--ttgt  582
+            || |||||  || |||||||||||||||  ||||
+Query  3    atgtttccttagagtggtttttttttgtggttgt  36
+
 # polishing(m=400,d=-600,p=30): 34/34, seed_on_start, seed_on_end
+36 632 154 R 31 632 169 52 5 85.07
+Sbjct  154  atctctccaggtgtctcttcttcttcttcttcttct  189
+            || |||||  || | |||||||||||||||||||||
+Query  224  at-tctcc--gt-t-tcttcttcttcttcttcttct  254
+
+# polishing(m=400,d=-600,p=30): 36/36
+36 632 154 R 33 632 167 51 6 82.61
+Sbjct  154  atctctccaggtgtc-tcttcttcttcttcttcttct  189
+            || |||||  || || |||||||||||||||||| ||
+Query  224  at-tctcc--gtttcttcttcttcttcttcttct-ct  256
+
+# polishing(m=400,d=-600,p=30): 37/37
 41 634 281 R 42 693 409 59 8 80.72
-tcctctgtgtgtgt-tttttttgttctcttc-a-taattttccc
-|||| | || || | |||||||||||||||| | || |||||||
-tcctgtatg-gtttctttttttgttctcttccacta-ttttccc
+Sbjct  281  tcctctgtgtgtgt-tttttttgttctcttc-a-taattttccc  321
+            |||| | || || | |||||||||||||||| | || |||||||
+Query  45   tcctgtatg-gtttctttttttgttctcttccacta-ttttccc  86
+
 # polishing(m=400,d=-600,p=30): 44/44
 40 466 426 R 40 704 301 56 8 80.00
-taaat-tttaatttcgtaaatgcacagattacaatgt-ctct
-||| | |||||||||||||| | | | |||| ||||| ||||
-taattgtttaatttcgtaaa-gaaaaaatta-aatgttctct
+Sbjct  426  taaat-tttaatttcgtaaatgcacagattacaatgt-ctct  465
+            ||| | |||||||||||||| | | | |||| ||||| ||||
+Query  81   taattgtttaatttcgtaaa-gaaaaaatta-aatgttctct  120
+
 # polishing(m=400,d=-600,p=30): 42/42
 45 693 362 R 39 758 186 60 8 80.95
-ctactctttgtgatcttctttgtttgtttgtttggtttttttttt
-|| |||| |||| || |||||  ||| || |||||||||||||||
-ct-ctctctgtg-tc-tctttc-ttg-tt-tttggtttttttttt
+Sbjct  362  ctactctttgtgatcttctttgtttgtttgtttggtttttttttt  406
+            || |||| |||| || |||||  ||| || |||||||||||||||
+Query  83   ct-ctctctgtg-tc-tctttc-ttg-tt-tttggtttttttttt  121
+
 # polishing(m=400,d=-600,p=30): 45/45, seed_on_end
 42 693 409 R 41 976 291 59 8 80.72
-ccctttt-atcaccttctcttgtttttttctttg-gtatgtcct
-||||||| || | |||||||||||||||| | || || | ||||
-cccttttaat-a-cttctcttgttttttt-tgtgtgtgtctcct
+Sbjct  409  ccctttt-atcaccttctcttgtttttttctttg-gtatgtcct  450
+            ||||||| || | |||||||||||||||| | || || | ||||
+Query  78   cccttttaat-a-cttctcttgttttttt-tgtgtgtgtctcct  118
+
 # polishing(m=400,d=-600,p=30): 44/44
 32 926 328 R 32 989 330 46 6 81.25
-tttgtataggtttc-tttatcgtgtgttgtatt
-||||||||||||||  ||| | | |||||| ||
-tttgtataggtttcgatta-cctttgttgtgtt
+Sbjct  328  tttgtataggtttc-tttatcgtgtgttgtatt  359
+            ||||||||||||||  ||| | | |||||| ||
+Query  44   tttgtataggtttcgatta-cctttgttgtgtt  75
+
 # polishing(m=400,d=-600,p=30): 33/33
 32 480 385 R 32 989 330 46 6 81.25
-tttgtataggtttc-tttatcgtgtgttgtatt
-||||||||||||||  ||| | | |||||| ||
-tttgtataggtttcgatta-cctttgttgtgtt
+Sbjct  385  tttgtataggtttc-tttatcgtgtgttgtatt  416
+            ||||||||||||||  ||| | | |||||| ||
+Query  44   tttgtataggtttcgatta-cctttgttgtgtt  75
+
 # polishing(m=400,d=-600,p=30): 33/33
 31 509 337 R 35 1066 356 48 6 81.82
-tta-ata-caattgatcgtttctactctg--agaa
-||| ||  |||||| ||||||||||||||  ||||
-ttatatctcaattgttcgtttctactctgttagaa
+Sbjct  337  tta-ata-caattgatcgtttctactctg--agaa  367
+            ||| ||  |||||| ||||||||||||||  ||||
+Query  29   ttatatctcaattgttcgtttctactctgttagaa  63
+
 # polishing(m=400,d=-600,p=30): 35/35
 32 632 173 R 33 1140 72 47 6 81.54
-cttcttcttcttcttctttg-cctcttagctgt
-|| |||||||||||||| || ||||  | ||||
-ctncttcttcttcttctctggcctcaaacctgt
+Sbjct  173  cttcttcttcttcttctttg-cctcttagctgt  204
+            || |||||||||||||| || ||||  | ||||
+Query  194  ctncttcttcttcttctctggcctcaaacctgt  226
+
 # polishing(m=400,d=-600,p=30): 33/33
 32 138 47 R 35 1243 232 49 6 82.09
-tctctctctctctc-tctatcat-ctctttt-ctt
-|||||||||||||| | | | || ||||||| |||
-tctctctctctctcctttttgatactcttttgctt
+Sbjct  47   tctctctctctctc-tctatcat-ctctttt-ctt  78
+            |||||||||||||| | | | || ||||||| |||
+Query  123  tctctctctctctcctttttgatactcttttgctt  157
+
 # polishing(m=400,d=-600,p=30): 35/35
 32 926 328 R 32 1350 272 46 6 81.25
-tttgtataggtttc-tttatcgtgtgttgtatt
-||||||||||||||  ||| | | |||||| ||
-tttgtataggtttcgatta-cctttgttgtgtt
+Sbjct  328  tttgtataggtttc-tttatcgtgtgttgtatt  359
+            ||||||||||||||  ||| | | |||||| ||
+Query  95   tttgtataggtttcgatta-cctttgttgtgtt  126
+
 # polishing(m=400,d=-600,p=30): 33/33
 32 480 385 R 32 1350 272 46 6 81.25
-tttgtataggtttc-tttatcgtgtgttgtatt
-||||||||||||||  ||| | | |||||| ||
-tttgtataggtttcgatta-cctttgttgtgtt
+Sbjct  385  tttgtataggtttc-tttatcgtgtgttgtatt  416
+            ||||||||||||||  ||| | | |||||| ||
+Query  95   tttgtataggtttcgatta-cctttgttgtgtt  126
+
 # polishing(m=400,d=-600,p=30): 33/33
 31 291 307 R 33 1400 150 46 6 81.25
-gaatact-agttttttt-tttgtgaattgaatt
-||| | | | |||| || |||||||||||||||
-gaagagtcatttttcttgtttgtgaattgaatt
+Sbjct  307  gaatact-agttttttt-tttgtgaattgaatt  337
+            ||| | | | |||| || |||||||||||||||
+Query  101  gaagagtcatttttcttgtttgtgaattgaatt  133
+
 # polishing(m=400,d=-600,p=30): 33/33
 32 314 158 R 33 1403 172 47 6 81.54
-gagagagagagagaga-aagc-agaagaagaagt
-|||||||||||||||| || | |||| || | ||
-gagagagagagagagagaaactagaa-aaaacgt
+Sbjct  158  gagagagagagagaga-aagc-agaagaagaagt  189
+            |||||||||||||||| || | |||| || | ||
+Query  106  gagagagagagagagagaaactagaa-aaaacgt  138
+
 # polishing(m=400,d=-600,p=30): 34/34
-33 1524 237 R 32 1701 304 47 6 81.54
-atatatatatatatatatatagtctttatataa
-|| ||| |||||||||||||| | ||| || ||
-atntatntatatatatatata-tatttctaaaa
-# polishing(m=400,d=-600,p=30): 33/33, seed_on_start, seed_on_end
diff --git a/testdata/repfind-result/humhbb.fna-gr-ext.result b/testdata/repfind-result/humhbb.fna-gr-ext.result
index a49b4f4..2e8b158 100644
--- a/testdata/repfind-result/humhbb.fna-gr-ext.result
+++ b/testdata/repfind-result/humhbb.fna-gr-ext.result
@@ -282,6 +282,7 @@
 14 0 13089 F 14 0 50895 28 0 100.00
 14 0 17683 F 14 0 50895 28 0 100.00
 14 0 13089 F 14 0 17678 28 0 100.00
+14 0 13075 F 14 0 13089 28 0 100.00
 14 0 13075 F 14 0 17683 28 0 100.00
 14 0 17678 F 14 0 50898 28 0 100.00
 14 0 13075 F 14 0 50898 28 0 100.00
diff --git a/testdata/repfind-result/ychrIII.fna-gr-ext.result b/testdata/repfind-result/ychrIII.fna-gr-ext.result
index 11010e2..fdd52ea 100644
--- a/testdata/repfind-result/ychrIII.fna-gr-ext.result
+++ b/testdata/repfind-result/ychrIII.fna-gr-ext.result
@@ -949,6 +949,7 @@
 15 0 109609 F 15 0 195179 30 0 100.00
 2508 0 11498 F 2508 0 197399 5004 4 99.84
 14 0 15000 F 14 0 218892 28 0 100.00
+20 0 29440 F 20 0 29460 40 0 100.00
 15 0 87104 F 15 0 296984 30 0 100.00
 14 0 193518 F 14 0 292113 28 0 100.00
 14 0 12587 F 14 0 193518 28 0 100.00
@@ -993,6 +994,7 @@
 239 0 13679 F 239 0 293100 466 4 98.33
 239 0 199580 F 239 0 293100 469 3 98.74
 44 0 91 F 46 0 135 84 2 95.56
+15 0 156 F 15 0 171 30 0 100.00
 64 0 61 F 61 0 125 107 6 90.40
 115 0 56 F 109 0 175 191 11 90.18
 29 0 112 F 30 0 141 56 1 96.61
@@ -1079,6 +1081,7 @@
 26 0 221 F 28 0 247 48 2 92.59
 14 0 118 F 14 0 134 28 0 100.00
 27 0 77 F 28 0 104 52 1 96.36
+14 0 295 F 14 0 309 28 0 100.00
 24 0 185 F 24 0 210 42 2 91.67
 14 0 62353 F 14 0 108231 28 0 100.00
 14 0 92905 F 14 0 191344 28 0 100.00
@@ -1224,6 +1227,7 @@
 45 0 315239 F 45 0 315294 81 3 93.33
 27 0 315253 F 27 0 315281 54 0 100.00
 28 0 315269 F 27 0 315297 52 1 96.36
+14 0 315239 F 14 0 315253 28 0 100.00
 27 0 315239 F 28 0 315266 52 1 96.36
 42 0 315239 F 42 0 315281 78 2 95.24
 14 0 282931 F 14 0 297274 28 0 100.00
diff --git a/testdata/see-ext-U8-evalue-bitscore.matches b/testdata/see-ext-U8-evalue-bitscore.matches
new file mode 100644
index 0000000..0d1372e
--- /dev/null
+++ b/testdata/see-ext-U8-evalue-bitscore.matches
@@ -0,0 +1,11 @@
+# Options: -ii U89959_genomic -l 50 -outfmt bitscore evalue -minidentity 80 -history 60
+# Fields: s. len, s. seqnum, s. start, strand, q. len, q. seqnum, q. start, score, editdist, % identity, bit score, evalue
+149 0 66233 F 149 0 70166 235 21 85.91 152.6 1e-36
+190 0 73505 F 188 0 73696 288 30 84.13 178.4 2e-44
+343 0 73448 F 350 0 74209 528 55 84.13 329.5 8e-90
+225 0 73774 F 228 0 74560 342 37 83.66 207.6 4e-53
+208 0 79213 F 207 0 85486 307 36 82.65 178.4 2e-44
+374 0 79690 F 369 0 85882 539 68 81.70 308.9 1e-83
+121 0 79313 F 122 0 88347 234 3 97.53 195.6 2e-49
+452 0 103938 F 451 0 106522 750 51 88.70 523.5 3e-148
+# Fields: s. len, s. seqnum, s. start, strand, q. len, q. seqnum, q. start, score, editdist, % identity, bit score, evalue
diff --git a/testdata/see-ext-ani-at1MB-U8.txt b/testdata/see-ext-ani-at1MB-U8.txt
new file mode 100644
index 0000000..c0cff1d
--- /dev/null
+++ b/testdata/see-ext-ani-at1MB-U8.txt
@@ -0,0 +1,6 @@
+# Options: -ii at1MB -qii U89959_genomic.fas -ani -minidentity 80 -history 60
+# TIME seedextend-greedy-9-22-80-5-64 overall 0.667635
+ANI at1MB U89959_genomic 83.5046 82.9379
+# space peak in megabytes: 9.84 (in 1123 events)
+# mmap space peak in megabytes: 0.55
+# combined space peak in megabytes: 10.39
diff --git a/testdata/see-ext-at1MB-400-al-from-dtrace.matches b/testdata/see-ext-at1MB-400-al-from-dtrace.matches
new file mode 100644
index 0000000..165afe7
--- /dev/null
+++ b/testdata/see-ext-at1MB-400-al-from-dtrace.matches
@@ -0,0 +1,7610 @@
+# Options: -ii at1MB -outfmt trace -l 400 -minidentity 80 -history 60
+# Fields: s. len, s. seqnum, s. start, strand, q. len, q. seqnum, q. start, score, editdist, % identity
+597 1 0 F 592 4 7 898 97 83.68
+Sbjct  0    atgnanantcaaaaatggagtntaggtttcatatctctcgcttttctcttcatcacttcc  59
+            ||| | | ||| ||||||||| ||||||||| ||  || ||||| |||||||||||||||
+Query  7    atggatagtcacaaatggagtctaggtttcacattacttgctttcctcttcatcacttcc  66
+
+Sbjct  60   tcttcagctgagttcatcattcaacaggtcacaaagggcanaggaatagagtacaacagt  119
+            ||||| |||||| |||||||| ||||||||||| |||||| |||||||||||||||||  
+Query  67   tcttccgctgagctcatcattaaacaggtcacacagggcagaggaatagagtacaacaac  126
+
+Sbjct  120  tcttacagtctcgaggagaatcttggagtgacna---gagagttgagagaagagcgacca  176
+            ||||||||||||  |  ||||||||||||||| |   ||||||||||||| |||||||||
+Query  127  tcttacagtctcacgtcgaatcttggagtgacgacaagagagttgagagacgagcgacca  186
+
+Sbjct  177  tcgagtaagatagtgacaataacaagcttctcagtgattaaaggcagaggagaaccctat  236
+            || ||||||||||||||||| ||||||||||| |||||||| | ||||||||||||||||
+Query  187  tcaagtaagatagtgacaatcacaagcttctctgtgattaaggacagaggagaaccctat  246
+
+Sbjct  237  gaatcctctgtttttgaggctgctggttacaaatggagattggttttgtacgtgaatggt  296
+            ||||| ||| ||||||||||||| ||||||||||||||||| |||||||||||||| |||
+Query  247  gaatcatctatttttgaggctgccggttacaaatggagattagttttgtacgtgaagggt  306
+
+Sbjct  297  aataaaaacgacggtggaaatgatcatatttccctttacgcaaggatcgaagagacaaac  356
+            |||   || | ||||  |||| |||||||||| |||||||| ||||| ||||||||| | 
+Query  307  aatccgaaaggcggtataaataatcatatttcactttacgcgaggatagaagagacagaa  366
+
+Sbjct  357  tctcttccattaggttgggaagtgaatgttgatctcaaactctttgtccataatgggaag  416
+             ||||||||  ||| ||||||||||||||||||||||||||||||||||| ||| |||| 
+Query  367  actcttccaagagggtgggaagtgaatgttgatctcaaactctttgtccacaatcggaan  426
+
+Sbjct  417  ctacacaaatatttgactgttacagatggcttanttgaagcgatataacaatgcnaaaaa  476
+             || | ||||||||| |||||||||||||   | | ||||||||| ||| |||| |||||
+Query  427  ttaaagaaatatttgtctgttacagatggaacagt-gaagcgatacaacgatgcaaaaaa  485
+
+Sbjct  477  agaatggggtttcggacaattgattcctcnatc-aacattctacaacgcgaacgaaggtt  535
+            ||| ||||| |||  |||||||||| |||  || |||||||||||||||||||||||| |
+Query  486  agagtggggattcncacaattgatttctc-ttccaacattctacaacgcgaacgaagggt  544
+
+Sbjct  536  acctt-tgaccaaggacactggttccttttgggtggcnggaaaancctttattgtttaaa  594
+             |||| || ||| ||||||   ||||||| ||||| | | | || | || || ||| || 
+Query  545  tccttgtg-cca-ggacacancttccttt-gggtg-ctg-anaa-c-ttcatcgtt-aac  596
+
+Sbjct  595  cc  596
+            ||
+Query  597  cc  598
+
+538 1 9 F 523 47 0 779 94 82.28
+Sbjct  9    caaaaatggagtntaggtttcatatctctcgcttttctcttcatcacttcctcttcagct  68
+            || ||||||||| ||||||||| ||  || ||||| |||||||||||||||||||| |||
+Query  0    cacaaatggagtctaggtttcacattacttgctttcctcttcatcacttcctcttccgct  59
+
+Sbjct  69   gagttcatcattcaacaggtcacaaagggcanaggaatagagtacaacagttcttacagt  128
+            ||| |||||||| ||||||||||| |||||| |||||||||||||||||  |||||||||
+Query  60   gagctcatcattaaacaggtcacacagggcagaggaatagagtacaacaactcttacagt  119
+
+Sbjct  129  ctcgaggagaatcttggagtgacnaga-gag--ttgagagaagagcgaccatcgagtaag  185
+            |||  |  ||||||||||||||| | | |||  |||||||| ||||||||||| ||||||
+Query  120  ctcacgtcgaatcttggagtgacgacaagagagttgagagacgagcgaccatcaagtaag  179
+
+Sbjct  186  atagtgacaataacaagcttctcagtgattaaaggcagaggagaaccctatgaatcctct  245
+            ||||||||||| ||||||||||| |||||||| | ||||||||||||||||||||| |||
+Query  180  atagtgacaatcacaagcttctctgtgattaaggacagaggagaaccctatgaatcatct  239
+
+Sbjct  246  gtttttgaggctgctggttacaaatggagattggttttgtacgtgaatggtaataaaaac  305
+             ||||||||||||| |||||||||||||||||  ||||||||||||| ||||||   || 
+Query  240  atttttgaggctgccggttacaaatggagattanttttgtacgtgaagggtaatccgaaa  299
+
+Sbjct  306  gacggtggaaatgatcatatttccctttacgcaaggatcgaagagaca-aa-ctctcttc  363
+            | ||||  | || |||||||||| |||||||| ||||| ||||||||| || |||| | |
+Query  300  ggcggtatanataatcatatttcactttacgcgaggatagaagagacagaaactct-t-c  357
+
+Sbjct  364  catta-ggttgggaagtgaatgttgatctcaaactctttgtccataatgggaagctacac  422
+            ||  | ||| |||||||||||||||||||||||||||||||||| ||| |||||  | | 
+Query  358  caagaaggt-gggaagtgaatgttgatctcaaactctttgtccacaatcggaagtnaaag  416
+
+Sbjct  423  aaatatttgactgttacagatgg-cttanttgaagcgatataacaatgcnaaaaaagaat  481
+            || |||| | ||||||||||||| |  | | ||| ||||  | | |||| |||||||| |
+Query  417  aa-tatt-gtctgttacagatggac--a-t-gaancgatcca-cnatgcnaaaaaaga-t  468
+
+Sbjct  482  ggggtttcggacaattgattcctcnatcaacattctacaacgcgaacgaaggttacctt-  541
+            |||| | |  ||| ||||||| ||  || |||| || || | |||| |||||| || || 
+Query  469  ggggatcc--aca-ttgattc-tc--tccacat-ct-ca-c-cgaa-gaaggt-actttc  516
+
+Sbjct  542  tgacca  546
+             |||||
+Query  517  agacca  522
+
+577 2 72 F 606 3 0 916 89 84.95
+Sbjct  72   gtgaagcgatataacaatgcgaaaaaagaatggggtttcggacaattgattcctcgatc-  131
+            ||||||||||| ||| |||| |||||||| ||||| |||  |||||||||| |||  || 
+Query  0    gtgaagcgatacaacgatgcaaaaaaagagtggggattcacacaattgatttctc-ttcc  58
+
+Sbjct  132  aacattctacaacgcgaacgaaggttaccttgaccaggacactggttcttttggtgctga  190
+            |||||||||||||||||||||||| ||| |||  |||||||| | |||||||||||||||
+Query  59   aacattctacaacgcgaacgaagggtacnttgtgcaggacacagcttcttttggtgctga  118
+
+Sbjct  191  gatctttattgttaaaccggctcaacaacaagagaaagttacattcatatcaaaccctcc  250
+            |||||| || ||||| ||| |  || ||||||||||||| ||||||||||||||||||||
+Query  119  gatcttcatcgttaacccgacagaaaaacaagagaaagtcacattcatatcaaaccctcc  178
+
+Sbjct  251  aaacaatgttttcacttggaagatacttcgtttctctaccttggaagataaattctatta  310
+             |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  179  gaacaatgttttcacttggaagatacttcgtttctctaccttggaagataaattctatta  238
+
+Sbjct  311  ctccgatgattttctcgttgaagaccgatactggagactaggatttaacccgaaagggga  370
+            ||| ||||||||||||||||||||||||||||||||| |||||||||||||||||||   
+Query  239  ctctgatgattttctcgttgaagaccgatactggagattaggatttaacccgaaaggatc  298
+
+Sbjct  371  tggaggaggaagaccacatgcacttccaatcttcctatttgctcaaggccataaggcaaa  430
+            ||| ||||| |||||||||||||||||||||||||||| |||||||||||||||||||||
+Query  299  tggtggagggagaccacatgcacttccaatcttcctatatgctcaaggccataaggcaaa  358
+
+Sbjct  431  tgcagttgctacaaacacttggggagcggttaatctgcggttaaagaatcaacgaanttc  490
+             ||||||| |||||||||||||||||||||||||||||||||||||||||||||||  ||
+Query  359  cgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctc  418
+
+Sbjct  491  taaccatagacaat-atnt-ctgca-cttggtaccc--attggaaacg-ttatggtntgg  544
+             ||||| | ||||| || | ||||| ||||||||||  ||| ||| || ||||||| |||
+Query  419  caaccacaaacaattatattctgcagcttggtaccccgattcgaagcgattatggtgtgg  478
+
+Sbjct  545  gant-aaca-tatc-tactgttg-ctga--ttaac-ga-gcatccaaaggattt-tggtg  595
+            || | |||| |||| || || || | ||   |||  || ||||| ||||| | | |||||
+Query  479  gagtgaacaatatcatattgatgtcagaagctaaaagatgcatcnaaagggtatatggtg  538
+
+Sbjct  596  a-tga-gccnt-atctt--gaa-ctgaa-tggttaagn-c-ctat-acca-c-tc-tctc  642
+            | ||| ||| | |||||  ||| ||||| ||||||||  | || | | || | |  ||||
+Query  539  aatgatgccattatcttttgaaactgaaatggttaaggtctctgtgaacaacatantctc  598
+
+Sbjct  643  c-ctnaa  648
+            | || ||
+Query  599  cncttaa  605
+
+626 2 34 F 656 5 0 1063 73 88.61
+Sbjct  34   ggaagctacacaaatatttgactgttacagatggcttagtgaagcgatataacaatgcga  93
+            ||||| || | ||||||||| |||||||||||||   |||||||||||| ||| |||| |
+Query  0    ggaagttaaagaaatatttgtctgttacagatggaacagtgaagcgatacaacgatgcaa  59
+
+Sbjct  94   aaaaagaatggggtttcggacaattgattcctcgatc-aacattctacaacgcgaacgaa  152
+            ||||||| ||||| |||  |||||||||| |||  || ||||||||||||||||||||||
+Query  60   aaaaagagtggggattcacacaattgatttctc-ttccaacattctacaacgcgaacgaa  118
+
+Sbjct  153  ggttaccttgaccaggacactggttcttttggtgctgagatctttattgttaaaccggct  212
+            || |||||||  |||||||| | ||||||||||||||||||||| || ||||| ||| | 
+Query  119  gggtaccttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgaca  178
+
+Sbjct  213  caacaacaagagaaagttacattcatatcaaaccctccaaacaatgttttcacttggaag  272
+             || ||||||||||||| ||||||||||||||||||||| ||||||||||||||||||||
+Query  179  gaaaaacaagagaaagtcacattcatatcaaaccctccagacaatgttttcacttggaag  238
+
+Sbjct  273  atacttcgtttctctaccttggaagataaattctattactccgatgattttctcgttgaa  332
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  239  atacttcgtttctctaccttggaagataaattctattactccgatgattttctcgttgaa  298
+
+Sbjct  333  gaccgatactggagactaggatttaacccgaaaggggatggaggaggaagaccacatgca  392
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  299  gaccgatactggagactaggatttaacccgaaaggggatggaggaggaagaccacatgca  358
+
+Sbjct  393  cttccaatcttcctatttgctcaaggccataaggcaaatgcagttgctacaaacacttgg  452
+            |||||||||||||||||||||||||||||||||||||| |||||||||||||||||||||
+Query  359  cttccaatcttcctatttgctcaaggccataaggcaaacgcagttgctacaaacacttgg  418
+
+Sbjct  453  ggagcggttaatctgcggttaaagaatcaacgaanttctaaccatagacaa-tatnt-ct  510
+            |||||||||||||||||||||||||||||||||| | |||||||||||||| ||| | ||
+Query  419  ggagcggttaatctgcggttaaagaatcaacgaagtactaaccatagacaaatatattct  478
+
+Sbjct  511  gca-cttggtaccc-attggaaacg-ttatggtntgggant-aaca-tatc-tactgtt-  564
+            ||| |||||||||| ||||||| || ||||||| ||||| | |||| |||| ||||||| 
+Query  479  gcagcttggtacccgattggaagcggttatggtgtgggagtgaacaatatcatactgtta  538
+
+Sbjct  565  gctgatt-aa-cga-gcatccaaaggat-tttggtga-tga-gccnt-atctt-gaa-ct  614
+            ||||||| || ||| ||||| ||||||| |||||||| ||| ||| | ||||| ||| ||
+Query  539  gctgatttaaacgatgcatcaaaaggatatttggtgaatgatgccattatctttgaagct  598
+
+Sbjct  615  gaa-tggttaagn-c-ctata-cca-c-tc-tctcc-ctnaa-t-tct-c-cttctt  659
+            ||| ||||||||  | ||||| ||| | || ||||| || || | ||| | ||||||
+Query  599  gaaatggttaaggtctctataaccaacatcgtctccgcttaaatatctgcacttctt  655
+
+484 2 176 F 513 6 104 730 89 82.15
+Sbjct  176  ttcttttggtgctgagatctttat-tgttaaaccggctcaacaacaagagaaagttacat  234
+            |||||| |||||||| ||||| ||  | ||  ||| |  ||  ||   | | |||  |||
+Query  104  ttctttnggtgctganatcttcatgcgntancccgacagaaanacnnnananagtcncat  163
+
+Sbjct  235  tcatatcaaaccctccaaacaatgttttcacttggaagatacttcgtttctctaccttgg  294
+            |||||||  ||||||| |||||||||||||||||||||||||||||||||||||||||||
+Query  164  tcatatcnnaccctccnaacaatgttttcacttggaagatacttcgtttctctaccttgg  223
+
+Sbjct  295  aagataaattctattactccgatgattttctcgttgaagaccgatactggagactaggat  354
+            ||||||||||||||||||| ||||||||||||||||||||||||||||||||| ||||||
+Query  224  aagataaattctattactctgatgattttctcgttgaagaccgatactggagattaggat  283
+
+Sbjct  355  ttaacccgaaaggggatggaggaggaagaccacatgcacttccaatcttcctatttgctc  414
+            |||||||||||||   ||| ||||| |||||||||||||||||||||||||||| |||||
+Query  284  ttaacccgaaaggatctggtggagggagaccacatgcacttccaatcttcctatatgctc  343
+
+Sbjct  415  aaggccataaggcaaatgcagttgctacaaacacttggggagcggttaatctgcggttaa  474
+            |||||||||||||||| ||||||| |||||||||||||||||||||||||||||||||||
+Query  344  aaggccataaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaa  403
+
+Sbjct  475  agaatcaacgaanttctaaccatagacaat-atnt-ctgca-cttggtaccc-attggaa  530
+            ||||||||||||  || ||||| | ||||| || | ||||| |||||||||| ||| |||
+Query  404  agaatcaacgaagctccaaccacaaacaattatattctgcagcttggtacccgattcgaa  463
+
+Sbjct  531  acg-ttatggtntgggant-aaca-tat-ctactgttg-ctgat-taa-cga-gcatcca  582
+             || ||||||| ||||| | |||| |||  || || || | ||  |||  || |||||||
+Query  464  gcgattatggtgtgggagtgaacaatataatattgatgtcagagctaaaagatgcatcca  523
+
+Sbjct  583  aa-ggattt-tggtga-tga-gccnt-atctt-gaa-ctgaa-tggttaagn-c-ctat-  632
+            || || | | |||||| ||| ||| | ||||| ||| ||||| ||||||||  | || | 
+Query  524  aaagggtatatggtgaatgatgccattatctttgaagctgaaatggttaaggtctctgtg  583
+
+Sbjct  633  acca-c-t-ctctccct-naattctc-cttctt  659
+            || | | |  ||||| |  || | || || |||
+Query  584  acaaacatagtctccgtttaaatatcactactt  616
+
+706 2 0 F 749 16 84 1269 62 91.48
+Sbjct  0    gtgantgttgatctcaaactctttgtccataatgggaagctacacaaatatttgactgtt  59
+            |||| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  84   gtgaatgttgatctcaaactctttgtccataatgggaagctacacaaatatttgactgtt  143
+
+Sbjct  60   acagatggcttagtgaagcgatataacaatgcgaaaaaagaatggggtttcggacaattg  119
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  144  acagatggcttagtgaagcgatataacaatgcgaaaaaagaatggggtttcggacaattg  203
+
+Sbjct  120  attcctcgatcaacattctacaacgcgaacgaaggttaccttgaccaggacactggttct  179
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  204  attcctcgatcaacattctacaacgcgaacgaaggttaccttgaccaggacactggttct  263
+
+Sbjct  180  tttggtgctgagatctttattgttaaaccggctcaacaacaagagaaagttacattcata  239
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  264  tttggtgctgagatctttattgttaaaccggctcaacaacaagagaaagttacattcata  323
+
+Sbjct  240  tcaaaccctccaaacaatgttttcacttggaagatacttcgtttctctaccttggaagat  299
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  324  tcaaaccctccaaacaatgttttcacttggaagatacttcgtttctctaccttggaagat  383
+
+Sbjct  300  aaattctattactccgatgattttctcgttgaagaccgatactggagactaggatttaac  359
+            ||||||||||||||||||||| ||||||||||||||||||||||||||||||||||||||
+Query  384  aaattctattactccgatgatnttctcgttgaagaccgatactggagactaggatttaac  443
+
+Sbjct  360  ccgaaaggggatggaggaggaagaccacatgcacttccaatcttcctatttgctcaaggc  419
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  444  ccgaaaggggatggaggaggaagaccacatgcacttccaatcttcctatttgctcaaggc  503
+
+Sbjct  420  cataaggcaaatgcagttgctacaaacacttggggagcggttaatctgcggttaaagaat  479
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  504  cataaggcaaatgcagttgctacaaacacttggggagcggttaatctgcggttaaagaat  563
+
+Sbjct  480  caacgaanttctaaccatagacaa-tatnt-ctgca-cttggtaccc-attggaaacg-t  534
+            ||||||| | |||||||||||||| ||| | ||||| |||||||||| |||||||||| |
+Query  564  caacgaagtactaaccatagacaaatatattctgcagcttggtacccgattggaaacggt  623
+
+Sbjct  535  tatggtntgggant-aaca-tatc-tactgtt-gctgatt-aa-cga-gcatccaaagga  587
+            |||||| ||||| | |||| |||| ||||||| ||||||| || ||| ||||||||||||
+Query  624  tatggtgtgggagtgaacaatatcatactgttagctgatttaaacgatgcatccaaagga  683
+
+Sbjct  588  t-tttggtga-tga-gccnt-atctt-gaa-ctgaa-tggttaagn-c-ctata-cca-c  636
+            | |||||||| ||| ||| | ||||| ||| ||||| ||||||||  | ||||| ||| |
+Query  684  tatttggtgaatgatgccattatctttgaagctgaaatggttaaggtctctataaccaac  743
+
+Sbjct  637  -tc-tctcc-ctnaa-t-tct-c-cttcttn-tc-ncna-ca-tc-ncnttn--a-taaa  681
+             || ||||| || || | ||| | ||||||  ||  | | || ||  | ||   | ||||
+Query  744  atcgtctccgcttaaatatctgcncttctttgtctacnancaatccaccttatgaataaa  803
+
+Sbjct  682  aaa-ttt-a-tt-gat-aattttttanaa  705
+            ||| ||| | || ||| ||||| ||| ||
+Query  804  aaaattttaatttgatgaatttgttataa  832
+
+660 2 0 F 687 39 0 1065 94 86.04
+Sbjct  0    gtgantgttgatctcaaactctttgtccataatgggaagctacacaaatatttgactgtt  59
+            |||| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  0    gtgaatgttgatctcaaactctttgtccataatgggaagctacacaaatatttgactgtt  59
+
+Sbjct  60   acagatggcttagtgaagcgatataacaatgcgaaaaaagaatggggtttcggacaattg  119
+            ||||||||   |||||||||||| ||| |||| |||||||| ||||| |||  |||||||
+Query  60   acagatggaacagtgaagcgatacaacgatgcnaaaaaagagtggggattcacacaattg  119
+
+Sbjct  120  attcctcgatc-aacattctacaacgcgaacgaaggttaccttgaccaggacactggttc  178
+            ||| |||  || |||||||||||||||||||||||| |||||||  |||||||| | |||
+Query  120  atttctc-ttccaacattctacaacgcgaacgaagggtaccttgtgcaggacacagcttc  178
+
+Sbjct  179  ttttggtgctgagatctttattgttaaaccggctcaacaacaagagaaagttacattcat  238
+            |||||||||||||||||| || ||||| ||| |  || ||||||||||||| ||||||||
+Query  179  ttttggtgctgagatcttcatcgttaacccgacagaaaaacaagagaaagtcacattcat  238
+
+Sbjct  239  atcaaaccctccaaacaatgttttcacttggaagatacttcgtttctctaccttggaaga  298
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  239  atcaaaccctccaaacaatgttttcacttggaagatacttcgtttctctaccttggaaga  298
+
+Sbjct  299  taaattctattactccgatgattttctcgttgaagaccgatactggagactaggatttaa  358
+            ||||||||||||||| ||||||||||| |||| |||||||||||||||||||||||||||
+Query  299  taaattctattactctgatgattttctngttggagaccgatactggagactaggatttaa  358
+
+Sbjct  359  cccgaaaggggatggaggaggaagaccacatgcacttccaatcttcctatttgctcaagg  418
+            |||||||||   ||| |||||||||||||||||||||||||||||||||| |||||||||
+Query  359  cccgaaaggatctggtggaggaagaccacatgcacttccaatcttcctatatgctcaagg  418
+
+Sbjct  419  ccataaggcaaatgcagttgctacaaacacttggggagcggttaatctgcggttaaagaa  478
+            |||||||||||| ||||||| |||||||||||||||||||||||||||||||||||||||
+Query  419  ccataaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaa  478
+
+Sbjct  479  tcaacgaanttctaaccatagacaat-atnt-ctgca-cttggtaccc-attggaaacg-  534
+            ||||||||  || ||||| | ||||| || | ||||| |||||||||| ||| ||| || 
+Query  479  tcaacgaagctccaaccacaaacaattatattctgcagcttggtacccgattcgaagcga  538
+
+Sbjct  535  ttatggtntgggant-aaca-tat-ctactgttg-ctga-ttaac-ga-gcatccaaagg  586
+            ||||||| ||||| | |||| |||  || || || | ||  |||  || ||||| |||||
+Query  539  ttatggtgtgggagtgaacaatataatattgatgtcagagctaaaagatgcatcaaaagg  598
+
+Sbjct  587  attt-tggtga-tga-gccnt-atctt-gaa-ctgaa-tggttaagn-c-ctat-acca-  636
+             | | |||||| ||| ||| | ||||| ||| ||||| ||||||||  | || | || | 
+Query  599  gtatatggtgaatgatgccattatctttgaagctgaaatggttaaggtctctgtgacaaa  658
+
+Sbjct  637  c-t-ctctccct-naattctc-cttctt  659
+            | |  ||||| |  || | || || |||
+Query  659  catagtctccgtttaaatatcactactt  686
+
+668 3 0 F 660 5 38 1139 63 90.51
+Sbjct  0    gtgaagcgatacaacgatgcaaaaaaagagtggggattcacacaattgatttctcttcca  59
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  38   gtgaagcgatacaacgatgcaaaaaaagagtggggattcacacaattgatttctcttcca  97
+
+Sbjct  60   acattctacaacgcgaacgaagggtacnttgtgcaggacacagcttcttttggtgctgag  119
+            ||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||
+Query  98   acattctacaacgcgaacgaagggtaccttgtgcaggacacagcttcttttggtgctgag  157
+
+Sbjct  120  atcttcatcgttaacccgacagaaaaacaagagaaagtcacattcatatcaaaccctcc-  179
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 
+Query  158  atcttcatcgttaacccgacagaaaaacaagagaaagtcacattcatatcaaaccctcca  217
+
+Sbjct  180  gaacaatgttttcacttggaagatacttcgtttctctaccttggaagataaattctatta  238
+            || |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  218  ga-caatgttttcacttggaagatacttcgtttctctaccttggaagataaattctatta  276
+
+Sbjct  239  ctctgatgattttctcgttgaagaccgatactggagattaggatttaacccgaaaggatc  298
+            ||| ||||||||||||||||||||||||||||||||| |||||||||||||||||||   
+Query  277  ctccgatgattttctcgttgaagaccgatactggagactaggatttaacccgaaagggga  336
+
+Sbjct  299  tggtggagggagaccacatgcacttccaatcttcctatatgctcaaggccataaggcaaa  358
+            ||| ||||| |||||||||||||||||||||||||||| |||||||||||||||||||||
+Query  337  tggaggaggaagaccacatgcacttccaatcttcctatttgctcaaggccataaggcaaa  396
+
+Sbjct  359  cgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctc  418
+            |||||||| ||||||||||||||||||||||||||||||||||||||||||||||||  |
+Query  397  cgcagttgctacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagtac  456
+
+Sbjct  419  caaccacaaacaattatattctgcagcttggtaccccgattcgaagcgattatggtgtgg  478
+             ||||| | |||| |||||||||||||||||||||| |||| |||||| |||||||||||
+Query  457  taaccatagacaaatatattctgcagcttggtaccc-gattggaagcggttatggtgtgg  515
+
+Sbjct  479  gagtgaacaatatcatattgatgtcagaagctaaaagatgcatcnaaagggtatatggtg  538
+            ||||||||||||||||| || |  | ||   |||| |||||||| ||||| ||| |||||
+Query  516  gagtgaacaatatcatactgttagctga-tttaaacgatgcatcaaaaggatatttggtg  574
+
+Sbjct  539  aatgatgccattatcttttgaaactgaaatggttaaggtctctgtgaac-aacatantct  597
+            |||||||||||||||||| ||| |||||||||||||||||||| | ||| |||||  |||
+Query  575  aatgatgccattatcttt-gaagctgaaatggttaaggtctctat-aaccaacatcgtct  632
+
+Sbjct  598  ccncttaaatatatntcactacttctttatcccccgn--aat-aaccttacaaagaaaaa  654
+            || ||||||||| |  ||||  | |||| ||  | |   ||| |||||||  || ||| |
+Query  633  ccgcttaaatatctg-cact--t-ctttgtctac-gatcaatcaaccttatgaataaaga  687
+
+Sbjct  655  ttgatgatttaat  667
+              ||| |||| ||
+Query  688  --gat-atttgat  697
+
+639 3 14 F 631 6 14 1063 69 89.13
+Sbjct  14   cgatgcaaaaaaagagtggggattcacacaattgatttctcttccaacattctacaacgc  73
+            |||||   ||||  | || |||||  ||  || ||| |||||||    |||||    |||
+Query  14   cgatgnnnaaaannantgnggattnncannatngatntctcttcnnnnattctnnnncgc  73
+
+Sbjct  74   gaacgaagggtacnttgtgcaggacacagcttcttttggtgctgagatcttcat-cgtta  132
+            ||| ||||||||| ||||| | |||    ||||||| |||||||| |||||||| || ||
+Query  74   gaangaagggtaccttgtgnangacnnnncttctttnggtgctganatcttcatgcgnta  133
+
+Sbjct  133  acccgacagaaaaacaagagaaagtcacattcatatcaaaccctccgaacaatgttttca  192
+             ||||||||||| ||   | | |||| ||||||||||  ||||||| |||||||||||||
+Query  134  ncccgacagaaanacnnnananagtcncattcatatcnnaccctccnaacaatgttttca  193
+
+Sbjct  193  cttggaagatacttcgtttctctaccttggaagataaattctattactctgatgattttc  252
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  194  cttggaagatacttcgtttctctaccttggaagataaattctattactctgatgattttc  253
+
+Sbjct  253  tcgttgaagaccgatactggagattaggatttaacccgaaaggatctggtggagggagac  312
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  254  tcgttgaagaccgatactggagattaggatttaacccgaaaggatctggtggagggagac  313
+
+Sbjct  313  cacatgcacttccaatcttcctatatgctcaaggccataaggcaaacgcagttgttacaa  372
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  314  cacatgcacttccaatcttcctatatgctcaaggccataaggcaaacgcagttgttacaa  373
+
+Sbjct  373  acacttggggagcggttaatctgcggttaaagaatcaacgaagctccaaccacaaacaat  432
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  374  acacttggggagcggttaatctgcggttaaagaatcaacgaagctccaaccacaaacaat  433
+
+Sbjct  433  tatattctgcagcttggtaccccgattcgaagcgattatggtgtgggagtgaacaatatc  492
+            |||||||||||||||||||||| |||||||||||||||||||||||||||||||||||| 
+Query  434  tatattctgcagcttggtaccc-gattcgaagcgattatggtgtgggagtgaacaatata  492
+
+Sbjct  493  atattgatgtcagaagctaaaagatgcatcnaaa-gggtatatggtgaatgatgccatta  551
+            |||||||||||||| ||||||||||||||| ||| |||||||||||||||||||||||||
+Query  493  atattgatgtcaga-gctaaaagatgcatccaaaagggtatatggtgaatgatgccatta  551
+
+Sbjct  552  tcttttgaaactgaaatggttaaggtctctgtgaacaa-catantctccncttaaatata  610
+            ||||| ||| |||||||||||||||||||||||| ||| |||| |||||  |||||||| 
+Query  552  tcttt-gaagctgaaatggttaaggtctctgtga-caaacatagtctccgtttaaatat-  609
+
+Sbjct  611  tntcactacttctttatcccccgnaataaccttacaaagaaa  652
+               |||||||||||| ||  |   || |||||||| || |||
+Query  610  ---cactacttctttttcaac---aacaaccttacgaataaa  644
+
+655 3 0 F 650 16 156 1047 86 86.82
+Sbjct  0    gtgaagcgatacaacgatgcaaaaaaagagtggggattcacacaattgatttctc-ttcc  58
+            ||||||||||| ||| |||| |||||||| ||||| |||  |||||||||| |||  || 
+Query  156  gtgaagcgatataacaatgcgaaaaaagaatggggtttcggacaattgattcctcgatc-  215
+
+Sbjct  59   aacattctacaacgcgaacgaagggtacnttgtgcaggacacagcttcttttggtgctga  118
+            |||||||||||||||||||||||| ||| |||  |||||||| | |||||||||||||||
+Query  216  aacattctacaacgcgaacgaaggttaccttgaccaggacactggttcttttggtgctga  274
+
+Sbjct  119  gatcttcatcgttaacccgacagaaaaacaagagaaagtcacattcatatcaaaccctcc  178
+            |||||| || ||||| ||| |  || ||||||||||||| ||||||||||||||||||||
+Query  275  gatctttattgttaaaccggctcaacaacaagagaaagttacattcatatcaaaccctcc  334
+
+Sbjct  179  gaacaatgttttcacttggaagatacttcgtttctctaccttggaagataaattctatta  238
+             |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  335  aaacaatgttttcacttggaagatacttcgtttctctaccttggaagataaattctatta  394
+
+Sbjct  239  ctctgatgattttctcgttgaagaccgatactggagattaggatttaacccgaaaggatc  298
+            ||| |||||| |||||||||||||||||||||||||| |||||||||||||||||||   
+Query  395  ctccgatgatnttctcgttgaagaccgatactggagactaggatttaacccgaaagggga  454
+
+Sbjct  299  tggtggagggagaccacatgcacttccaatcttcctatatgctcaaggccataaggcaaa  358
+            ||| ||||| |||||||||||||||||||||||||||| |||||||||||||||||||||
+Query  455  tggaggaggaagaccacatgcacttccaatcttcctatttgctcaaggccataaggcaaa  514
+
+Sbjct  359  cgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctc  418
+             ||||||| ||||||||||||||||||||||||||||||||||||||||||||||||  |
+Query  515  tgcagttgctacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagtac  574
+
+Sbjct  419  caaccacaaacaattatattctgcagcttggtaccccgattcgaagcgattatggtgtgg  478
+             ||||| | |||| |||||||||||||||||||||| |||| ||| || |||||||||||
+Query  575  taaccatagacaaatatattctgcagcttggtaccc-gattggaaacggttatggtgtgg  633
+
+Sbjct  479  gagtgaacaatatcatattgatgtcagaagctaaaagatgcatcnaaagggtatatggtg  538
+            ||||||||||||||||| || |  | ||   |||| |||||||| ||||| ||| |||||
+Query  634  gagtgaacaatatcatactgttagctga-tttaaacgatgcatccaaaggatatttggtg  692
+
+Sbjct  539  aatgatgccattatcttttgaaactgaaatggttaaggtctctgtgaac-aacatantct  597
+            |||||||||||||||||| ||| |||||||||||||||||||| | ||| |||||  |||
+Query  693  aatgatgccattatcttt-gaagctgaaatggttaaggtctctat-aaccaacatcgtct  750
+
+Sbjct  598  ccncttaaatatatntcactacttctttatcccccgn-aat-aaccttacaaagaaaaa  654
+            || ||||||||| |  | ||  | |||| ||  |    |||  ||||||  || |||||
+Query  751  ccgcttaaatatct-gcnct--t-ctttgtctacnancaatccaccttatgaataaaaa  805
+
+653 3 0 F 643 39 72 1203 31 95.22
+Sbjct  0    gtgaagcgatacaacgatgcaaaaaaagagtggggattcacacaattgatttctcttcca  59
+            |||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||
+Query  72   gtgaagcgatacaacgatgcnaaaaaagagtggggattcacacaattgatttctcttcca  131
+
+Sbjct  60   acattctacaacgcgaacgaagggtacnttgtgcaggacacagcttcttttggtgctgag  119
+            ||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||
+Query  132  acattctacaacgcgaacgaagggtaccttgtgcaggacacagcttcttttggtgctgag  191
+
+Sbjct  120  atcttcatcgttaacccgacagaaaaacaagagaaagtcacattcatatcaaaccctccg  179
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 
+Query  192  atcttcatcgttaacccgacagaaaaacaagagaaagtcacattcatatcaaaccctcca  251
+
+Sbjct  180  aacaatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattac  239
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  252  aacaatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattac  311
+
+Sbjct  240  tctgatgattttctcgttgaagaccgatactggagattaggatttaacccgaaaggatct  299
+            |||||||||||||| |||| |||||||||||||||| |||||||||||||||||||||||
+Query  312  tctgatgattttctngttggagaccgatactggagactaggatttaacccgaaaggatct  371
+
+Sbjct  300  ggtggagggagaccacatgcacttccaatcttcctatatgctcaaggccataaggcaaac  359
+            |||||||| |||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  372  ggtggaggaagaccacatgcacttccaatcttcctatatgctcaaggccataaggcaaac  431
+
+Sbjct  360  gcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc  419
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  432  gcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc  491
+
+Sbjct  420  aaccacaaacaattatattctgcagcttggtaccccgattcgaagcgattatggtgtggg  479
+            ||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||
+Query  492  aaccacaaacaattatattctgcagcttggtaccc-gattcgaagcgattatggtgtggg  550
+
+Sbjct  480  agtgaacaatatcatattgatgtcagaagctaaaagatgcatcnaaagggtatatggtga  539
+            |||||||||||| |||||||||||||| ||||||||||||||| ||||||||||||||||
+Query  551  agtgaacaatataatattgatgtcaga-gctaaaagatgcatcaaaagggtatatggtga  609
+
+Sbjct  540  atgatgccattatcttttgaaactgaaatggttaaggtctctgtgaacaa-catantctc  598
+            ||||||||||||||||| ||| |||||||||||||||||||||||| ||| |||| ||||
+Query  610  atgatgccattatcttt-gaagctgaaatggttaaggtctctgtga-caaacatagtctc  667
+
+Sbjct  599  cncttaaatatatntcactacttctttatcccccgnaataaccttacaaagaaa  652
+            |  ||||||||    |||||||||||| ||  |   || |||||||| || |||
+Query  668  cgtttaaatat----cactacttctttttcaac---aacaaccttacgaataaa  714
+
+613 4 16 F 571 47 0 1022 54 90.88
+Sbjct  16   cacaaatggagtctaggtttcacattacttgctttcctcttcatcacttcctcttccgct  75
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  0    cacaaatggagtctaggtttcacattacttgctttcctcttcatcacttcctcttccgct  59
+
+Sbjct  76   gagctcatcattaaacaggtcacacagggcagaggaatagagtacaacaactcttacagt  135
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  60   gagctcatcattaaacaggtcacacagggcagaggaatagagtacaacaactcttacagt  119
+
+Sbjct  136  ctcacgtcgaatcttggagtgacgacaagagagttgagagacgagcgaccatcaagtaag  195
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  120  ctcacgtcgaatcttggagtgacgacaagagagttgagagacgagcgaccatcaagtaag  179
+
+Sbjct  196  atagtgacaatcacaagcttctctgtgattaaggacagaggagaaccctatgaatcatct  255
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  180  atagtgacaatcacaagcttctctgtgattaaggacagaggagaaccctatgaatcatct  239
+
+Sbjct  256  atttttgaggctgccggttacaaatggagattagttttgtacgtgaagggtaatccgaaa  315
+            ||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||
+Query  240  atttttgaggctgccggttacaaatggagattanttttgtacgtgaagggtaatccgaaa  299
+
+Sbjct  316  ggcggtataaataatcatatttcactttacgcgaggatagaagagacagaaactcttcca  375
+            ||||||||| ||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  300  ggcggtatanataatcatatttcactttacgcgaggatagaagagacagaaactcttcca  359
+
+Sbjct  376  agagggtgggaagtgaatgttgatctcaaactctttgtccacaatcggaanttaaagaaa  435
+            ||| |||||||||||||||||||||||||||||||||||||||||||||| | |||||| 
+Query  360  agaaggtgggaagtgaatgttgatctcaaactctttgtccacaatcggaagtnaaagaa-  419
+
+Sbjct  436  tatttgtctgttacagatggaacagtgaagcgatacaacgatgcaaaaaaagagtgggga  495
+            |||| |||||||||||||||| || |||| |||| || | |||| |||||||| ||||||
+Query  420  tatt-gtctgttacagatgga-ca-tgaancgatcca-cnatgcnaaaaaaga-tgggga  473
+
+Sbjct  496  ttcncacaattgatttctcttccaacattctacaacgcgaacgaagggttccttgtgcca  555
+            | | |||| |||||| |||| ||| ||| || || | |||| ||||| | | || | | |
+Query  474  t-c-caca-ttgatt-ctct-cca-cat-ct-ca-c-cgaa-gaagg-tac-tt-t-c-a  517
+
+Sbjct  556  ggacacancttcctttgggtgctganaacttcatcgttaacccgaccgaaaaaccagaaa  615
+            | || || || | ||||| |||||| | || | || ||| || ||| ||||  | |||||
+Query  518  g-ac-ca-ct-c-tttgg-tgctgana-ct-c-tcntta-cc-gac-gaaa--c-agaaa  562
+
+Sbjct  616  aaatccctttctt  628
+               ||| || |||
+Query  563  ---tcc-tt-ctt  570
+
+704 5 52 F 700 6 14 1056 116 83.48
+Sbjct  52   cgatgcaaaaaaagagtggggattcacacaattgatttctcttccaacattctacaacgc  111
+            |||||   ||||  | || |||||  ||  || ||| |||||||    |||||    |||
+Query  14   cgatgnnnaaaannantgnggattnncannatngatntctcttcnnnnattctnnnncgc  73
+
+Sbjct  112  gaacgaagggtaccttgtgcaggacacagcttcttttggtgctgagatcttcat-cgtta  170
+            ||| ||||||||||||||| | |||    ||||||| |||||||| |||||||| || ||
+Query  74   gaangaagggtaccttgtgnangacnnnncttctttnggtgctganatcttcatgcgnta  133
+
+Sbjct  171  acccgacagaaaaacaagagaaagtcacattcatatcaaaccctccagacaatgttttca  230
+             ||||||||||| ||   | | |||| ||||||||||  |||||||  ||||||||||||
+Query  134  ncccgacagaaanacnnnananagtcncattcatatcnnaccctccnaacaatgttttca  193
+
+Sbjct  231  cttggaagatacttcgtttctctaccttggaagataaattctattactccgatgattttc  290
+            ||||||||||||||||||||||||||||||||||||||||||||||||| ||||||||||
+Query  194  cttggaagatacttcgtttctctaccttggaagataaattctattactctgatgattttc  253
+
+Sbjct  291  tcgttgaagaccgatactggagactaggatttaacccgaaaggggatggaggaggaagac  350
+            ||||||||||||||||||||||| |||||||||||||||||||   ||| ||||| ||||
+Query  254  tcgttgaagaccgatactggagattaggatttaacccgaaaggatctggtggagggagac  313
+
+Sbjct  351  cacatgcacttccaatcttcctatttgctcaaggccataaggcaaacgcagttgctacaa  410
+            |||||||||||||||||||||||| ||||||||||||||||||||||||||||| |||||
+Query  314  cacatgcacttccaatcttcctatatgctcaaggccataaggcaaacgcagttgttacaa  373
+
+Sbjct  411  acacttggggagcggttaatctgcggttaaagaatcaacgaagtactaaccatagacaaa  470
+            |||||||||||||||||||||||||||||||||||||||||||  | ||||| | |||| 
+Query  374  acacttggggagcggttaatctgcggttaaagaatcaacgaagctccaaccacaaacaat  433
+
+Sbjct  471  tatattctgcagcttggtacccgattggaagcggttatggtgtgggagtgaacaatatca  530
+            |||||||||||||||||||||||||| |||||| |||||||||||||||||||||||| |
+Query  434  tatattctgcagcttggtacccgattcgaagcgattatggtgtgggagtgaacaatataa  493
+
+Sbjct  531  tactgttagctgatttaaacgatgcatc-aaaaggatatttggtgaatgatgccattatc  589
+            || || |  | ||  |||| |||||||| |||||| ||| ||||||||||||||||||||
+Query  494  tattgatgtcagagctaaaagatgcatccaaaagggtatatggtgaatgatgccattatc  553
+
+Sbjct  590  tttgaagctgaaatggttaaggtctctataaccaacatcgtctccgcttaaatatctgca  649
+            ||||||||||||||||||||||||||| | || ||||| ||||||| |||||||||   |
+Query  554  tttgaagctgaaatggttaaggtctctgtgacaaacatagtctccgtttaaatatcacta  613
+
+Sbjct  650  cttctttgtctacgatcaatcaaccttatgaataaagagatatttgatgagtttgtaata  709
+            ||||||| || |  | ||| |||||||| |||||||| |   ||||||||||||  ||| 
+Query  614  cttctttttc-a--a-caa-caaccttacgaataaagtggactttgatgagttt--aatt  666
+
+Sbjct  710  ag-aaaacgttaatgtttgt-ga--attgtgaagttattacttctgtt-ct  755
+             |  | |||  || ||| || ||   |||||| || ||  | | |||| ||
+Query  667  tgttatacgacaacgtt-gttgatgcttgtgatgtaat--cgt-tgtttct  713
+
+742 5 0 F 746 16 118 1323 55 92.61
+Sbjct  0    ggaagttaaagaaatatttgtctgttacagatggaacagtgaagcgatacaacgatgcaa  59
+            ||||| || | ||||||||| |||||||||||||   |||||||||||| ||| |||| |
+Query  118  ggaagctacacaaatatttgactgttacagatggcttagtgaagcgatataacaatgcga  177
+
+Sbjct  60   aaaaagagtggggattcacacaattgatttctc-ttccaacattctacaacgcgaacgaa  118
+            ||||||| ||||| |||  |||||||||| |||  || ||||||||||||||||||||||
+Query  178  aaaaagaatggggtttcggacaattgattcctcgatc-aacattctacaacgcgaacgaa  236
+
+Sbjct  119  gggtaccttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgaca  178
+            || |||||||  |||||||| | ||||||||||||||||||||| || ||||| ||| | 
+Query  237  ggttaccttgaccaggacactggttcttttggtgctgagatctttattgttaaaccggct  296
+
+Sbjct  179  gaaaaacaagagaaagtcacattcatatcaaaccctccagacaatgttttcacttggaag  238
+             || ||||||||||||| ||||||||||||||||||||| ||||||||||||||||||||
+Query  297  caacaacaagagaaagttacattcatatcaaaccctccaaacaatgttttcacttggaag  356
+
+Sbjct  239  atacttcgtttctctaccttggaagataaattctattactccgatgattttctcgttgaa  298
+            |||||||||||||||||||||||||||||||||||||||||||||||| |||||||||||
+Query  357  atacttcgtttctctaccttggaagataaattctattactccgatgatnttctcgttgaa  416
+
+Sbjct  299  gaccgatactggagactaggatttaacccgaaaggggatggaggaggaagaccacatgca  358
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  417  gaccgatactggagactaggatttaacccgaaaggggatggaggaggaagaccacatgca  476
+
+Sbjct  359  cttccaatcttcctatttgctcaaggccataaggcaaacgcagttgctacaaacacttgg  418
+            |||||||||||||||||||||||||||||||||||||| |||||||||||||||||||||
+Query  477  cttccaatcttcctatttgctcaaggccataaggcaaatgcagttgctacaaacacttgg  536
+
+Sbjct  419  ggagcggttaatctgcggttaaagaatcaacgaagtactaaccatagacaaatatattct  478
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  537  ggagcggttaatctgcggttaaagaatcaacgaagtactaaccatagacaaatatattct  596
+
+Sbjct  479  gcagcttggtacccgattggaagcggttatggtgtgggagtgaacaatatcatactgtta  538
+            |||||||||||||||||||||| |||||||||||||||||||||||||||||||||||||
+Query  597  gcagcttggtacccgattggaaacggttatggtgtgggagtgaacaatatcatactgtta  656
+
+Sbjct  539  gctgatttaaacgatgcatcaaaaggatatttggtgaatgatgccattatctttgaagct  598
+            |||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||
+Query  657  gctgatttaaacgatgcatccaaaggatatttggtgaatgatgccattatctttgaagct  716
+
+Sbjct  599  gaaatggttaaggtctctataaccaacatcgtctccgcttaaatatctgcacttctttgt  658
+            |||||||||||||||||||||||||||||||||||||||||||||||||| |||||||||
+Query  717  gaaatggttaaggtctctataaccaacatcgtctccgcttaaatatctgcncttctttgt  776
+
+Sbjct  659  ctacgatcaatcaaccttatgaataaagagatatttgat--ga-g--tttgtaataagaa  713
+            |||| | ||||| |||||||||||||| | || ||| ||  || |  ||||| |||| ||
+Query  777  ctacnancaatccaccttatgaataaaaaaat-tttaatttgatgaatttgttataanaa  835
+
+Sbjct  714  aacgttaatgtttgtgaattgtgaagtt  741
+            ||| ||||||||||| || |||||| ||
+Query  836  aactttaatgtttgttaaatgtgaaatt  863
+
+756 5 0 F 750 39 34 1275 77 89.77
+Sbjct  0    ggaagttaaagaaatatttgtctgttacagatggaacagtgaagcgatacaacgatgcaa  59
+            ||||| || | ||||||||| ||||||||||||||||||||||||||||||||||||| |
+Query  34   ggaagctacacaaatatttgactgttacagatggaacagtgaagcgatacaacgatgcna  93
+
+Sbjct  60   aaaaagagtggggattcacacaattgatttctcttccaacattctacaacgcgaacgaag  119
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  94   aaaaagagtggggattcacacaattgatttctcttccaacattctacaacgcgaacgaag  153
+
+Sbjct  120  ggtaccttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgacag  179
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  154  ggtaccttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgacag  213
+
+Sbjct  180  aaaaacaagagaaagtcacattcatatcaaaccctccagacaatgttttcacttggaaga  239
+            |||||||||||||||||||||||||||||||||||||| |||||||||||||||||||||
+Query  214  aaaaacaagagaaagtcacattcatatcaaaccctccaaacaatgttttcacttggaaga  273
+
+Sbjct  240  tacttcgtttctctaccttggaagataaattctattactccgatgattttctcgttgaag  299
+            |||||||||||||||||||||||||||||||||||||||| ||||||||||| |||| ||
+Query  274  tacttcgtttctctaccttggaagataaattctattactctgatgattttctngttggag  333
+
+Sbjct  300  accgatactggagactaggatttaacccgaaaggggatggaggaggaagaccacatgcac  359
+            ||||||||||||||||||||||||||||||||||   ||| |||||||||||||||||||
+Query  334  accgatactggagactaggatttaacccgaaaggatctggtggaggaagaccacatgcac  393
+
+Sbjct  360  ttccaatcttcctatttgctcaaggccataaggcaaacgcagttgctacaaacacttggg  419
+            ||||||||||||||| ||||||||||||||||||||||||||||| ||||||||||||||
+Query  394  ttccaatcttcctatatgctcaaggccataaggcaaacgcagttgttacaaacacttggg  453
+
+Sbjct  420  gagcggttaatctgcggttaaagaatcaacgaagtactaaccatagacaaatatattctg  479
+            ||||||||||||||||||||||||||||||||||  | ||||| | |||| |||||||||
+Query  454  gagcggttaatctgcggttaaagaatcaacgaagctccaaccacaaacaattatattctg  513
+
+Sbjct  480  cagcttggtacccgattggaagcggttatggtgtgggagtgaacaatatcatactgttag  539
+            ||||||||||||||||| |||||| |||||||||||||||||||||||| ||| || |  
+Query  514  cagcttggtacccgattcgaagcgattatggtgtgggagtgaacaatataatattgatgt  573
+
+Sbjct  540  ctgatttaaacgatgcatcaaaaggatatttggtgaatgatgccattatctttgaagctg  599
+            | ||  |||| |||||||||||||| ||| ||||||||||||||||||||||||||||||
+Query  574  cagagctaaaagatgcatcaaaagggtatatggtgaatgatgccattatctttgaagctg  633
+
+Sbjct  600  aaatggttaaggtctctataaccaacatcgtctccgcttaaatatctgcacttctttgtc  659
+            ||||||||||||||||| | || ||||| ||||||| |||||||||   |||||||| ||
+Query  634  aaatggttaaggtctctgtgacaaacatagtctccgtttaaatatcactacttctttttc  693
+
+Sbjct  660  tacgatcaatcaaccttatgaataaagagatatttgatgagtttgtaataag-aaaacgt  718
+             |  | ||| |||||||| |||||||| |   ||||||||||||  |||  |  | ||| 
+Query  694  -a--a-caa-caaccttacgaataaagtggactttgatgagttt--aatttgttatacga  746
+
+Sbjct  719  taatgtttgt-ga--attgtgaagttattacttctgtt-ct  755
+             || ||| || ||   |||||| || ||  | | |||| ||
+Query  747  caacgtt-gttgatgcttgtgatgtnat--cgt-tgtttct  783
+
+599 6 104 F 601 16 260 915 95 84.17
+Sbjct  104  ttctttnggtgctganatcttcatgcgntancccgacagaaanacnnnananagtcncat  163
+            |||||| |||||||| ||||| ||  | ||  ||| |  ||  ||   | | |||  |||
+Query  260  ttcttttggtgctgagatctttat-tgttaaaccggctcaacaacaagagaaagttacat  318
+
+Sbjct  164  tcatatcnnaccctccnaacaatgttttcacttggaagatacttcgtttctctaccttgg  223
+            |||||||  ||||||| |||||||||||||||||||||||||||||||||||||||||||
+Query  319  tcatatcaaaccctccaaacaatgttttcacttggaagatacttcgtttctctaccttgg  378
+
+Sbjct  224  aagataaattctattactctgatgattttctcgttgaagaccgatactggagattaggat  283
+            ||||||||||||||||||| |||||| |||||||||||||||||||||||||| ||||||
+Query  379  aagataaattctattactccgatgatnttctcgttgaagaccgatactggagactaggat  438
+
+Sbjct  284  ttaacccgaaaggatctggtggagggagaccacatgcacttccaatcttcctatatgctc  343
+            |||||||||||||   ||| ||||| |||||||||||||||||||||||||||| |||||
+Query  439  ttaacccgaaaggggatggaggaggaagaccacatgcacttccaatcttcctatttgctc  498
+
+Sbjct  344  aaggccataaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaa  403
+            |||||||||||||||| ||||||| |||||||||||||||||||||||||||||||||||
+Query  499  aaggccataaggcaaatgcagttgctacaaacacttggggagcggttaatctgcggttaa  558
+
+Sbjct  404  agaatcaacgaagctccaaccacaaacaattatattctgcagcttggtacccgattcgaa  463
+            |||||||||||||  | ||||| | |||| |||||||||||||||||||||||||| |||
+Query  559  agaatcaacgaagtactaaccatagacaaatatattctgcagcttggtacccgattggaa  618
+
+Sbjct  464  gcgattatggtgtgggagtgaacaatataatattgatgtcagagctaaaagatgcatcca  523
+             || |||||||||||||||||||||||| ||| || |  | ||  |||| ||||||||||
+Query  619  acggttatggtgtgggagtgaacaatatcatactgttagctgatttaaacgatgcatcca  678
+
+Sbjct  524  aaagggtatatggtgaatgatgccattatctttgaagctgaaatggttaaggtctctgtg  583
+            || || ||| ||||||||||||||||||||||||||||||||||||||||||||||| | 
+Query  679  aa-ggatatttggtgaatgatgccattatctttgaagctgaaatggttaaggtctctata  737
+
+Sbjct  584  acaaacatagtctccgtttaaatatcactacttctttttc-a--a-caa-caaccttacg  638
+            || ||||| ||||||| |||||||||    ||||||| || |  | ||| | |||||| |
+Query  738  accaacatcgtctccgcttaaatatctgcncttctttgtctacnancaatccaccttatg  797
+
+Sbjct  639  aataaagtggactttgatgagtttaatttgttatacgacaacgttgttgatgcttgtga-  698
+            ||||||    | ||| ||  | | |||||||||||  | ||| || |  ||| |||| | 
+Query  798  aataaa-aaaattttaatttgatgaatttgttataanaaaac-tt-t-aatgtttgttaa  853
+
+Sbjct  699  -tgt-aa  702
+             ||| ||
+Query  854  atgtgaa  860
+
+783 6 14 F 788 39 86 1400 57 92.74
+Sbjct  14   cgatgnnnaaaannantgnggattnncannatngatntctcttcnnnnattctnnnncgc  73
+            |||||   ||||  | || |||||  ||  || ||| |||||||    |||||    |||
+Query  86   cgatgcnaaaaaagagtggggattcacacaattgatttctcttccaacattctacaacgc  145
+
+Sbjct  74   gaangaagggtaccttgtgnangacnnnncttctttnggtgctganatcttcatgcgnta  133
+            ||| ||||||||||||||| | |||    ||||||| |||||||| |||||||| || ||
+Query  146  gaacgaagggtaccttgtgcaggacacagcttcttttggtgctgagatcttcat-cgtta  204
+
+Sbjct  134  ncccgacagaaanacnnnananagtcncattcatatcnnaccctccnaacaatgttttca  193
+             ||||||||||| ||   | | |||| ||||||||||  ||||||| |||||||||||||
+Query  205  acccgacagaaaaacaagagaaagtcacattcatatcaaaccctccaaacaatgttttca  264
+
+Sbjct  194  cttggaagatacttcgtttctctaccttggaagataaattctattactctgatgattttc  253
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  265  cttggaagatacttcgtttctctaccttggaagataaattctattactctgatgattttc  324
+
+Sbjct  254  tcgttgaagaccgatactggagattaggatttaacccgaaaggatctggtggagggagac  313
+            | |||| |||||||||||||||| ||||||||||||||||||||||||||||||| ||||
+Query  325  tngttggagaccgatactggagactaggatttaacccgaaaggatctggtggaggaagac  384
+
+Sbjct  314  cacatgcacttccaatcttcctatatgctcaaggccataaggcaaacgcagttgttacaa  373
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  385  cacatgcacttccaatcttcctatatgctcaaggccataaggcaaacgcagttgttacaa  444
+
+Sbjct  374  acacttggggagcggttaatctgcggttaaagaatcaacgaagctccaaccacaaacaat  433
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  445  acacttggggagcggttaatctgcggttaaagaatcaacgaagctccaaccacaaacaat  504
+
+Sbjct  434  tatattctgcagcttggtacccgattcgaagcgattatggtgtgggagtgaacaatataa  493
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  505  tatattctgcagcttggtacccgattcgaagcgattatggtgtgggagtgaacaatataa  564
+
+Sbjct  494  tattgatgtcagagctaaaagatgcatccaaaagggtatatggtgaatgatgccattatc  553
+            |||||||||||||||||||||||||||| |||||||||||||||||||||||||||||||
+Query  565  tattgatgtcagagctaaaagatgcatc-aaaagggtatatggtgaatgatgccattatc  623
+
+Sbjct  554  tttgaagctgaaatggttaaggtctctgtgacaaacatagtctccgtttaaatatcacta  613
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  624  tttgaagctgaaatggttaaggtctctgtgacaaacatagtctccgtttaaatatcacta  683
+
+Sbjct  614  cttctttttcaacaacaaccttacgaataaagtggactttgatgagtttaatttgttata  673
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  684  cttctttttcaacaacaaccttacgaataaagtggactttgatgagtttaatttgttata  743
+
+Sbjct  674  cgacaacgttgttgatgcttgtgatgtaatcgttgtttctgctctccgagttttcgtttt  733
+            ||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||
+Query  744  cgacaacgttgttgatgcttgtgatgtnatcgttgtttctgctctccgagttttcgtttt  803
+
+Sbjct  734  actttttttttcatgttttgctatc-aatgaaa-taaa-ggtataaaactctc-tt-ggt  788
+            ||||||||||||||||||||||||| ||||||| |||| ||| |||||||||| || |||
+Query  804  actttttttttcatgttttgctatccaatgaaaataaaaggtttaaaactctcctttggt  863
+
+Sbjct  789  ttt-aaa-gt  796
+            ||| ||| ||
+Query  864  ttttaaaagt  873
+
+467 11 135 F 449 29 138 766 50 89.08
+Sbjct  135  gtcctgatggatgnggangttcacntagataccaaagcacaagaaattcgaaggtgctgg  194
+            ||||||||| |   |   |||| | | |||||||||||||||||||||||||||||||||
+Query  138  gtcctgatg-agccgtttgttcgcat-gataccaaagcacaagaaattcgaaggtgctgg  195
+
+Sbjct  195  agaaaaggcgaccactttcactaagagcatttggctcgaggaagctgatgcgagngccat  254
+            |||||||||||||||||||||||||||||||||||||||||||||||||||||| |||||
+Query  196  agaaaaggcgaccactttcactaagagcatttggctcgaggaagctgatgcgagtgccat  255
+
+Sbjct  255  atccgttggtgaggaagtaactttgatggattggggaaatgctatcgtaaaggaaatcnc  314
+            |||||||||||||||||||||||||||||||||||||||||||||||||||||||||| |
+Query  256  atccgttggtgaggaagtaactttgatggattggggaaatgctatcgtaaaggaaatcac  315
+
+Sbjct  315  naangacgaggagggtcgtgtcactgccttatctggtgtcttgaatctccaaggttctgt  374
+             || ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  316  aaaggacgaggagggtcgtgtcactgccttatctggtgtcttgaatctccaaggttctgt  375
+
+Sbjct  375  naagactacaaagctgaagctgacatggcttcctgatactaatgaattggtccatctcnc  434
+             ||||||||||||||||||||||||||||||||||||||||||||||||||| ||||| |
+Query  376  aaagactacaaagctgaagctgacatggcttcctgatactaatgaattggtcaatctcac  435
+
+Sbjct  435  nttaacagagtttgattatctaatccccnanaagaaactggaanatgatgatgaaatttg  494
+             |||||||||||||||||||||||| || | || ||||||||| ||||||||||| || |
+Query  436  attaacagagtttgattatctaatcaccaagaaaaaactggaagatgatgatgaagtt-g  494
+
+Sbjct  495  ctgattttgctgaatccnnncccnaaaaangaanacntttggcncttnggtngattccca  554
+            ||||||||| |||||||   ||| || || ||| |  || ||| ||| ||| |||||| |
+Query  495  ctgattttg-tgaatcctaaccccaagaaggaaca--tt-ggcnctt-ggt-gattcc-a  547
+
+Sbjct  555  atattgagagaatcttgaaattgttggaaaatntttattcccccttt  601
+            |||| || ||||||| ||||| || ||||| | |  ||||||| |||
+Query  548  atat-ga-agaatct-gaaat-gt-ggaaa-tntg-attcccc-ttt  586
+
+767 16 84 F 766 39 0 1248 95 87.61
+Sbjct  84   gtgaatgttgatctcaaactctttgtccataatgggaagctacacaaatatttgactgtt  143
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  0    gtgaatgttgatctcaaactctttgtccataatgggaagctacacaaatatttgactgtt  59
+
+Sbjct  144  acagatggcttagtgaagcgatataacaatgcgaaaaaagaatggggtttcggacaattg  203
+            ||||||||   |||||||||||| ||| |||| |||||||| ||||| |||  |||||||
+Query  60   acagatggaacagtgaagcgatacaacgatgcnaaaaaagagtggggattcacacaattg  119
+
+Sbjct  204  attcctcgatc-aacattctacaacgcgaacgaaggttaccttgaccaggacactggttc  262
+            ||| |||  || |||||||||||||||||||||||| |||||||  |||||||| | |||
+Query  120  atttctc-ttccaacattctacaacgcgaacgaagggtaccttgtgcaggacacagcttc  178
+
+Sbjct  263  ttttggtgctgagatctttattgttaaaccggctcaacaacaagagaaagttacattcat  322
+            |||||||||||||||||| || ||||| ||| |  || ||||||||||||| ||||||||
+Query  179  ttttggtgctgagatcttcatcgttaacccgacagaaaaacaagagaaagtcacattcat  238
+
+Sbjct  323  atcaaaccctccaaacaatgttttcacttggaagatacttcgtttctctaccttggaaga  382
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  239  atcaaaccctccaaacaatgttttcacttggaagatacttcgtttctctaccttggaaga  298
+
+Sbjct  383  taaattctattactccgatgatnttctcgttgaagaccgatactggagactaggatttaa  442
+            ||||||||||||||| |||||| |||| |||| |||||||||||||||||||||||||||
+Query  299  taaattctattactctgatgattttctngttggagaccgatactggagactaggatttaa  358
+
+Sbjct  443  cccgaaaggggatggaggaggaagaccacatgcacttccaatcttcctatttgctcaagg  502
+            |||||||||   ||| |||||||||||||||||||||||||||||||||| |||||||||
+Query  359  cccgaaaggatctggtggaggaagaccacatgcacttccaatcttcctatatgctcaagg  418
+
+Sbjct  503  ccataaggcaaatgcagttgctacaaacacttggggagcggttaatctgcggttaaagaa  562
+            |||||||||||| ||||||| |||||||||||||||||||||||||||||||||||||||
+Query  419  ccataaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaa  478
+
+Sbjct  563  tcaacgaagtactaaccatagacaaatatattctgcagcttggtacccgattggaaacgg  622
+            |||||||||  | ||||| | |||| |||||||||||||||||||||||||| ||| || 
+Query  479  tcaacgaagctccaaccacaaacaattatattctgcagcttggtacccgattcgaagcga  538
+
+Sbjct  623  ttatggtgtgggagtgaacaatatcatactgttagctgatttaaacgatgcatccaaagg  682
+            |||||||||||||||||||||||| ||| || |  | ||  |||| |||||||| |||||
+Query  539  ttatggtgtgggagtgaacaatataatattgatgtcagagctaaaagatgcatcaaaagg  598
+
+Sbjct  683  atatttggtgaatgatgccattatctttgaagctgaaatggttaaggtctctataaccaa  742
+             ||| ||||||||||||||||||||||||||||||||||||||||||||||| | || ||
+Query  599  gtatatggtgaatgatgccattatctttgaagctgaaatggttaaggtctctgtgacaaa  658
+
+Sbjct  743  catcgtctccgcttaaatatctgcncttctttgtctacnancaatccaccttatgaataa  802
+            ||| ||||||| |||||||||    ||||||| || || | ||| ||   ||| ||||||
+Query  659  catagtctccgtttaaatatcactacttctttttcaac-aacaa-cc---ttacgaataa  713
+
+Sbjct  803  a-aaaattttaatttgatgaatttgttataanaaaac-tt-t-aatgtttgt  850
+            |    | ||| ||  | | |||||||||||  | ||| || |  ||| ||||
+Query  714  agtggactttgatgagtttaatttgttatacgacaacgttgttgatgcttgt  765
+
+397 18 0 F 417 46 194 634 60 85.26
+Sbjct  0    cctgtcccatcgggccgttngtgggtttttgacccattgcggttggagctcgacgttnga  59
+            ||||||||||||||||||| ||||||||||||||||||||||||||||||||||||| ||
+Query  194  cctgtcccatcgggccgttggtgggtttttgacccattgcggttggagctcgacgttgga  253
+
+Sbjct  60   aagcgtcgttggcggcgttccgatnatcgcatggccactttttgccgagcagaatatgaa  119
+            |||||||||||||||||||||||| |||||||||||||||||||||||||||||||||||
+Query  254  aagcgtcgttggcggcgttccgatgatcgcatggccactttttgccgagcagaatatgaa  313
+
+Sbjct  120  tgcggcgttgctcagcgacgaactgggaatcgcagtcagattggatgatccaaaggagga  179
+            ||||||||||||||||||||||||||||||||| ||| ||||||||||||||||||||||
+Query  314  tgcggcgttgctcagcgacgaactgggaatcgccgtcngattggatgatccaaaggagga  373
+
+Sbjct  180  tatttctaggtggaanattgaggcgttggtgaggaaggttatgactgagaaggaaggtga  239
+            |||||||| |||||| ||||| |||||||||| ||| ||||||||||| |||||| ||||
+Query  374  tatttctangtggaanattgaagcgttggtgaagaangttatgactgaaaaggaangtga  433
+
+Sbjct  240  agcgatgagaaggaaagtgaagaagtt-gagagactcggcggagatgtcactgagc-att  297
+            | |||||| || ||||||||| || || || | |||| ||||| |||||||||| | |||
+Query  434  ancgatgaaaangaaagtgaaaaaatttgaaanactcngcgganatgtcactgaaccatt  493
+
+Sbjct  298  gacggtgg-tggtttggcgcacga-gtcgc-ttt-gc-agagt-cacc-aaggagtgt-c  349
+            ||| |||| ||||||||||| | |  || | ||| ||   | | | || ||||| | | |
+Query  494  gacngtgggtggtttggcgccccaaatccccttttgccnnaattcccccaaggaattttc  553
+
+Sbjct  350  aac-ggttttt-ggaa-cgtgt-cgt-gga-cttgt-cacgtg-gt-gc-ttaaaaa  396
+             || ||||||| |||| | | | | | ||| ||||| | | |  || || |||||||
+Query  554  caccggttttttggaaacnttttccttggaacttgttcccctttgttgccttaaaaa  610
+
+458 34 157 F 442 1317 0 789 37 91.78
+Sbjct  157  ggcaacagattgtcctgataagagaggattttagagttatcgtagcaaatggtttctgct  216
+            |||| ||  ||  ||| ||| | | || |||| | || |||||  ||| ||||| |  ||
+Query  0    ggca-ca-nttc-cct-ata-g-gngg-tttttgngt-atcgtgncaa-tggttccn-ct  49
+
+Sbjct  217  cttgggagaaagatccttgtcctttttggtgttcttaatgcgaatcttttcgtgcttgct  276
+            |||||||||| || ||||| |||||| ||||| |||||||||||||||| ||||||||||
+Query  50   cttgggagaa-ga-ccttgncctttt-ggtgtccttaatgcgaatcttt-cgtgcttgct  105
+
+Sbjct  277  tcaacggtttgtttcagacggtagagaagcaatcagggaggaggatacatgcttcggaca  336
+            |||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||
+Query  106  tcaacggtttgtttcagacgntagagaagcaatcagggaggaggatacatgcttcggaca  165
+
+Sbjct  337  aggtagagcagaaataaataagagagaggcaatagcaaaagtaaaggagaaggttttcct  396
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  166  aggtagagcagaaataaataagagagaggcaatagcaaaagtaaaggagaaggttttcct  225
+
+Sbjct  397  caaattggcattttcagagtttgcgtgagaaacaagggaaagctgatggatctttttatg  456
+            ||||||||||||||||| ||||||||||||||||||||||||||||||||||||||||||
+Query  226  caaattggcattttcagngtttgcgtgagaaacaagggaaagctgatggatctttttatg  285
+
+Sbjct  457  ttagggttattataatagtcttaatgatcagtttccatgtttctaaggttttgtttgatt  516
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  286  ttagggttattataatagtcttaatgatcagtttccatgtttctaaggttttgtttgatt  345
+
+Sbjct  517  taagttggttattaattcagtctacttacactacttttattttcatttttgtacnttttc  576
+            ||||| |||||||| | ||||||||||||||||||||||||||||||||||||| |||||
+Query  346  taagt-ggttattagt-cagtctacttacactacttttattttcatttttgtacgttttc  403
+
+Sbjct  577  aattgttatatgttaattccgatcncatttttttggac  614
+             |||||||||||| ||||| |||| ||| | |||||||
+Query  404  tattgttatatgtgaattcggatcacatgtgtttggac  441
+
+399 35 140 F 402 72 145 717 28 93.01
+Sbjct  140  act-tca-gggaggagtatg-ctt-gcccgttctgttcagacta-ttttgata-tcgtct  193
+            ||| |||  |||  |||||  ||| |||| | | || |  ||||     |  | ||||||
+Query  145  actatcaccggatnagtatatcttagcccctnccgtcccaactaaaaacgggaatcgtct  204
+
+Sbjct  194  ctctatgctgtcacattgatgaagatcatcctatggatgcaaaaaatggggtatgtcccg  253
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  205  ctctatgctgtcacattgatgaagatcatcctatggatgcaaaaaatggggtatgtcccg  264
+
+Sbjct  254  tttgtgcggtgaaagtgagctctgatatgattgctcatataaccctacaacatgcaaata  313
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  265  tttgtgcggtgaaagtgagctctgatatgattgctcatataaccctacaacatgcaaata  324
+
+Sbjct  314  tgttcaaggtgacgcggaaaaggaaatcaagaagatgcggggctcaatccatgctatcga  373
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  325  tgttcaaggtgacgcggaaaaggaaatcaagaagatgcggggctcaatccatgctatcga  384
+
+Sbjct  374  tcttgaagagagagtttcctgatggaaattttcagagcctatttgaaggaacatcacgtg  433
+            ||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||
+Query  385  tcttgaagagagagtttcctgatggaaattttcngagcctatttgaaggaacatcacgtg  444
+
+Sbjct  434  ctgtatcctcttcttctgccagtatagctgctgatcctttactgtcttcattcatttcac  493
+            |||||||||||||||||||||||||| ||||||||||||||||||||||||||||||| |
+Query  445  ctgtatcctcttcttctgccagtata-ctgctgatcctttactgtcttcattcatttccc  503
+
+Sbjct  494  caatggctgatgactttttcatttctgaatcaagtctatgttgca  538
+            |||||||||||||||||||| |||||||||||| ||||||| |||
+Query  504  caatggctgatgactttttcctttctgaatcaa-tctatgt-gca  546
+
+430 61 134 F 438 65 137 787 27 93.78
+Sbjct  134  ggtnccacgtgtgaggacta-tccaccaatggaccgatatcaaagaaatgaaggcgatac  192
+            |||  |||||| ||  || | |||||||||||||||||||||||||||||||||||||||
+Query  137  ggtagcacgtgaga-tacaagtccaccaatggaccgatatcaaagaaatgaaggcgatac  195
+
+Sbjct  193  aagtccaccaatggaccgatatcaaagaaatgaaggcgatacaagtcgaccaatggaccg  252
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  196  aagtccaccaatggaccgatatcaaagaaatgaaggcgatacaagtcgaccaatggaccg  255
+
+Sbjct  253  atatcaaagaaatgaaggcgatacaagtcgaccaatggatcgatatcaaagaaatgaagg  312
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  256  atatcaaagaaatgaaggcgatacaagtcgaccaatggatcgatatcaaagaaatgaagg  315
+
+Sbjct  313  cgatacaagtcgaccaatggaccgatatcaaagaaatgaaggcccngatatctgaaaagc  372
+            ||||||||||||||||||||||||||||||||||||||||||||  ||||||||||||||
+Query  316  cgatacaagtcgaccaatggaccgatatcaaagaaatgaaggcc-agatatctgaaaagc  374
+
+Sbjct  373  ataataaatgaatcaatatctaaaatctggtgtttttctctctttcttcttcccaacaat  432
+            |||||||||||||||||||||||||||||||||||||||||||||||||||||| |||||
+Query  375  ataataaatgaatcaatatctaaaatctggtgtttttctctctttcttcttccccacaat  434
+
+Sbjct  433  gattgaaaaactctttcttgttatgaataaagatggatgcccatt-ataagggccatcnt  491
+            ||||||||||||||| ||||||||||||||||||||||||||||| |||||||||||| |
+Query  435  gattgaaaaactctt-cttgttatgaataaagatggatgcccatttataagggccatcat  493
+
+Sbjct  492  ctaagcccatcatctanatgtttctaggg-ttttaccctttcc-ttgttctcc-tatat-  548
+            |||||||||||||||| || ||||||||| |||||||| |||| |||||| || ||||| 
+Query  494  ctaagcccatcatctagatttttctaggggttttaccccttcccttgttccccctatatt  553
+
+Sbjct  549  -aaagaa--cc-ttt-atctc  563
+             ||||||  || ||| |||||
+Query  554  naaagaaancccttttatctc  574
+
+517 64 0 F 517 65 0 1034 0 100.00
+Sbjct  0    cacgaaagtcttacgcgtctccttgaagatgcgaaatctattattgagaaatattggaaa  59
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  0    cacgaaagtcttacgcgtctccttgaagatgcgaaatctattattgagaaatattggaaa  59
+
+Sbjct  60   ctcagatggagcagacacgtttgcaggaagtacaggtacatcaaaaaactcgaatcgata  119
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  60   ctcagatggagcagacacgtttgcaggaagtacaggtacatcaaaaaactcgaatcgata  119
+
+Sbjct  120  gaacttgaattagtaagggtagcacgtgagatacaagtccaccaatggaccgatatcaaa  179
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  120  gaacttgaattagtaagggtagcacgtgagatacaagtccaccaatggaccgatatcaaa  179
+
+Sbjct  180  gaaatgaaggcgatacaagtccaccaatggaccgatatcaaagaaatgaaggcgatacaa  239
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  180  gaaatgaaggcgatacaagtccaccaatggaccgatatcaaagaaatgaaggcgatacaa  239
+
+Sbjct  240  gtcgaccaatggaccgatatcaaagaaatgaaggcgatacaagtcgaccaatggatcgat  299
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  240  gtcgaccaatggaccgatatcaaagaaatgaaggcgatacaagtcgaccaatggatcgat  299
+
+Sbjct  300  atcaaagaaatgaaggcgatacaagtcgaccaatggaccgatatcaaagaaatgaaggcc  359
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  300  atcaaagaaatgaaggcgatacaagtcgaccaatggaccgatatcaaagaaatgaaggcc  359
+
+Sbjct  360  agatatctgaaaagcataataaatgaatcaatatctaaaatctggtgtttttctctcttt  419
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  360  agatatctgaaaagcataataaatgaatcaatatctaaaatctggtgtttttctctcttt  419
+
+Sbjct  420  cttcttccccacaatgattgaaaaactcttcttgttatgaataaagatggatgcccattt  479
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  420  cttcttccccacaatgattgaaaaactcttcttgttatgaataaagatggatgcccattt  479
+
+Sbjct  480  ataagggccatcatctaagcccatcatctagattttt  516
+            |||||||||||||||||||||||||||||||||||||
+Query  480  ataagggccatcatctaagcccatcatctagattttt  516
+
+461 78 86 F 459 80 149 800 40 91.30
+Sbjct  86   ttttcattgccgtagacatggctttccgttgccgtgtttttatgtcgtcgcttttgttag  145
+            |||| || | ||||||||||||||||||||||| |||||||||||||| |||||||||||
+Query  149  tttt-at-gtcgtagacatggctttccgttgccatgtttttatgtcgttgcttttgttag  206
+
+Sbjct  146  gtgttgtttgtttgcttccaataaaggggaattgtctttcgtctctgtctttacagagtt  205
+            ||||||||||| ||||||||||||| ||||||||||| ||||||||||||||||||||||
+Query  207  gtgttgtttgtctgcttccaataaaagggaattgtctatcgtctctgtctttacagagtt  266
+
+Sbjct  206  ttatgagagatgacacacctatcttatatgtttatagtttatacaagtgtttttatgttt  265
+            | ||||||||||||||||||||||||||||||| ||||||||||||||||||||||||| 
+Query  267  tcatgagagatgacacacctatcttatatgtttctagtttatacaagtgtttttatgttc  326
+
+Sbjct  266  gttggatttgaagcgaagcttaaccatcttatggtgacttagatctatttagaaccttta  325
+            |||||||||||||||| |||| ||||||| ||||||| | ||||||||||||||||||||
+Query  327  gttggatttgaagcgaggctttaccatct-atggtgaatcagatctatttagaaccttta  385
+
+Sbjct  326  gttggtggcttttctccggatcgtcatgttgggtatacggattactgaaatttcaaggat  385
+            |||||||||||||||||  |||||||||||||||||| ||||||| ||||||||| ||||
+Query  386  gttggtggcttttctccttatcgtcatgttgggtatatggattacagaaatttcagggat  445
+
+Sbjct  386  agtttgcaaataaaattgaagaaaagaaagaaatttccttcgcgattttaagatgccttt  445
+            |||| ||||||||  ||||||||||||| |||||||| ||| | ||||||||||||||||
+Query  446  agtt-gcaaataatgttgaagaaaagaa-gaaatttcattcaccattttaagatgccttt  503
+
+Sbjct  446  tagccgtgatttcaattgttcgg--a-gttttgattcgttttgcaaccagctttgtcggt  502
+            || |||||||||||| |||| |   | |||||||||||| |||||||||||||| |||||
+Query  504  tatccgtgatttcaagtgtttgatcaagttttgattcgtattgcaaccagctttatcggt  563
+
+Sbjct  503  gaaaatcagaagaatcaatagtcgaatttcagttatcggcaatg  546
+            ||||||||||| ||||||| |||||||||||||||||| |||||
+Query  564  gaaaatcagaaaaatcaatggtcgaatttcagttatcgtcaatg  607
+
+542 78 223 F 540 1488 8 995 29 94.64
+Sbjct  223  cctatc-ttatatgtttatagtttatacaagtgtttttatgtttgttgg-atttgaagcg  280
+            ||| || ||| ||||| |||| || | || |  |||| | | ||| ||| |||||| |||
+Query  8    cctttccttaaatgtt-ataggttttccaggnntttt-anggttggtgggatttgacgcg  65
+
+Sbjct  281  aagcttaaccatctt-atggtgacttagatctatttagaacctttagttggtggcttttc  339
+            | ||||| ||||||| |||||| ||| |  ||||||||| | |||||| ||||||||| |
+Query  66   a-gcttacccatctttatggtg-ctttggactatttagaccntttagt-ggtggctttcc  122
+
+Sbjct  340  tccggatcgtcatgttgggtatacggattactgaaatttcaaggatagtttgcaaataaa  399
+            |||||||| ||||||||||||| |||||||||||||||||||||||||||||||||||||
+Query  123  tccggatcntcatgttgggtatccggattactgaaatttcaaggatagtttgcaaataaa  182
+
+Sbjct  400  attgaagaaaagaaagaaatttccttcgcgattttaagatgccttttagccgtgatttca  459
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  183  attgaagaaaagaaagaaatttccttcgcgattttaagatgccttttagccgtgatttca  242
+
+Sbjct  460  attgttcggagttttgattcgttttgcaaccagctttgtcggtgaaaatcagaagaatca  519
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  243  attgttcggagttttgattcgttttgcaaccagctttgtcggtgaaaatcagaagaatca  302
+
+Sbjct  520  atagtcgaatttcagttatcggcaatgattttcttcaccagaatcagcatcttagatggc  579
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  303  atagtcgaatttcagttatcggcaatgattttcttcaccagaatcagcatcttagatggc  362
+
+Sbjct  580  ggtggtgatgtcggaaagcttttagaattttcatccaacacgtgtaccactgttgacacg  639
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  363  ggtggtgatgtcggaaagcttttagaattttcatccaacacgtgtaccactgttgacacg  422
+
+Sbjct  640  tttgtttgggaatgaaactaatgataaactttcttcaagttgaagcaatatattgtgtgg  699
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  423  tttgtttgggaatgaaactaatgataaactttcttcaagttgaagcaatatattgtgtgg  482
+
+Sbjct  700  gcctttatgggctgtaatctgttttgtaacccatgttgttatgaataaaatcctaatctt  759
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  483  gcctttatgggctgtaatctgttttgtaacccatgttgttatgaataaaatcctaatctt  542
+
+Sbjct  760  gcgag  764
+            |||||
+Query  543  gcgag  547
+
+568 79 56 F 568 1495 0 1022 38 93.31
+Sbjct  56   ttggccggatttggtttgtatccaacgttgttttgtttttctttcaataatctcatagat  115
+            ||| |||| ||||||||||  |||||||||||| | ||| ||| | |||| | ||| |  
+Query  0    ttg-ccgg-tttggtttgtncccaacgttgtttggntttcctt-cnataaccccatggnc  56
+
+Sbjct  116  cttatg-ttggtgataatggtttaggtgatttttcgc-ttaaagatcttt-attatccaa  172
+            ||| || ||||   |||||||||||| | |||||||| ||||||| |||| |||| ||||
+Query  57   cttntggttgg-nntaatggtttaggngttttttcgcattaaaga-cttttattanccaa  114
+
+Sbjct  173  ttcgatcttttgagtttgag-atttgcaggaat-caatttag-agatttgcatc-ttaag  228
+            ||||| ||||  |||||| | |||||| || || |||||| | ||||| ||||| |||||
+Query  115  ttcgacctttnnagtttggggatttgcngggattcaattttggagatt-gcatcnttaag  173
+
+Sbjct  229  ttgaagaaaagaagaagttttcgttgcatattaatattgcccttagctgctaagttttta  288
+            ||||||||| ||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  174  ttgaagaaa-gaagaagttttcgttgcatattaatattgcccttagctgctaagttttta  232
+
+Sbjct  289  tctggaagttcgattggtttgtttaaggtgaaacccagaagaatcaaacttgctttcatt  348
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  233  tctggaagttcgattggtttgtttaaggtgaaacccagaagaatcaaacttgctttcatt  292
+
+Sbjct  349  atcaatgttgatttttctcaccggaatcaatctcagacggcaaaggaagatgtcggaaat  408
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  293  atcaatgttgatttttctcaccggaatcaatctcagacggcaaaggaagatgtcggaaat  352
+
+Sbjct  409  gcttttagattactcatccaaacgtgtgctgtgttgttttcagctgttgacacgtaagat  468
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  353  gcttttagattactcatccaaacgtgtgctgtgttgttttcagctgttgacacgtaagat  412
+
+Sbjct  469  tggttggagccacaatatcagttcttcatctttaagcaatgttcttggactcatttagga  528
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  413  tggttggagccacaatatcagttcttcatctttaagcaatgttcttggactcatttagga  472
+
+Sbjct  529  cttcaaatgttcttgtaatctcagtgtatgttgggcttttggttttttagcccatgtatg  588
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  473  cttcaaatgttcttgtaatctcagtgtatgttgggcttttggttttttagcccatgtatg  532
+
+Sbjct  589  gttggttaacgttaataagattttccacttatgag  623
+            |||||||||||||||||||||||||||||||||||
+Query  533  gttggttaacgttaataagattttccacttatgag  567
+
+417 223 0 F 414 271 2 801 10 97.59
+Sbjct  0    agagnttagcggttctgtgaaattgcctcacgttcctaggccaaagatgaagntttgcat  59
+            |||  ||||||||||||||||||||||||||||||||||||||||||||||| |||||||
+Query  2    aga--ttagcggttctgtgaaattgcctcacgttcctaggccaaagatgaagatttgcat  59
+
+Sbjct  60   gcttggtgatgcccagcacgtcgaagnggctgagaagnttggattggaatctatggatgt  119
+            |||||||||||||||||||||||||| |||||||||| ||||||||||||||||||||||
+Query  60   gcttggtgatgcccagcacgtcgaagaggctgagaagattggattggaatctatggatgt  119
+
+Sbjct  120  tgaagctcttaagaagttgaacaagaacaagaaacttgttaagaagcttgctaagaaatt  179
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  120  tgaagctcttaagaagttgaacaagaacaagaaacttgttaagaagcttgctaagaaatt  179
+
+Sbjct  180  ccatgctttccttgcttctgaatctgtcattaagcagattcctcgtcttcttggtcctgg  239
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  180  ccatgctttccttgcttctgaatctgtcattaagcagattcctcgtcttcttggtcctgg  239
+
+Sbjct  240  tctcaacaaggcaggaaaattcccaactcttgttagccaccaagagtctttggaatccaa  299
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  240  tctcaacaaggcaggaaaattcccaactcttgttagccaccaagagtctttggaatccaa  299
+
+Sbjct  300  agtgaatgagacaaaggcaacagtgaagttccagctcaagaaggttctatgtatgggaat  359
+            ||||||||||||||||||||||||||||||||| |||||||||||||||||||||||| |
+Query  300  agtgaatgagacaaaggcaacagtgaagttccanctcaagaaggttctatgtatgggagt  359
+
+Sbjct  360  tgctgtcggtaatctttccatgggaggaaaaacagatctttcaaaatgttcagatga  416
+            ||||||||||||||||||||||| |||| || |||||||||||||||||||||||||
+Query  360  tgctgtcggtaatctttccatgg-aggagaagcagatctttcaaaatgttcagatga  415
+
+418 229 0 F 419 270 0 828 3 99.28
+Sbjct  0    cacggagataactacagtgacctaagccgcaaaatcaagctagctatgcgactagttgag  59
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  0    cacggagataactacagtgacctaagccgcaaaatcaagctagctatgcgactagttgag  59
+
+Sbjct  60   ctttaccagccttacttactcttcaagggcatatttgatgatttaaataccgaaagactg  119
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  60   ctttaccagccttacttactcttcaagggcatatttgatgatttaaataccgaaagactg  119
+
+Sbjct  120  cgaatgaaaagaaaggagaatatcaaagagttagatggatcgttcgagttcgatcccaag  179
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  120  cgaatgaaaagaaaggagaatatcaaagagttagatggatcgttcgagttcgatcccaag  179
+
+Sbjct  180  tccattgattgggacaattatatcacaaacacccacattcctggcctcatcacccatgtg  239
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  180  tccattgattgggacaattatatcacaaacacccacattcctggcctcatcacccatgtg  239
+
+Sbjct  240  cttaaacaataaattatgctggtaatatgtttggaactattgtgaatctcgtgtgtaata  299
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  240  cttaaacaataaattatgctggtaatatgtttggaactattgtgaatctcgtgtgtaata  299
+
+Sbjct  300  ttattaaagaatacgattatatcattctaatcttgtaatttacagtttgtgttggcgtgt  359
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  300  ttattaaagaatacgattatatcattctaatcttgtaatttacagtttgtgttggcgtgt  359
+
+Sbjct  360  aatatcaaaataaataaaaaaaaacttattccacaatggataagacttt-gaatcatgc  417
+            |||||||||||||||||||||||||||||||| |||||||||||||||| ||||| |||
+Query  360  aatatcaaaataaataaaaaaaaacttattccccaatggataagacttttgaatcntgc  418
+
+418 318 13 F 428 1693 142 621 75 82.27
+Sbjct  13   acatg-tccccncct-gcc-tttcattgcnccc-tctt-gctgncttagccaaga-gcnc  66
+            ||||| | ||| ||| ||| ||||||||| ||| |||| |||| ||||||||||| || |
+Query  142  acatggtgcccaccttgccgtttcattgcacccgtctttgctgacttagccaagaagcac  201
+
+Sbjct  67   ctcgacgtag-tctcttccaaggtcgatgttgaccgaattgaacactnttgctgagggag  125
+            |||||||||| | ||||| ||||||||||||||| |||||||||||| ||||||||| ||
+Query  202  ctcgacgtagntttcttc-aaggtcgatgttgac-gaattgaacactgttgctgagg-ag  258
+
+Sbjct  126  tttaaagttccaggcaatgcccaac-gtttatcttcatgaaagaaggagagatcaaggag  184
+            |||||||||| |||||||||| ||| ||||||||||||||||||||||||||||||||||
+Query  259  tttaaagttc-aggcaatgcc-aaccgtttatcttcatgaaagaaggagagatcaaggag  316
+
+Sbjct  185  actgtggttggtgctgctaaagaagaaatcatt-gccaa-tctcg-agaagcacaagac-  241
+            ||||||||||||||||||||||||| ||||||| ||||| |||||  ||||| |||| | 
+Query  317  actgtggttggtgctgctaaagaaggaatcatttgccaaatctcggngaagcccaagncc  376
+
+Sbjct  242  agtt-gttgc-tgctgctt-gattt-gcttttc-tc-tctta-cctatttt-gctaaaat  292
+            |||| ||||| |||||||| ||||| ||||||  || ||||| |||||||| ||||||| 
+Query  377  agtttgttgcctgctgctttgattttgctttttntcctcttancctatttttgctaaaaa  436
+
+Sbjct  293  -atg-tttggtgttttaa-taaatcc-tttgttcgcccgagtcttttcaccttaaat-gt  347
+             ||| ||||| | ||||| |||| || ||||||||||||||  ||||||||| |||| ||
+Query  437  natggtttgggggtttaaataaanccctttgttcgcccgagn-ttttcacct-aaatngt  494
+
+Sbjct  348  gctcttatg-tgt-ggtggtgaataaatgttgttgcaaacttgattactcgcagctatgc  405
+             |||||||| ||| || || | | || |||||| ||||||||  || |  | || |||  
+Query  495  cctcttatggtgttggggg-gnanaa-tgttgt-gcaaactttgttccngg-ag-tat-n  548
+
+Sbjct  406  taattgttcgttcatggttatgttt  430
+             |||| | ||  | |||| || |||
+Query  549  naattnt-cg-gcntggt-at-ttt  569
+
+405 336 36 F 419 1703 0 734 30 92.72
+Sbjct  36   cag-agagagaccgtagcaaaacagggcttaccggagcagaacggaaaaccccatttcga  94
+            ||| ||||||| ||||||||||||||||||||||||||||||||||||| ||||||||||
+Query  0    cagnagagagaacgtagcaaaacagggcttaccggagcagaacggaaaaacccatttcga  59
+
+Sbjct  95   agctggagatgatcgtgctaaggagtacgtcagtctcttgaaatcgaacgatccaattgg  154
+            |||||||||||||||| |||||||||||||||||||||||||||||||||||||||||||
+Query  60   agctggagatgatcgtnctaaggagtacgtcagtctcttgaaatcgaacgatccaattgg  119
+
+Sbjct  155  attcaacattgttgatgttcttgcttggggttctattggacacatcgttgcttactacat  214
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  120  attcaacattgttgatgttcttgcttggggttctattggacacatcgttgcttactacat  179
+
+Sbjct  215  cttggctacttccagcaatggatacgacccaagcttctttggatgattcgtttcaatgtc  274
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  180  cttggctacttccagcaatggatacgacccaagcttctttggatgattcgtttcaatgtc  239
+
+Sbjct  275  aatctctcgtatatgtatatgtatatgtttgacttgtgttgcaagctatctaatctgttc  334
+            |||||||||||||||||||||||||||||||||||||||||||||||||||||||||| |
+Query  240  aatctctcgtatatgtatatgtatatgtttgacttgtgttgcaagctatctaatctgtnc  299
+
+Sbjct  335  tctatctctgtttcttc-ttct-gttgttg-ttgttg-ttgtc-taagactt-gtccctc  388
+            ||||||||||||||| | |||| || |||| |||||| ||| | |||| ||| ||||| |
+Query  300  tctatctctgtttctcccttctngtngttggttgttggttgncctaaggcttngtccccc  359
+
+Sbjct  389  -ttttt-gcaaa-tgtttta-tttct-ccatttacaaa-gatt-ggtttgcagagtttt  440
+             ||||| |||||  |||||  ||||| || ||| |||| | || ||||| ||| |||||
+Query  360  cttttttgcaaaangtttttntttctncccttttcaaaagnttnggtttccagggtttt  418
+
+439 376 0 F 450 1694 81 703 62 86.05
+Sbjct  0    taa-gccct-ggcgc-cggatggaan-ccgtga-cttg-ngagataaattat-ntgaccc  52
+            ||| | ||| ||||| || ||||||  |||||| ||||  ||||||||| ||  ||| ||
+Query  81   taatgtccttggcgcacgaatggaactccgtgaacttggagagataaatnatgctgatcc  140
+
+Sbjct  53   actaggttt-actcggcccattgtccccattcatgt-ccggnttttccgc-tcggcggcc  109
+            ||||||||| |||||||||||||||||||||||||| |||| |||||||| |||||||||
+Query  141  actaggttttactcggcccattgtccccattcatgttccgggttttccgcctcggcggcc  200
+
+Sbjct  110  aactat-ccgcagt-accaccatatcgtcccagaaggtgccctttctgttatcctcctcc  167
+            |||||| ||||||| |||||||||||||||||||||||||||||||||| ||||||||||
+Query  201  aactattccgcagttaccaccatatcgtcccagaaggtgccctttctgtnatcctcctcc  260
+
+Sbjct  168  tcccccaaaggctttcccaaaaaactcaccaagtcactgatgtcactatagctacgaaat  227
+            |||||||||||||||||||||||||||||||||||||||||||||||||||||||| |||
+Query  261  tcccccaaaggctttcccaaaaaactcaccaagtcactgatgtcactatagctacggaat  320
+
+Sbjct  228  tgcgtcaataaatgtatgcacgttaatttgtttcattt-gtgatgtgtggggctctttat  286
+            |||||||||||||||||||||| ||||||||||||||| |||||||||||||||||||||
+Query  321  tgcgtcaataaatgtatgcacggtaatttgtttcattttgtgatgtgtggggctctttat  380
+
+Sbjct  287  ctattatatgcatgtcacgtg-tttgtcatatttgcaa-tgtatcatgtatgtggctctt  344
+            ||||||||||||||||||| | ||||  | |||||||| ||||||||| ||||||  |||
+Query  381  ctattatatgcatgtcacggggtttgnaanatttgcaaatgtatcatggatgtggnnctt  440
+
+Sbjct  345  tatctattata-tgcatgtgtttgtcaattgtcata-tttgcgatgtatcatgtatgatg  402
+             | | | || | |||||| |||||  ||||| || | ||||||  |  | ||| |||| |
+Query  441  -aaccantaaaatgcatgngtttgnnaattg-caaaatttgcggng-ntnatgaatgang  497
+
+Sbjct  403  tatgtgggctc-tttatttattatatgcatgtgtttt  438
+             || ||||  | |||||| || | ||| ||| |||||
+Query  498  -at-tggggncctttatt-atna-atgnatgggtttt  530
+
+400 380 1 F 408 451 26 766 14 96.53
+Sbjct  1    caagggga-tcc-ttgtgtt-gaat-cgagttagagcncggattt-gtgt-ccc-tgagc  53
+            |||| ||| |||   ||||  |||| ||||||||||| ||||||| |||| ||| |||||
+Query  26   caagtggantccnnngtgtnngaattcgagttagagcacggattttgtgtacccgtgagc  85
+
+Sbjct  54   -acggaaacactcccggatactacgatggacggtactggacaatgtggaagcttccattg  112
+             |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  86   cacggaaacactcccggatactacgatggacggtactggacaatgtggaagcttccattg  145
+
+Sbjct  113  ttcggatgcaccgactccgctcaagtnttgaaggaagttgaagaatgcaagaaggagtac  172
+            |||||||||||||||||||||||||| |||||||||||||||||||||||||||||||||
+Query  146  ttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtac  205
+
+Sbjct  173  ccgggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagt  232
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  206  ccgggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagt  265
+
+Sbjct  233  ttcattgcctacaagcccccaagcttcaccgaagcttaatttcttttctaaaacattctt  292
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  266  ttcattgcctacaagcccccaagcttcaccgaagcttaatttcttttctaaaacattctt  325
+
+Sbjct  293  atgaattatctctgctcatttcatttcctattgtctgtgttctttttctctttatgagac  352
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  326  atgaattatctctgctcatttcatttcctattgtctgtgttctttttctctttatgagac  385
+
+Sbjct  353  aatttctatcggattgtcaaatgtctgatttatgaatatgtaatttat  400
+            ||||||||||||||||||||||||||||||||||||||||||||||||
+Query  386  aatttctatcggattgtcaaatgtctgatttatgaatatgtaatttat  433
+
+403 380 0 F 406 630 10 722 29 92.83
+Sbjct  0    acaaggggatccttgtgttgaat-cgagttagagcncggatttgtgtccct-gagcacgg  57
+            ||| |||  |||||  |||| || ||  |||| || ||||||| | | ||| | ||||||
+Query  10   acatgggnttccttnggttggattcgnnttagggcccggatttttttncctngngcacgg  69
+
+Sbjct  58   aaacactcccggatactacgatggacggtactggacaatgt-ggaagcttccattgttcg  116
+            || || |||||||||||||||||| ||||||||| | || | ||||  ||||||||||||
+Query  70   aaccantcccggatactacgatggncggtactggnccattttggaangttccattgttcg  129
+
+Sbjct  117  gatgcaccgactccgctcaagtnttgaaggaagttgaagaatgcaagaaggagtacccgg  176
+            ||||||| || ||||||||| | |||||||||||||||||||||||||||||||||||||
+Query  130  gatgcacngantccgctcaantgttgaaggaagttgaagaatgcaagaaggagtacccgg  189
+
+Sbjct  177  gcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttca  236
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  190  gcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttca  249
+
+Sbjct  237  ttgcctacaagcccccaagcttcaccgaagcttaatttcttttctaaaacattcttatga  296
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  250  ttgcctacaagcccccaagcttcaccgaagcttaatttcttttctaaaacattcttatga  309
+
+Sbjct  297  attatctctgctcatttcatttcctattgtctgtgttctttttctctttatgagacaatt  356
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  310  attatctctgctcatttcatttcctattgtctgtgttctttttctctttatgagacaatt  369
+
+Sbjct  357  tctatcggattgtcaaatgtctgatttatgaatatgtaatttatat  402
+            ||||||||||||||||||||||||||||||||||||||||||||||
+Query  370  tctatcggattgtcaaatgtctgatttatgaatatgtaatttatat  415
+
+401 380 0 F 404 736 106 784 7 98.26
+Sbjct  0    acaaggggatcc-ttgtgttgaat-cgagttagagcncggatttgtgt-ccctgagcacg  56
+            ||||| |||||| ||||||||||| ||||||||||| ||||||||||| || ||||||||
+Query  106  acaagtggatccnttgtgttgaattcgagttagagcacggatttgtgtaccgtgagcacg  165
+
+Sbjct  57   gaaacactcccggatactacgatggacggtactggacaatgtggaagcttccattgttcg  116
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  166  gaaacactcccggatactacgatggacggtactggacaatgtggaagcttccattgttcg  225
+
+Sbjct  117  gatgcaccgactccgctcaagtnttgaaggaagttgaagaatgcaagaaggagtacccgg  176
+            |||||||||||||||||||||| |||||||||||||||||||||||||||||||||||||
+Query  226  gatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtacccgg  285
+
+Sbjct  177  gcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttca  236
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  286  gcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttca  345
+
+Sbjct  237  ttgcctacaagcccccaagcttcaccgaagcttaatttcttttctaaaacattcttatga  296
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  346  ttgcctacaagcccccaagcttcaccgaagcttaatttcttttctaaaacattcttatga  405
+
+Sbjct  297  attatctctgctcatttcatttcctattgtctgtgttctttttctctttatgagacaatt  356
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  406  attatctctgctcatttcatttcctattgtctgtgttctttttctctttatgagacaatt  465
+
+Sbjct  357  tctatcggattgtcaaatgtctgatttatgaatatgtaatttat  400
+            ||||||||||||||||||||||||||||||||||||||||||||
+Query  466  tctatcggattgtcaaatgtctgatttatgaatatgtaatttat  509
+
+400 380 3 F 403 846 215 773 10 97.51
+Sbjct  3    aggggat-ccttgtgttgaat-cgagttagagcncggatttgtgt-ccctgagcacggaa  59
+            || |||| || |||||||||| ||||||||||| ||||||||||| || |||||||||||
+Query  215  agtggattccctgtgttgaattcgagttagagcacggatttgtgtaccgtgagcacggaa  274
+
+Sbjct  60   acactcccggatactacgatggacggtactggacaatgtggaagcttccattgttcggat  119
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  275  acactcccggatactacgatggacggtactggacaatgtggaagcttccattgttcggat  334
+
+Sbjct  120  gcaccgactccgctcaagtnttgaaggaagttgaagaatgcaagaaggagtacccgggcg  179
+            ||||||||||||||||||| ||||||||||||||||||||||||||||| ||||||||||
+Query  335  gcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggantacccgggcg  394
+
+Sbjct  180  ccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattg  239
+            | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  395  cnttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattg  454
+
+Sbjct  240  cctacaagcccccaagcttcaccgaagcttaatttcttttctaaaacattcttatgaatt  299
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  455  cctacaagcccccaagcttcaccgaagcttaatttcttttctaaaacattcttatgaatt  514
+
+Sbjct  300  atctctgctcatttcatttcctattgtctgtgttctttttctctttatgagacaatttct  359
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  515  atctctgctcatttcatttcctattgtctgtgttctttttctctttatgagacaatttct  574
+
+Sbjct  360  atcggattgtcaaatgtctgatttatgaatatgtaatttatat  402
+            |||||||||||||||||||||||||||||||||||||||||||
+Query  575  atcggattgtcaaatgtctgatttatgaatatgtaatttatat  617
+
+403 380 0 F 407 902 16 783 9 97.78
+Sbjct  0    acaaggggatccttgtgttg-aatcg-agttagagcnc-ggatttgtgt-ccctgagcac  55
+            ||||| |||||||||||||| ||||| | ||||||| | |||||||||| || |||||||
+Query  16   acaagtggatccttgtgttggaatcggatttagagcnccggatttgtgtaccgtgagcac  75
+
+Sbjct  56   ggaaacactcccggatactacgatggacggtactggacaatgtggaagcttccattgttc  115
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  76   ggaaacactcccggatactacgatggacggtactggacaatgtggaagcttccattgttc  135
+
+Sbjct  116  ggatgcaccgactccgctcaagtnttgaaggaagttgaagaatgcaagaaggagtacccg  175
+            ||||||||||||||||||||||| ||||||||||||||||||||||||||||||||||||
+Query  136  ggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtacccg  195
+
+Sbjct  176  ggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttc  235
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  196  ggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttc  255
+
+Sbjct  236  attgcctacaagcccccaagcttcaccgaagcttaatttcttttctaaaacattcttatg  295
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  256  attgcctacaagcccccaagcttcaccgaagcttaatttcttttctaaaacattcttatg  315
+
+Sbjct  296  aattatctctgctcatttcatttcctattgtctgtgttctttttctctttatgagacaat  355
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  316  aattatctctgctcatttcatttcctattgtctgtgttctttttctctttatgagacaat  375
+
+Sbjct  356  ttctatcggattgtcaaatgtctgatttatgaatatgtaatttatat  402
+            |||||||||||||||||||||||||||||||||||||||||||||||
+Query  376  ttctatcggattgtcaaatgtctgatttatgaatatgtaatttatat  422
+
+401 380 2 F 408 1100 35 740 23 94.31
+Sbjct  2    aaggggatcct-tgtgttgaat-cgagttagagcncgg-atttg-tgt-ccctgagcac-  56
+            ||||||  ||  |||||||||| || ||||| || ||| ||||| ||| ||| | || | 
+Query  35   aaggggnccccctgtgttgaattcgngttagggcccgggatttggtgtncccngngcccc  94
+
+Sbjct  57   ggaaacact-cccggatactacgatggacggtactggacaatgtggaagcttccattgtt  114
+            |||| |||| ||||||||||||||||| ||||||||||||||||||| ||||||||||| 
+Query  95   ggaancactncccggatactacgatggccggtactggacaatgtggangcttccattgtc  154
+
+Sbjct  115  cggatgcaccgactccgctcaagtnttgaaggaagttgaagaatgcaagaaggagtaccc  174
+            |||||||||||||||||||||||| |||||||||||||||||||||||||||||||||||
+Query  155  cggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtaccc  214
+
+Sbjct  175  gggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagttt  234
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  215  gggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagttt  274
+
+Sbjct  235  cattgcctacaagcccccaagcttcaccgaagcttaatttcttttctaaaacattcttat  294
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  275  cattgcctacaagcccccaagcttcaccgaagcttaatttcttttctaaaacattcttat  334
+
+Sbjct  295  gaattatctctgctcatttcatttcctattgtctgtgttctttttctctttatgagacaa  354
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  335  gaattatctctgctcatttcatttcctattgtctgtgttctttttctctttatgagacaa  394
+
+Sbjct  355  tttctatcggattgtcaaatgtctgatttatgaatatgtaatttatat  402
+            ||||||||||||||||||||||||||||||||||||| | ||||||||
+Query  395  tttctatcggattgtcaaatgtctgatttatgaatatnttatttatat  442
+
+401 380 2 F 407 1143 2 721 29 92.82
+Sbjct  2    aaggggatccttgtgttgaat-cgagttagagcnc-ggatttgtgt-ccc-tgagcac-g  56
+            || ||| ||| || ||||||| || ||| | || | |||||||||| ||| || || | |
+Query  2    aaagggntccctg-gttgaattcg-gttngngccccggatttgtgtncccgtgngccccg  59
+
+Sbjct  57   gaaacactcccggatactac-gatggac-ggtactggacaatgtggaagcttcc-attgt  113
+            ||| ||| ||| | |||| | ||||||| |||||||| ||||||||||| |||| |||||
+Query  60   gaaccacccccnggtacttccgatggaccggtactggccaatgtggaagnttcccattgt  119
+
+Sbjct  114  tcggatgcaccgactccgctcaagtnttgaaggaagttgaagaatgcaagaaggagtacc  173
+            ||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||||
+Query  120  tcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtacc  179
+
+Sbjct  174  cgggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtt  233
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  180  cgggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtt  239
+
+Sbjct  234  tcattgcctacaagcccccaagcttcaccgaagcttaatttcttttctaaaacattctta  293
+            ||||||||||||||||||||||||||||||||||||||| |||||||||||||| |||||
+Query  240  tcattgcctacaagcccccaagcttcaccgaagcttaatntcttttctaaaacantctta  299
+
+Sbjct  294  tgaattatctctgctcatttcatttcctattgtctgtgttctttttctctttatgagaca  353
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  300  tgaattatctctgctcatttcatttcctattgtctgtgttctttttctctttatgagaca  359
+
+Sbjct  354  atttctatcggattgtcaaatgtctgatttatgaatatgtaatttatat  402
+            |||||||||||||||||||||||||||||||||||||||| ||||||||
+Query  360  atttctatcggattgtcaaatgtctgatttatgaatatgtnatttatat  408
+
+403 380 0 F 407 1151 49 786 8 98.02
+Sbjct  0    acaaggggatccttgtgtt-gaat-cgagttagagcn-cggatttgtgt-ccctgagcac  55
+            ||||| ||||||||||||| |||| |||||||||||  ||||||||||| || |||||||
+Query  49   acaagtggatccttgtgtttgaattcgagttagagccacggatttgtgtaccgtgagcac  108
+
+Sbjct  56   ggaaacactcccggatactacgatggacggtactggacaatgtggaagcttccattgttc  115
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  109  ggaaacactcccggatactacgatggacggtactggacaatgtggaagcttccattgttc  168
+
+Sbjct  116  ggatgcaccgactccgctcaagtnttgaaggaagttgaagaatgcaagaaggagtacccg  175
+            ||||||||||||||||||||||| ||||||||||||||||||||||||||||||||||||
+Query  169  ggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtacccg  228
+
+Sbjct  176  ggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttc  235
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  229  ggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttc  288
+
+Sbjct  236  attgcctacaagcccccaagcttcaccgaagcttaatttcttttctaaaacattcttatg  295
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  289  attgcctacaagcccccaagcttcaccgaagcttaatttcttttctaaaacattcttatg  348
+
+Sbjct  296  aattatctctgctcatttcatttcctattgtctgtgttctttttctctttatgagacaat  355
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  349  aattatctctgctcatttcatttcctattgtctgtgttctttttctctttatgagacaat  408
+
+Sbjct  356  ttctatcggattgtcaaatgtctgatttatgaatatgtaatttatat  402
+            |||||||||||||||||||||||||||||||||||||||||||||||
+Query  409  ttctatcggattgtcaaatgtctgatttatgaatatgtaatttatat  455
+
+403 380 0 F 409 1230 104 773 13 96.80
+Sbjct  0    acaaggggatcc-ttgtgttgaat-cgagttagagcncggatttgtgtccc-tgagcacg  56
+            ||||  || ||| ||||||||||| |||||||| || |||||||||||||| ||||| ||
+Query  104  acaaatggntcccttgtgttgaattcgagttagggcncggatttgtgtcccgtgagcccg  163
+
+Sbjct  57   gaaacactcccggatactacgatggac-ggtactggacaat-gtggaagcttcc-attgt  113
+            ||||||||||||||||||||||||||| ||||||||||||| |||||||||||| |||||
+Query  164  gaaacactcccggatactacgatggaccggtactggacaattgtggaagcttcccattgt  223
+
+Sbjct  114  tcggatgcaccgactccgctcaagtnttgaaggaagttgaagaatgcaagaaggagtacc  173
+            ||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||||
+Query  224  tcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtacc  283
+
+Sbjct  174  cgggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtt  233
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  284  cgggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtt  343
+
+Sbjct  234  tcattgcctacaagcccccaagcttcaccgaagcttaatttcttttctaaaacattctta  293
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  344  tcattgcctacaagcccccaagcttcaccgaagcttaatttcttttctaaaacattctta  403
+
+Sbjct  294  tgaattatctctgctcatttcatttcctattgtctgtgttctttttctctttatgagaca  353
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  404  tgaattatctctgctcatttcatttcctattgtctgtgttctttttctctttatgagaca  463
+
+Sbjct  354  atttctatcggattgtcaaatgtctgatttatgaatatgtaatttatat  402
+            |||||||||||||||||||||||||||||||||||||||||||||||||
+Query  464  atttctatcggattgtcaaatgtctgatttatgaatatgtaatttatat  512
+
+399 380 0 F 406 1360 9 730 25 93.79
+Sbjct  0    acaag-gggatcc-ttg-tgttgaatcg-agttag-agcncggatttgtgt-ccctgagc  53
+            ||||  ||||||| ||| |||| ||||| |||| |  || ||||||||||| || |||||
+Query  9    acaantgggatcccttggtgttnaatcggagtttggngcacggatttgtgtnccgtgagc  68
+
+Sbjct  54   acggaaac-actcccggatactacgatggacggtactggacaatgtggaagcttccattg  112
+            |||| ||| ||||| ||||||||||||||||| |||||||||||||||||||||||||||
+Query  69   acggnaaccactccnggatactacgatggacgntactggacaatgtggaagcttccattg  128
+
+Sbjct  113  ttcggatgcaccgactccgctcaagtnttgaaggaagttgaagaatgcaagaaggagtac  172
+            | |||||||||||||||||||||||| |||||||||||||| ||||||||||||| ||||
+Query  129  tncggatgcaccgactccgctcaagtnttgaaggaagttgangaatgcaagaaggngtac  188
+
+Sbjct  173  ccgggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagt  232
+            ||||||||||||||| ||||||||||||||||||||||||||||||||||||||||| ||
+Query  189  ccgggcgccttcattnggatcatcggattcgacaacacccgtcaagtccaatgcatcngt  248
+
+Sbjct  233  ttcattgcctacaagcccccaagcttcaccgaagcttaatttcttttctaaaacattctt  292
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  249  ttcattgcctacaagcccccaagcttcaccgaagcttaatttcttttctaaaacattctt  308
+
+Sbjct  293  atgaattatctctgctcatttcatttcctattgtctgtgttctttttctctttatgagac  352
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  309  atgaattatctctgctcatttcatttcctattgtctgtgttctttttctctttatgagac  368
+
+Sbjct  353  aatttctatcggattgtcaaatgtctgatttatgaatatgtaattt  398
+            |||||||||||| ||||||||||||||||||||| |||||| ||||
+Query  369  aatttctatcggnttgtcaaatgtctgatttatgnatatgtgattt  414
+
+475 404 165 F 466 819 35 809 44 90.65
+Sbjct  165  ggaacantcgacaaatcncataggttncacgttggagctaacatctnggc-ggtggagtt  223
+            ||| || ||  | || | ||| |||  ||||| || |||| || |    | |||||| ||
+Query  35   gga-ca-tcncccaaccncat-ggtn-cacgt-ggngcta-ca-c-cncctggtggactt  86
+
+Sbjct  224  tcagcggagttncatgaacccagccgttgntttcggaccagccgtcgtaagctggacgtg  283
+             |||||  | | || ||||||  |||||| |||||| ||  |||||||||||||||||||
+Query  87   -cagcg-ngctcca-gaaccccaccgttgctttcgg-cccnccgtcgtaagctggacgtg  142
+
+Sbjct  284  gaccaac-actgggtttactgggntggtcctcttattggtggtggantcgccggaatta-  342
+            | ||| | ||||||||||||||| ||| |||||||||||||||||| |||||||||||| 
+Query  143  gcccacccactgggtttactgggctggncctcttattggtggtggactcgccggaattat  202
+
+Sbjct  343  ctacgactttgtnttcatcgatgaaaatgcccacgagcaattgcctaccaccgattactg  401
+            |||||||||||| |||||||||||||||||||||||||||||||||||||||||||||||
+Query  203  ctacgactttgtcttcatcgatgaaaatgcccacgagcaattgcctaccaccgattactg  262
+
+Sbjct  402  aagacgtcaaattcaacgttgttaatctgatgaatttttcgtgatttgcttttttaattt  461
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  263  aagacgtcaaattcaacgttgttaatctgatgaatttttcgtgatttgcttttttaattt  322
+
+Sbjct  462  gcatcgtaatgggtttntggncgttggatcatttttagatgaatctttgtctantgattg  521
+            |||||||||||||||| ||| |||||||||||||||||||||||||||||||| ||||||
+Query  323  gcatcgtaatgggtttctggccgttggatcatttttagatgaatctttgtctattgattg  382
+
+Sbjct  522  atcatttatgtgtntttgggtttgttgttggagttgtaatatctctggaaggcttttgtg  581
+            ||||||||||||| ||||||||||||||||||||||||||||||||||||||||||||||
+Query  383  atcatttatgtgtctttgggtttgttgttggagttgtaatatctctggaaggcttttgtg  442
+
+Sbjct  582  caattgtattgtacggtttaataactataattgagaaaaccagggaatgtgaattatg  639
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  443  caattgtattgtacggtttaataactataattgagaaaaccagggaatgtgaattatg  500
+
+418 404 186 F 420 975 52 760 26 93.79
+Sbjct  186  aggttncacgttggagctaacatctnggc-ggtggagtttcagcggag-ttncatgaacc  243
+            ||||| ||||| || |||| || |    | |||||| || |||||||| || ||||| ||
+Query  52   aggttccacgtggg-gcta-cacccnccctggtggacttncagcggagcttccatgaccc  109
+
+Sbjct  244  cagccgttgntttcggaccagccgtcgtaagctggacgtggaccaac-actgggtttact  302
+            ||||||||| ||||||||||||||||||||||||||||||||||||| ||||||||||||
+Query  110  cagccgttgctttcggaccagccgtcgtaagctggacgtggaccaaccactgggtttact  169
+
+Sbjct  303  gggntggtcctcttattggtggtggantcgccggaatta-ctacgactttgtnttcatcg  361
+            ||| ||||||||||||| |||||||| |||||||||||| |||||||||||| |||||||
+Query  170  gggctggtcctcttattngtggtggactcgccggaattatctacgactttgtcttcatcg  229
+
+Sbjct  362  atgaaaatgcccacgagcaattgcctaccaccgattactgaagacgtcaaattcaacgtt  421
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  230  atgaaaatgcccacgagcaattgcctaccaccgattactgaagacgtcaaattcaacgtt  289
+
+Sbjct  422  gttaatctgatgaatttttcgtgatttgcttttttaatttgcatcgtaatgggtttntgg  481
+            |||||||||||||||||||||||||||||||||||||||||||||||||||||||| |||
+Query  290  gttaatctgatgaatttttcgtgatttgcttttttaatttgcatcgtaatgggtttctgg  349
+
+Sbjct  482  ncgttggatcatttttagatgaatctttgtctantgattgatcatttatgtgtntttggg  541
+             |||||||||||||||||||||||||||||||| ||||||||||||||||||| ||||||
+Query  350  ccgttggatcatttttagatgaatctttgtctattgattgatcatttatgtgtctttggg  409
+
+Sbjct  542  tttgttgttggagttgtaatatctctggaaggcttttgtgcaattgtattgtacggttta  601
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  410  tttgttgttggagttgtaatatctctggaaggcttttgtgcaattgtattgtacggttta  469
+
+Sbjct  602  at  603
+            ||
+Query  470  at  471
+
+420 404 213 F 444 1362 2 699 55 87.27
+Sbjct  213  gc-ggt-ggagtttcag-cggagttncat-gaaccc-agccgttgnttt-cggacc-agc  265
+            || ||| || | ||| | ||| ||| ||| || ||| |||||||  ||| |||||| | |
+Query  2    gctggttggggcttccggcggngttncattgaccccnagccgttncttttcggacccacc  61
+
+Sbjct  266  cgtcgtaagctggacgtggaccaa-c-actgggttt-actgggn-tgg-tcc-tctt-at  318
+            | ||||||||||||||||| || | | | ||||||| |||||   |||  || |||| ||
+Query  62   cttcgtaagctggacgtggncccanccantgggttttactggncctgggnccctctttat  121
+
+Sbjct  319  tgg-tgg-tggantc-gccggaatta---ctacgactttgtnttcatc-gatg-aaaatg  370
+            ||| ||| || | ||  ||||| |||   |||||||||||| ||| || |||| ||||||
+Query  122  tggntgggtgnactcnnccggatttaattctacgactttgtcttcntccgatggaaaatg  181
+
+Sbjct  371  ccc-acgagcaattgcctaccaccgatt-actgaagacgtcaaattcaacgttgttaatc  428
+            ||| |||||||||||||| ||||||||| |||||||||||||||||||||||||||||||
+Query  182  ccccacgagcaattgcctcccaccgatttactgaagacgtcaaattcaacgttgttaatc  241
+
+Sbjct  429  tgatgaatttttcgtgatttgcttttttaatttgcatcgtaatgggtttntggncgttgg  488
+            ||||||||||||||||||||||||||||||||||||||||||||||||| ||| ||||||
+Query  242  tgatgaatttttcgtgatttgcttttttaatttgcatcgtaatgggtttctggccgttgg  301
+
+Sbjct  489  atcatttttagatgaatctttgtctantgattgatcatttatgtgtntttgggtttgttg  548
+            |||||||||||||||||||||||||| ||||||||||||||||||| |||||||||||||
+Query  302  atcatttttagatgaatctttgtctattgattgatcatttatgtgtctttgggtttgttg  361
+
+Sbjct  549  ttggagttgtaatatctctggaaggcttttgtgcaattgtattgtacggtttaataacta  608
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  362  ttggagttgtaatatctctggaaggcttttgtgcaattgtattgtacggtttaataacta  421
+
+Sbjct  609  taattgagaaaaccagggaatgtg  632
+            |||||||||||||||||| |||||
+Query  422  taattgagaaaaccagggtatgtg  445
+
+453 404 187 F 455 1500 29 806 34 92.51
+Sbjct  187  ggttncacgttggagctaacatctnggc-ggtggagtttcagcggag-ttncatgaaccc  244
+            |||| ||||| || |||| ||||   || |||||| |||||| || | || ||||| |||
+Query  29   ggttccacgtggg-gcta-catccncgccggtggantttcagnggggcttccatgacccc  86
+
+Sbjct  245  agccgttgntttcggaccagccgtcgtaagctggacgtggaccaac-actgggttt-act  302
+            | |||||  |||||||||  ||||| ||| |||||||||| ||| | ||||||||| |||
+Query  87   a-ccgttnctttcggaccnnccgtcttaanctggacgtggcccacccactgggttttact  145
+
+Sbjct  303  gggntggtcctcttattggtggtggantcgccggaatta-ctacgactttgtnttcatcg  361
+            ||| ||| |||||||||||||||||| |||||||||||| |||||||||||| |||||||
+Query  146  gggctggncctcttattggtggtggactcgccggaattatctacgactttgtcttcatcg  205
+
+Sbjct  362  atgaaaatgcccacgagcaattgcctaccaccgattactgaagacgtcaaattcaacgtt  421
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  206  atgaaaatgcccacgagcaattgcctaccaccgattactgaagacgtcaaattcaacgtt  265
+
+Sbjct  422  gttaatctgatgaatttttcgtgatttgcttttttaatttgcatcgtaatgggtttntgg  481
+            |||||||||||||||||||||||||||||||||||||||||||||||||||||||| |||
+Query  266  gttaatctgatgaatttttcgtgatttgcttttttaatttgcatcgtaatgggtttctgg  325
+
+Sbjct  482  ncgttggatcatttttagatgaatctttgtctantgattgatcatttatgtgtntttggg  541
+             |||||||||||||||||||||||||||||||| ||||||||||||||||||| ||||||
+Query  326  ccgttggatcatttttagatgaatctttgtctattgattgatcatttatgtgtctttggg  385
+
+Sbjct  542  tttgttgttggagttgtaatatctctggaaggcttttgtgcaattgtattgtacggttta  601
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  386  tttgttgttggagttgtaatatctctggaaggcttttgtgcaattgtattgtacggttta  445
+
+Sbjct  602  ataactataattgagaaaaccagggaatgtgaattatg  639
+            ||||||||||||||||||||||||||||||||||||||
+Query  446  ataactataattgagaaaaccagggaatgtgaattatg  483
+
+434 406 8 F 430 542 0 771 31 92.82
+Sbjct  8    tcaaaatngtcgnnagtgncntcaagaagancaagaccgacaagccttcggaattaacgg  67
+            ||||||| | |   | || | |||||| |  |||| ||||||| ||| |||||||| |||
+Query  0    tcaaaattgccccca-tg-cgtcaagaggttcaag-ccgacaaccct-cggaatta-cgg  54
+
+Sbjct  68   cagcatggacttgagggacggcgtng-acc-nccggcagaaagggcaagggatacggtgt  125
+            | || |||||||||||||| |||| | |||  ||||||||||||||||||||| ||||||
+Query  55   c-gcctggacttgagggaccgcgtcggaccctccggcagaaagggcaagggatncggtgt  113
+
+Sbjct  126  ttacaagtacgtcgacaagtatggagctaacgncgatggatacagtcctatttacaacga  185
+            |||||||||||||||||||||||||||||||| |||||||||||||||||||||||||||
+Query  114  ttacaagtacgtcgacaagtatggagctaacgtcgatggatacagtcctatttacaacga  173
+
+Sbjct  186  gaacgantggtcancgagtggtgacgtgtacaagggaggagtcactggattggcaatttg  245
+            |||||| |||||| ||||||||||||||||||||||||||||||| ||||||||||||||
+Query  174  gaacgagtggtcagcgagtggtgacgtgtacaagggaggagtcaccggattggcaatttg  233
+
+Sbjct  246  ggcggtaactctcgccggaattcttgccggaggtgctcttcttgtgtacaacacaagtgc  305
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  234  ggcggtaactctcgccggaattcttgccggaggtgctcttcttgtgtacaacacaagtgc  293
+
+Sbjct  306  tttggctcagtaaatcttaaagttgttagcgcatgtgtaancatgtttctataaatgttt  365
+            |||||||||||||||||||||||||||||||||||||||| |||||||||||||||||||
+Query  294  tttggctcagtaaatcttaaagttgttagcgcatgtgtaatcatgtttctataaatgttt  353
+
+Sbjct  366  ntgtgttgttctatntctctctaatgttgtaaaactcagacatactttgaatttataaga  425
+             ||||||||||| | |||||||||||||||||||||||||||||||||||||||||||||
+Query  354  ctgtgttgttctctttctctctaatgttgtaaaactcagacatactttgaatttataaga  413
+
+Sbjct  426  cttctagtgtttgtat  441
+            ||||||||||||||||
+Query  414  cttctagtgtttgtat  429
+
+402 406 40 F 413 1056 0 713 34 91.66
+Sbjct  40   aagaccgacaagcc-ttcggaattaacggcagc-atggacttgagggacggcgtn--ga-  95
+            ||| ||||||||||  ||||||||| ||||||| |||  |||||||||| ||||   || 
+Query  0    aagcccgacaagcccntcggaatta-cggcagccatgatcttgagggacngcgttcngaa  58
+
+Sbjct  96   ccnccggcagaaagggcaagggatac-ggtgttt-acaagtacg-tc-gacaagtatgg-  150
+            || ||||||||||||||||||  ||| ||||||| ||||||||  || ||||||||||| 
+Query  59   cctccggcagaaagggcaagg-ntaccggtgttttacaagtaccntccgacaagtatggg  117
+
+Sbjct  151  agct-aacgncgatggatac-ag-tcctatttacaacgagaacgantggtcancgagtgg  206
+            | || |||| |||||||||| || ||||||||||||||||||||| |||||| |||||||
+Query  118  ancttaacgtcgatggataccaggtcctatttacaacgagaacgagtggtcagcgagtgg  177
+
+Sbjct  207  tgacgtgtacaagggaggagtcactggattggcaatttgggcggtaactctcgccggaat  266
+            | |||||||||||||||||||||| |||||||||||||||||||||||||||||||||||
+Query  178  tnacgtgtacaagggaggagtcaccggattggcaatttgggcggtaactctcgccggaat  237
+
+Sbjct  267  tcttgccggaggtgctcttcttgtgtacaacacaagtgctttggctcagtaaatcttaaa  326
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  238  tcttgccggaggtgctcttcttgtgtacaacacaagtgctttggctcagtaaatcttaaa  297
+
+Sbjct  327  gttgttagcgcatgtgtaancatgtttctataaatgtttntgtgttgttctatntctctc  386
+            ||||||||||||||||||| ||||||||||||||||||| ||||||||||| | ||||||
+Query  298  gttgttagcgcatgtgtaatcatgtttctataaatgtttctgtgttgttctctttctctc  357
+
+Sbjct  387  taatgttgtaaaactcagacatactttgaatttataagacttctagtgtttgtat  441
+            |||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  358  taatgttgtaaaactcagacatactttgaatttataagacttctagtgtttgtat  412
+
+430 412 83 F 436 1525 0 755 37 91.45
+Sbjct  83   tcg-gntccaaanccacag--ttacact-g-ggncccctgccactnttg-agtacatcac  136
+            ||| | | |||| ||||||  ||||||| | || ||| || |||| ||| ||| ||| ||
+Query  0    tcgagtttcaaagccacaggcttacacttgaggacccntgtcactnttgnagtncatnac  59
+
+Sbjct  137  tcgctaccatg-ct-gcccttcaaccaga-gtatacccnaaa-tg-tggtgtccagaccc  191
+            ||||| ||||| || ||  ||||| |  | |||| ||| ||| || ||||||| ||||| 
+Query  60   tcgcttccatggctngc-tttcaaacnnaagtat-ccccaaagtggtggtgtc-agacc-  116
+
+Sbjct  192  ctcg-tctttctactcttatcgttggctttgaccccttactctcgcctcccttcccctat  250
+             ||| |||||||||||||||||||||||||||||| |||||||||||||||||||| |||
+Query  117  ttcgntctttctactcttatcgttggctttgaccc-ttactctcgcctcccttccc-tat  173
+
+Sbjct  251  atcagactgatccttctgggactttctctgcttggaaagctaatgctaccggcagaaact  310
+            ||||||||||||||||||||||| ||||||||||||||||||||||||||||||||||||
+Query  174  atcagactgatccttctgggactntctctgcttggaaagctaatgctaccggcagaaact  233
+
+Sbjct  311  ccaactctattagggaattcctcgagaagaactacaaagaatcctctggccaagaaacta  370
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  234  ccaactctattagggaattcctcgagaagaactacaaagaatcctctggccaagaaacta  293
+
+Sbjct  371  ttaaactcgctatccgtgctctgcttgaggtagttgagagtggcggaaagaacattgagg  430
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  294  ttaaactcgctatccgtgctctgcttgaggtagttgagagtggcggaaagaacattgagg  353
+
+Sbjct  431  ttgtcgtaatgacacgggaggaaactggtgcgccagctagaagaagctgaaattgattca  490
+            ||| ||||||||||||||||||||||||||||||||||||||||||||||||||||| ||
+Query  354  ttgccgtaatgacacgggaggaaactggtgcgccagctagaagaagctgaaattgatgca  413
+
+Sbjct  491  atcgtggccaagatcgaagctg  512
+            ||||||||||||||||||||||
+Query  414  atcgtggccaagatcgaagctg  435
+
+434 426 27 F 429 795 0 722 47 89.11
+Sbjct  27   gttcagaagcgatcaatccctgaatggagcagatttggatggaagac-aataagagcccc  85
+            |||| | ||||| |||||| ||||||| || |||| || ||| || | |||| | | | |
+Query  0    gttccggagcga-caatcc-tgaatgg-gccgatt-ggntggnaggcnaata-g-gtctc  53
+
+Sbjct  86   agaggctgaggctag-ccaccnagaggccattttgagcgntcacacctctttc-atattc  143
+            |||| ||||| |||| ||||| ||  |||| || | ||| |||||| |||||| |||| |
+Query  54   agag-ctgag-ctaggccaccaaggngccaattggggcggtcacac-tctttccatat-c  109
+
+Sbjct  144  tc-aaaaaatgcaaattctgg-agggttcctttgaagcatatagggttagtggaaaatgg  201
+            || |||||||||||||||||| | ||| | |||||| |||||| |||| |||||||||||
+Query  110  tccaaaaaatgcaaattctggnanggt-c-tttgaaccatatanggttngtggaaaatgg  167
+
+Sbjct  202  cggtttc-agacagtaactaaaactcactgctggtgc-acgctaggctttatccgccttt  259
+            ||||||| ||||||||||||||||||||||||||||| ||||||||||||||||||||||
+Query  168  cggtttccagacagtaactaaaactcactgctggtgccacgctaggctttatccgccttt  227
+
+Sbjct  260  gatgcatgaaggtcgttaaggaatggtctttttttgagaaagataacaattagattaaag  319
+            ||||||||||||||||||| ||||||||||||||||| |||||| |||||||||||||  
+Query  228  gatgcatgaaggtcgttaacgaatggtctttttttganaaagatnacaattagattaann  287
+
+Sbjct  320  cagagaacccatgtttcttgtctgttcgaatcctgcgagattggttgtagttgaagttgc  379
+            || ||||||||||||||||||||||||||||||||||||||||||||||||||||||| |
+Query  288  canagaacccatgtttcttgtctgttcgaatcctgcgagattggttgtagttgaagttnc  347
+
+Sbjct  380  attttcttcttgtcttttttgttggtattttgacacaatttggctttttggcatatgaga  439
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  348  attttcttcttgtcttttttgttggtattttgacacaatttggctttttggcatatgaga  407
+
+Sbjct  440  gtgactgtagcagtctgtttt  460
+            ||||||||  |||||||||||
+Query  408  gtgactgtnccagtctgtttt  428
+
+409 432 9 F 410 652 0 735 28 93.16
+Sbjct  9    aanttgnta-ccctggtggaatc-ttaaccccgcttaacttggctncctacgcaagaggc  66
+            || ||| || ||||||||||| | | ||||| | | |||||| |  || || | ||||||
+Query  0    aatttggtanccctggtggaaacntnaaccc-gnt-aacttg-c-cccnaccccagaggc  55
+
+Sbjct  67   c-aaggagaaagagc-tagcaaacggg-aggttggccgatgtt-ggcattcttagggttt  122
+            | |||| |||||  | ||||||||||| |||||| | |||||| ||||||||||||| ||
+Query  56   cnaaggngaaagnncctagcaaacggggaggttgnc-gatgttaggcattcttaggggtt  114
+
+Sbjct  123  tgtggttcaacacaatgtgactggaaaaggaccatttgagaatctgttgcagcacttgtc  182
+            ||||||| ||||||||||| ||||||||||||||||||||||||||||||||||||| ||
+Query  115  tgtggttnaacacaatgtgnctggaaaaggaccatttgagaatctgttgcagcacttntc  174
+
+Sbjct  183  tgacccatggcacaacactattgtccaaaccttcaactaaagagtgaagacagacttatg  242
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  175  tgacccatggcacaacactattgtccaaaccttcaactaaagagtgaagacagacttatg  234
+
+Sbjct  243  atctcatacctatctatcttccatcactttcatgtctgtctgtgagtgtgtttcatctta  302
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  235  atctcatacctatctatcttccatcactttcatgtctgtctgtgagtgtgtttcatctta  294
+
+Sbjct  303  gagttcttggtttttgagcttgaattattgttgaaccgttgtagctccatgaacaaattt  362
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  295  gagttcttggtttttgagcttgaattattgttgaaccgttgtagctccatgaacaaattt  354
+
+Sbjct  363  ggaatcttcaatgtacagaggaactaagttaatcaacattgttgtactctttaat  417
+            |||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  355  ggaatcttcaatgtacagaggaactaagttaatcaacattgttgtactctttaat  409
+
+422 432 0 F 423 825 61 791 18 95.74
+Sbjct  0    cc-taagggt-aanttgntaccctggtggaatcttaaccccgcttaacttggctncctac  57
+            || || |||| || | | | |||||| |||||||| |||||||||||||| ||  | |||
+Query  61   ccnta-gggtgaagtggct-ccctggnggaatctttaccccgcttaactttgcctcntac  118
+
+Sbjct  58   gcaagaggccaaggagaaagagctagc-aaacgggaggttggccgatgttggcattc-tt  115
+            ||||||| ||||||||||| ||||||| ||||||||||||||||||||||||||||| ||
+Query  119  gcaagagcccaaggagaaanagctagccaaacgggaggttggccgatgttggcattcctt  178
+
+Sbjct  116  agggttttgtggttcaacacaatgtgactggaaaaggaccatttgagaatctgttgcagc  175
+            ||||||| ||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  179  agggttt-gtggttcaacacaatgtgactggaaaaggaccatttgagaatctgttgcagc  237
+
+Sbjct  176  acttgtctgacccatggcacaacactattgtccaaaccttcaactaaagagtgaagacag  235
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  238  acttgtctgacccatggcacaacactattgtccaaaccttcaactaaagagtgaagacag  297
+
+Sbjct  236  acttatgatctcatacctatctatcttccatcactttcatgtctgtctgtgagtgtgttt  295
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  298  acttatgatctcatacctatctatcttccatcactttcatgtctgtctgtgagtgtgttt  357
+
+Sbjct  296  catcttagagttcttggtttttgagcttgaattattgttgaaccgttgtagctccatgaa  355
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  358  catcttagagttcttggtttttgagcttgaattattgttgaaccgttgtagctccatgaa  417
+
+Sbjct  356  caaatttggaatcttcaatgtacagaggaactaagttaatcaacattgttgtactcttta  415
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  418  caaatttggaatcttcaatgtacagaggaactaagttaatcaacattgttgtactcttta  477
+
+Sbjct  416  atatct  421
+            ||||||
+Query  478  atatct  483
+
+397 432 0 F 403 1469 51 728 24 94.00
+Sbjct  0    cctaagggt-aan-tt-gntaccctggtggaatcttaacccc-gcttaactt-ggctncc  54
+            ||| ||||| ||  || | | ||||||||||||||| ||||| | ||||||| |||| ||
+Query  51   ccttagggtgaaagttngttcccctggtggaatctttacccccggttaacttnggct-cc  109
+
+Sbjct  55   tac-gcaag-aggccaagg-agaaag-agctagcaaacgggaggttggccgatgttggca  110
+            | | ||||| ||||| ||| || ||| ||||||||  |||||||||||| |||||||| |
+Query  110  ttccgcaaggaggcccagggaggaaggagctagcanccgggaggttggc-gatgttggna  168
+
+Sbjct  111  ttcttagggttttgtggttcaacacaatgtgactggaaaaggaccatttgagaatctgtt  170
+            |||||||||||| |||||||||||||||||||||||||||||||||||||||||||||||
+Query  169  ttcttagggttt-gtggttcaacacaatgtgactggaaaaggaccatttgagaatctgtt  227
+
+Sbjct  171  gcagcacttgtctgacccatggcacaacactattgtccaaaccttcaactaaagagtgaa  230
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  228  gcagcacttgtctgacccatggcacaacactattgtccaaaccttcaactaaagagtgaa  287
+
+Sbjct  231  gacagacttatgatctcatacctatctatcttccatcactttcatgtctgtctgtgagtg  290
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  288  gacagacttatgatctcatacctatctatcttccatcactttcatgtctgtctgtgagtg  347
+
+Sbjct  291  tgtttcatcttagagttcttggtttttgagcttgaattattgttgaaccgttgtagctcc  350
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  348  tgtttcatcttagagttcttggtttttgagcttgaattattgttgaaccgttgtagctcc  407
+
+Sbjct  351  atgaacaaatttggaatcttcaatgtacagaggaactaagttaatc  396
+            ||||||||||||||||||||||||||||||||||||||||||||||
+Query  408  atgaacaaatttggaatcttcaatgtacagaggaactaagttaatc  453
+
+423 449 0 F 421 868 143 802 14 96.68
+Sbjct  0    cctcaaaatctcccnttcaag-ncgctgcatntgncaaaactcaggggaaatggccctct  58
+            |||||| ||||||| | ||||  |||||||| || |||| ||||||||||||||||||||
+Query  143  cctcaacatctcccct-caaggtcgctgcat-tgacaaa-ctcaggggaaatggccctct  199
+
+Sbjct  59   tngatcccctccaggtctcaag-ct-cctcttcatatcaggacccaagatgcgtggcttg  116
+            | |||||| ||||||||||||| || |||||||||||||||| |||||||||||||||||
+Query  200  ttgatccc-tccaggtctcaagacttcctcttcatatcaggaaccaagatgcgtggcttg  258
+
+Sbjct  117  gcngaagaagaaagagaacccaccagatggtttcatgtgtccctctggttggaaggtgtt  176
+            || |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  259  gc-gaagaagaaagagaacccaccagatggtttcatgtgtccctctggttggaaggtgtt  317
+
+Sbjct  177  ggttgattactacgacagtctcagtgcagagtctggtaatggaagggtttcagaggctgt  236
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  318  ggttgattactacgacagtctcagtgcagagtctggtaatggaagggtttcagaggctgt  377
+
+Sbjct  237  tgcttctgcttaaatgcaaaaggttccttgccccacaagtttcacattttctggttgtta  296
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  378  tgcttctgcttaaatgcaaaaggttccttgccccacaagtttcacattttctggttgtta  437
+
+Sbjct  297  agtaactatgctctgtaagaaacagcttccaataaaaccaatgtaacaactgtgtgttct  356
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  438  agtaactatgctctgtaagaaacagcttccaataaaaccaatgtaacaactgtgtgttct  497
+
+Sbjct  357  ttgcgtctctgttgtcaaacttgtcatcgggtcgcatctatttgtaccatatttgcttat  416
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  498  ttgcgtctctgttgtcaaacttgtcatcgggtcgcatctatttgtaccatatttgcttat  557
+
+Sbjct  417  tgtgtt  422
+            ||||||
+Query  558  tgtgtt  563
+
+434 451 0 F 427 736 83 825 12 97.21
+Sbjct  0    aggaagttgactaccttctccgcaancaagtggantccnnngtgtnngaattcgagttag  59
+            |||||||||||| | |||||||||| |||||||| |||   ||||  |||||||||||||
+Query  83   aggaagttgactnc-ttctccgcaa-caagtgga-tccnttgtgt-tgaattcgagttag  138
+
+Sbjct  60   agcacggattttgtgtacccgtgagccacggaaacactcccggatactacgatggacggt  119
+            ||||||||||| ||||||| |||||| |||||||||||||||||||||||||||||||||
+Query  139  agcacggattt-gtgtacc-gtgagc-acggaaacactcccggatactacgatggacggt  195
+
+Sbjct  120  actggacaatgtggaagcttccattgttcggatgcaccgactccgctcaagtgttgaagg  179
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  196  actggacaatgtggaagcttccattgttcggatgcaccgactccgctcaagtgttgaagg  255
+
+Sbjct  180  aagttgaagaatgcaagaaggagtacccgggcgccttcattaggatcatcggattcgaca  239
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  256  aagttgaagaatgcaagaaggagtacccgggcgccttcattaggatcatcggattcgaca  315
+
+Sbjct  240  acacccgtcaagtccaatgcatcagtttcattgcctacaagcccccaagcttcaccgaag  299
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  316  acacccgtcaagtccaatgcatcagtttcattgcctacaagcccccaagcttcaccgaag  375
+
+Sbjct  300  cttaatttcttttctaaaacattcttatgaattatctctgctcatttcatttcctattgt  359
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  376  cttaatttcttttctaaaacattcttatgaattatctctgctcatttcatttcctattgt  435
+
+Sbjct  360  ctgtgttctttttctctttatgagacaatttctatcggattgtcaaatgtctgatttatg  419
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  436  ctgtgttctttttctctttatgagacaatttctatcggattgtcaaatgtctgatttatg  495
+
+Sbjct  420  aatatgtaatttat  433
+            ||||||||||||||
+Query  496  aatatgtaatttat  509
+
+434 451 0 F 427 846 189 816 15 96.52
+Sbjct  0    aggaagttgactaccttctccgcaancaagtggantccnnngtgtnngaattcgagttag  59
+            |||||||||||||||||| |||||  || ||||| |||   ||||  |||||||||||||
+Query  189  aggaagttgactaccttcaccgcan-ca-gtggattccct-gtgt-tgaattcgagttag  244
+
+Sbjct  60   agcacggattttgtgtacccgtgagccacggaaacactcccggatactacgatggacggt  119
+            ||||||||||| ||||||| |||||| |||||||||||||||||||||||||||||||||
+Query  245  agcacggattt-gtgtacc-gtgagc-acggaaacactcccggatactacgatggacggt  301
+
+Sbjct  120  actggacaatgtggaagcttccattgttcggatgcaccgactccgctcaagtgttgaagg  179
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  302  actggacaatgtggaagcttccattgttcggatgcaccgactccgctcaagtgttgaagg  361
+
+Sbjct  180  aagttgaagaatgcaagaaggagtacccgggcgccttcattaggatcatcggattcgaca  239
+            |||||||||||||||||||||| ||||||||||| |||||||||||||||||||||||||
+Query  362  aagttgaagaatgcaagaaggantacccgggcgcnttcattaggatcatcggattcgaca  421
+
+Sbjct  240  acacccgtcaagtccaatgcatcagtttcattgcctacaagcccccaagcttcaccgaag  299
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  422  acacccgtcaagtccaatgcatcagtttcattgcctacaagcccccaagcttcaccgaag  481
+
+Sbjct  300  cttaatttcttttctaaaacattcttatgaattatctctgctcatttcatttcctattgt  359
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  482  cttaatttcttttctaaaacattcttatgaattatctctgctcatttcatttcctattgt  541
+
+Sbjct  360  ctgtgttctttttctctttatgagacaatttctatcggattgtcaaatgtctgatttatg  419
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  542  ctgtgttctttttctctttatgagacaatttctatcggattgtcaaatgtctgatttatg  601
+
+Sbjct  420  aatatgtaatttat  433
+            ||||||||||||||
+Query  602  aatatgtaatttat  615
+
+424 451 10 F 420 902 1 787 19 95.50
+Sbjct  10   ctaccttctccg-caancaagtggantccnnngtgtnngaattcg-agttagagcac-gg  66
+            || |||||  || ||| |||||||| |||   ||||  |||| || | ||||||| | ||
+Query  1    cttccttcnncggcaa-caagtgga-tcc-ttgtgttggaat-cggatttagagcnccgg  56
+
+Sbjct  67   attttgtgtacccgtgagccacggaaacactcccggatactacgatggacggtactggac  126
+            |||| ||||||| |||||| ||||||||||||||||||||||||||||||||||||||||
+Query  57   attt-gtgtacc-gtgagc-acggaaacactcccggatactacgatggacggtactggac  113
+
+Sbjct  127  aatgtggaagcttccattgttcggatgcaccgactccgctcaagtgttgaaggaagttga  186
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  114  aatgtggaagcttccattgttcggatgcaccgactccgctcaagtgttgaaggaagttga  173
+
+Sbjct  187  agaatgcaagaaggagtacccgggcgccttcattaggatcatcggattcgacaacacccg  246
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  174  agaatgcaagaaggagtacccgggcgccttcattaggatcatcggattcgacaacacccg  233
+
+Sbjct  247  tcaagtccaatgcatcagtttcattgcctacaagcccccaagcttcaccgaagcttaatt  306
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  234  tcaagtccaatgcatcagtttcattgcctacaagcccccaagcttcaccgaagcttaatt  293
+
+Sbjct  307  tcttttctaaaacattcttatgaattatctctgctcatttcatttcctattgtctgtgtt  366
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  294  tcttttctaaaacattcttatgaattatctctgctcatttcatttcctattgtctgtgtt  353
+
+Sbjct  367  ctttttctctttatgagacaatttctatcggattgtcaaatgtctgatttatgaatatgt  426
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  354  ctttttctctttatgagacaatttctatcggattgtcaaatgtctgatttatgaatatgt  413
+
+Sbjct  427  aatttat  433
+            |||||||
+Query  414  aatttat  420
+
+434 451 0 F 429 1100 12 764 33 92.35
+Sbjct  0    aggaagttgactaccttctccgcaancaagtggantccnnngtgtnngaattcgagttag  59
+            ||||||||| || ||||| | | ||  ||| ||   ||   ||||  ||||||| |||||
+Query  12   aggaagttg-ctcccttcccng-aa--aaggggnccccct-gtgt-tgaattcgngttag  65
+
+Sbjct  60   agcacgg-attttgtgtacccgtgagccacggaaacact-cccggatactacgatggacg  117
+             || ||| |||| |||| |||  | ||| ||||| |||| ||||||||||||||||| ||
+Query  66   ggcccgggatttggtgtnccc-ngngccccggaancactncccggatactacgatggccg  124
+
+Sbjct  118  gtactggacaatgtggaagcttccattgttcggatgcaccgactccgctcaagtgttgaa  177
+            ||||||||||||||||| ||||||||||| ||||||||||||||||||||||||||||||
+Query  125  gtactggacaatgtggangcttccattgtccggatgcaccgactccgctcaagtgttgaa  184
+
+Sbjct  178  ggaagttgaagaatgcaagaaggagtacccgggcgccttcattaggatcatcggattcga  237
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  185  ggaagttgaagaatgcaagaaggagtacccgggcgccttcattaggatcatcggattcga  244
+
+Sbjct  238  caacacccgtcaagtccaatgcatcagtttcattgcctacaagcccccaagcttcaccga  297
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  245  caacacccgtcaagtccaatgcatcagtttcattgcctacaagcccccaagcttcaccga  304
+
+Sbjct  298  agcttaatttcttttctaaaacattcttatgaattatctctgctcatttcatttcctatt  357
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  305  agcttaatttcttttctaaaacattcttatgaattatctctgctcatttcatttcctatt  364
+
+Sbjct  358  gtctgtgttctttttctctttatgagacaatttctatcggattgtcaaatgtctgattta  417
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  365  gtctgtgttctttttctctttatgagacaatttctatcggattgtcaaatgtctgattta  424
+
+Sbjct  418  tgaatatgtaatttat  433
+            ||||||| | ||||||
+Query  425  tgaatatnttatttat  440
+
+434 451 0 F 428 1151 26 823 13 96.98
+Sbjct  0    aggaagttgactaccttctccgcaancaagtggantccnnngtgtnngaattcgagttag  59
+            ||||||||| || |||||||||||| |||||||| |||   ||||  |||||||||||||
+Query  26   aggaagttg-cttccttctccgcaa-caagtgga-tcc-ttgtgtttgaattcgagttag  81
+
+Sbjct  60   agc-acggattttgtgtacccgtgagccacggaaacactcccggatactacgatggacgg  118
+            ||| |||||||| ||||||| |||||| ||||||||||||||||||||||||||||||||
+Query  82   agccacggattt-gtgtacc-gtgagc-acggaaacactcccggatactacgatggacgg  138
+
+Sbjct  119  tactggacaatgtggaagcttccattgttcggatgcaccgactccgctcaagtgttgaag  178
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  139  tactggacaatgtggaagcttccattgttcggatgcaccgactccgctcaagtgttgaag  198
+
+Sbjct  179  gaagttgaagaatgcaagaaggagtacccgggcgccttcattaggatcatcggattcgac  238
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  199  gaagttgaagaatgcaagaaggagtacccgggcgccttcattaggatcatcggattcgac  258
+
+Sbjct  239  aacacccgtcaagtccaatgcatcagtttcattgcctacaagcccccaagcttcaccgaa  298
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  259  aacacccgtcaagtccaatgcatcagtttcattgcctacaagcccccaagcttcaccgaa  318
+
+Sbjct  299  gcttaatttcttttctaaaacattcttatgaattatctctgctcatttcatttcctattg  358
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  319  gcttaatttcttttctaaaacattcttatgaattatctctgctcatttcatttcctattg  378
+
+Sbjct  359  tctgtgttctttttctctttatgagacaatttctatcggattgtcaaatgtctgatttat  418
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  379  tctgtgttctttttctctttatgagacaatttctatcggattgtcaaatgtctgatttat  438
+
+Sbjct  419  gaatatgtaatttat  433
+            |||||||||||||||
+Query  439  gaatatgtaatttat  453
+
+434 451 0 F 431 1230 80 805 20 95.38
+Sbjct  0    aggaagttgactaccttctccgcaancaagtggantccnnngtgtnngaattcgagttag  59
+            |||||||||||| | ||||| |||| ||| |||  |||   ||||  |||||||||||||
+Query  80   aggaagttgactccnttctcngcaa-caaatgg-ntcccttgtgt-tgaattcgagttag  136
+
+Sbjct  60   agcacggattttgtgtacccgtgagccacggaaacactcccggatactacgatggac-gg  118
+             || ||||||| |||| |||||||||| ||||||||||||||||||||||||||||| ||
+Query  137  ggcncggattt-gtgt-cccgtgagcc-cggaaacactcccggatactacgatggaccgg  193
+
+Sbjct  119  tactggacaat-gtggaagcttcc-attgttcggatgcaccgactccgctcaagtgttga  176
+            ||||||||||| |||||||||||| |||||||||||||||||||||||||||||||||||
+Query  194  tactggacaattgtggaagcttcccattgttcggatgcaccgactccgctcaagtgttga  253
+
+Sbjct  177  aggaagttgaagaatgcaagaaggagtacccgggcgccttcattaggatcatcggattcg  236
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  254  aggaagttgaagaatgcaagaaggagtacccgggcgccttcattaggatcatcggattcg  313
+
+Sbjct  237  acaacacccgtcaagtccaatgcatcagtttcattgcctacaagcccccaagcttcaccg  296
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  314  acaacacccgtcaagtccaatgcatcagtttcattgcctacaagcccccaagcttcaccg  373
+
+Sbjct  297  aagcttaatttcttttctaaaacattcttatgaattatctctgctcatttcatttcctat  356
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  374  aagcttaatttcttttctaaaacattcttatgaattatctctgctcatttcatttcctat  433
+
+Sbjct  357  tgtctgtgttctttttctctttatgagacaatttctatcggattgtcaaatgtctgattt  416
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  434  tgtctgtgttctttttctctttatgagacaatttctatcggattgtcaaatgtctgattt  493
+
+Sbjct  417  atgaatatgtaatttat  433
+            |||||||||||||||||
+Query  494  atgaatatgtaatttat  510
+
+417 451 15 F 414 1360 1 726 35 91.58
+Sbjct  15   ttctccgcaancaagtggantccnnng-tgtnngaattcg-agttag-agcacggatttt  71
+            ||| ||| || ||| |||  |||   | |||   ||| || |||| |  |||||||||| 
+Query  1    ttc-ccg-aaacaantgggatcccttggtgttn-aat-cggagtttggngcacggattt-  56
+
+Sbjct  72   gtgtacccgtgagccacggaaac-actcccggatactacgatggacggtactggacaatg  130
+            |||| || |||||| |||| ||| ||||| ||||||||||||||||| ||||||||||||
+Query  57   gtgtncc-gtgagc-acggnaaccactccnggatactacgatggacgntactggacaatg  113
+
+Sbjct  131  tggaagcttccattgttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaa  190
+            |||||||||||||||| |||||||||||||||||||||||| |||||||||||||| |||
+Query  114  tggaagcttccattgtncggatgcaccgactccgctcaagtnttgaaggaagttgangaa  173
+
+Sbjct  191  tgcaagaaggagtacccgggcgccttcattaggatcatcggattcgacaacacccgtcaa  250
+            |||||||||| ||||||||||||||||||| |||||||||||||||||||||||||||||
+Query  174  tgcaagaaggngtacccgggcgccttcattnggatcatcggattcgacaacacccgtcaa  233
+
+Sbjct  251  gtccaatgcatcagtttcattgcctacaagcccccaagcttcaccgaagcttaatttctt  310
+            |||||||||||| |||||||||||||||||||||||||||||||||||||||||||||||
+Query  234  gtccaatgcatcngtttcattgcctacaagcccccaagcttcaccgaagcttaatttctt  293
+
+Sbjct  311  ttctaaaacattcttatgaattatctctgctcatttcatttcctattgtctgtgttcttt  370
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  294  ttctaaaacattcttatgaattatctctgctcatttcatttcctattgtctgtgttcttt  353
+
+Sbjct  371  ttctctttatgagacaatttctatcggattgtcaaatgtctgatttatgaatatgtaatt  430
+            ||||||||||||||||||||||||||| ||||||||||||||||||||| |||||| |||
+Query  354  ttctctttatgagacaatttctatcggnttgtcaaatgtctgatttatgnatatgtgatt  413
+
+Sbjct  431  t  431
+            |
+Query  414  t  414
+
+415 452 0 F 413 882 3 750 26 93.72
+Sbjct  0    cc-aaagnaaggancctagg-accnatcgcntccaatcgccatcggctnnatagtttggt  57
+            || |||| ||||| ||| ||  || ||||  |||||||||||||||||  ||| || |||
+Query  3    ccnaaag-aaggacccttgggncccatcg-ntccaatcgccatcggcttcatantt-ggt  59
+
+Sbjct  58   gcc-aacaatcctcg-cttnctgggtccattcagtgntggctccatgaatccagcaaggt  115
+            ||| |||| |||||| ||  ||||  |||| ||||| ||||||||||||||||||||| |
+Query  60   gcccaaca-tcctcggct-gctggncccatccagtggtggctccatgaatccagcaag-t  116
+
+Sbjct  116  cgttcggaccagctgttgncagtggtgacttgtccc-aaatctggatctattgggtggga  174
+            ||||||||||| |||||| ||||||||||||||||| |||||||||||||||||||||||
+Query  117  cgttcggacca-ctgttgtcagtggtgacttgtccccaaatctggatctattgggtggga  175
+
+Sbjct  175  ccacttgtgggtggtgcactcgcgggacttatctacggtgatgtgttcatcggttcttat  234
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  176  ccacttgtgggtggtgcactcgcgggacttatctacggtgatgtgttcatcggttcttat  235
+
+Sbjct  235  gaagcggtagaaacacgtgagatccgagtgtaattgactgggttttgtgattgcttgatg  294
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  236  gaagcggtagaaacacgtgagatccgagtgtaattgactgggttttgtgattgcttgatg  295
+
+Sbjct  295  gttggttgatgttttgtttgcgtgtgtatgtttggtgtccactttcttgcaagattgtat  354
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  296  gttggttgatgttttgtttgcgtgtgtatgtttggtgtccactttcttgcaagattgtat  355
+
+Sbjct  355  gtagagaaaagaaaaaaagttatgtcctgttaataagaaaatgtatatacatttcacttc  414
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  356  gtagagaaaagaaaaaaagttatgtcctgttaataagaaaatgtatatacatttcacttc  415
+
+424 454 70 F 432 1837 0 793 21 95.09
+Sbjct  70   agccccggatttgtgtaccgtgagcacggtaactcacccggatactatgatggacggtac  129
+            ||| | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  0    agcac-ggatttgtgtaccgtgagcacggtaactcacccggatactatgatggacggtac  58
+
+Sbjct  130  tggacaatgtggaagcttcccttggttcg-ttgcaccgactccgctcaagtgttgaagga  188
+            |||||||||||||||||||||||| | || ||||||||| ||||||||||| ||||||||
+Query  59   tggacaatgtggaagcttcccttg-tncggttgcaccgantccgctcaagtnttgaagga  117
+
+Sbjct  189  agtggaagagtgcaagaaggagtaccccaatgccttcattaggatcatcggattcgacaa  248
+            ||||||||||||||||||||||||||||||||||||||||||| ||||||||||||||||
+Query  118  agtggaagagtgcaagaaggagtaccccaatgccttcattaggntcatcggattcgacaa  177
+
+Sbjct  249  cacccgtcaagtccagtgcatcagtttcattgcctacaagccaccaagcttcaccggtta  308
+            ||||||||||||||||||||||| ||||||||||||||||||||||||||||||||||||
+Query  178  cacccgtcaagtccagtgcatcantttcattgcctacaagccaccaagcttcaccggtta  237
+
+Sbjct  309  atttccctttgcttttgtgtaaacctcaaaactttatcccccatctttgattttatccct  368
+            |||||||||||||||||||||||||||||||||||||||||||||||| |||||||||||
+Query  238  atttccctttgcttttgtgtaaacctcaaaactttatcccccatctttnattttatccct  297
+
+Sbjct  369  tgtttttctgcttttttcttctttcttgggttttaa-tttccggacttaacgtttgtttt  427
+            |||||||||||||||||||||||||||||||||||| |||||||||||||||||||||||
+Query  298  tgtttttctgcttttttcttctttcttgggttttaaatttccggacttaacgtttgtttt  357
+
+Sbjct  428  ccggtttgcg-ag-aca-tattctatcggatt-ctcaactgtctgatgaaataaata-tg  482
+            |||||||||| || ||| ||||||||||| || ||||||||||||||| |||||||| ||
+Query  358  ccggtttgcgnaggacaatattctatcggntttctcaactgtctgatgnaataaataatg  417
+
+Sbjct  483  -taa-tg-ttctat  493
+             ||| || ||||||
+Query  418  gtaantgnttctat  431
+
+453 460 27 F 452 1351 0 821 28 93.81
+Sbjct  27   aggaattccatta-gcttt-gacncccaagctccacgaagagatcaagctgtcttcaaga  84
+            |||||| | |||| |||||   | ||| |||||  ||||||  ||||||| |||||||||
+Query  0    aggaat-c-attaagcttttnncccccnagctcancgaaganntcaagctntcttcaaga  57
+
+Sbjct  85   aggntat-g-agggagctcccaagtttttgctccccaggctcagtgacttccaattcttt  142
+            ||| ||| | |||| || ||| |||||||| ||| |||||||||||||||||||||||||
+Query  58   agg-tattggagggngcaccctagtttttgttccncaggctcagtgacttccaattcttt  116
+
+Sbjct  143  gttggggagggtatgcatgatgacagcactttggtctttgcttactacaaggagggttca  202
+            |||||||||||||||||||||||||||||  ||||||||||| |||||||||| ||||||
+Query  117  gttggggagggtatgcatgatgacagcacnntggtctttgct-actacaagganggttca  175
+
+Sbjct  203  actaacccaacatttttgtacttcgctcatggtttgaaggaggtcaagtgctgagagaga  262
+             ||||||||||||||||||||| |||||||||||||||||||||||||||||||||||||
+Query  176  nctaacccaacatttttgtact-cgctcatggtttgaaggaggtcaagtgctgagagaga  234
+
+Sbjct  263  agctctcgttgggttactgtggtcggtcgcagcgactctctaagtttatgtttctttata  322
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  235  agctctcgttgggttactgtggtcggtcgcagcgactctctaagtttatgtttctttata  294
+
+Sbjct  323  ttgtcctgtgtttcgtcgtcgtcccctattaaaattacctgccagtttacttttctctct  382
+            |||||||||||||||||||||||||||||||||||||||| |||||||||||||||||||
+Query  295  ttgtcctgtgtttcgtcgtcgtcccctattaaaattacctnccagtttacttttctctct  354
+
+Sbjct  383  tcttgttttctgtgttggaagattctcaagttatttattccgcaaaaaacggtttatcat  442
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  355  tcttgttttctgtgttggaagattctcaagttatttattccgcaaaaaacggtttatcat  414
+
+Sbjct  443  ttacaattagttgaattttggtcgttactttttgtgt  479
+            |||||||||||||||||||||||||||||||||||||
+Query  415  ttacaattagttgaattttggtcgttactttttgtgt  451
+
+492 474 48 F 480 543 0 903 23 95.27
+Sbjct  48   tgccnttagtgccgttgaattggctaaggaagttgcttccttctccgcaacaagtggatc  107
+            |||| || |||| ||||||| ||||| ||| |||||| ||||| ||||| || |||| ||
+Query  0    tgcc-tt-gtgc-gttgaat-ggctaggga-gttgct-ccttcnccgca-ca-gtggttc  51
+
+Sbjct  108  ccttgtgttgaattcgagttggagcaccggattngtgtaccgtgagcacggaaccactcc  167
+            | ||||||||| ||||||||||| | | ||||| |||| ||||| |||||||||||||||
+Query  52   c-ttgtgttga-ttcgagttggaccnc-ggatttgtgtcccgtgggcacggaaccactcc  108
+
+Sbjct  168  cggatactatgatggacggtactggacaatgtggaagcttccattggttcggatgcaccg  227
+            | | ||||||||||| |||||||||||||||||||||||||||||| |||||||||||||
+Query  109  ccggtactatgatggncggtactggacaatgtggaagcttccattg-ttcggatgcaccg  167
+
+Sbjct  228  actccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtaccctggcgccttca  287
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  168  actccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtaccctggcgccttca  227
+
+Sbjct  288  ttaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctaca  347
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  228  ttaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctaca  287
+
+Sbjct  348  agcccccaagcttcaccgaagcttaatcccctttctggaatattcagcgttgattattct  407
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  288  agcccccaagcttcaccgaagcttaatcccctttctggaatattcagcgttgattattct  347
+
+Sbjct  408  ggaacccatttctatgtggtcaatgcaaatttaagaaattatttgccgacttaaaagttg  467
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  348  ggaacccatttctatgtggtcaatgcaaatttaagaaattatttgccgacttaaaagttg  407
+
+Sbjct  468  aggaactattgtttgaaagtgaaaatgttattcctatcagtttctctataattatagtta  527
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  408  aggaactattgtttgaaagtgaaaatgttattcctatcagtttctctataattatagtta  467
+
+Sbjct  528  tcatttcatttc  539
+            ||||||||||||
+Query  468  tcatttcatttc  479
+
+540 474 0 F 522 658 80 975 29 94.54
+Sbjct  0    tgaaggttgcccccaatcggaagagaagttgngcnctttcttcctccctgccnttagtgc  59
+            ||| ||||||||| | ||||||||||| |||  | ||| |||||||| |  | |||||| 
+Query  80   tga-ggttgcccc-a-tcggaagagaanttgaactctt-cttcctcc-tnnc-ttagtga  133
+
+Sbjct  60   cgttgaattggctaaggaagttgcttccttctccgcaacaagtggatcccttgtgttgaa  119
+            ||| || ||||||||||||||  || ||||||||||| || |||||| ||| ||||||| 
+Query  134  cgt-ga-ttggctaaggaagtgact-ccttctccgca-ca-gtggattcct-gtgttga-  187
+
+Sbjct  120  ttcgagttggagcaccggattngtgtaccgtgagcacggaaccactcccggatactatga  179
+            ||||||||||||||| ||||| |||||||||||||||||||| |||||||||||||||||
+Query  188  ttcgagttggagcac-ggatttgtgtaccgtgagcacggaac-actcccggatactatga  244
+
+Sbjct  180  tggacggtactggacaatgtggaagcttccattggttcggatgcaccgactccgctcaag  239
+            ||||||||||||||||||||||| |||||||||| |||||||||||||||||||||||||
+Query  245  tggacggtactggacaatgtgga-gcttccattg-ttcggatgcaccgactccgctcaag  302
+
+Sbjct  240  tgttgaaggaagttgaagaatgcaagaaggagtaccctggcgccttcattaggatcatcg  299
+            |||||||||||||||||||||||||||||||||||| |||||||||||||||||||||||
+Query  303  tgttgaaggaagttgaagaatgcaagaaggagtacc-tggcgccttcattaggatcatcg  361
+
+Sbjct  300  gattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagcccccaagct  359
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  362  gattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagcccccaagct  421
+
+Sbjct  360  tcaccgaagcttaatcccctttctggaatattcagcgttgattattctggaacccatttc  419
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  422  tcaccgaagcttaatcccctttctggaatattcagcgttgattattctggaacccatttc  481
+
+Sbjct  420  tatgtggtcaatgcaaatttaagaaattatttgccgacttaaaagttgaggaactattgt  479
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  482  tatgtggtcaatgcaaatttaagaaattatttgccgacttaaaagttgaggaactattgt  541
+
+Sbjct  480  ttgaaagtgaaaatgttattcctatcagtttctctataattatagttatcatttcatttc  539
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  542  ttgaaagtgaaaatgttattcctatcagtttctctataattatagttatcatttcatttc  601
+
+454 474 86 F 440 713 0 786 36 91.95
+Sbjct  86   ccttctccgcaacaagtggatccct-tgtgttgaattcgagttggagcaccggattngtg  144
+            ||  |||| | | ||| || ||||| | | || |||||| |||||  | |||| ||  | 
+Query  0    cc--ctccccna-aaggggctccctnt-t-tt-aattcg-gttgg--ccccgg-tt-ttt  48
+
+Sbjct  145  taccgtgagcacggaaccactcccggatactatgatggacggtactggac-aatgtggaa  203
+            | ||| | || ||||||| | ||| | | || || ||| ||||||||||| |||||||||
+Query  49   tcccg-gggcccggaacc-cnccccggttctntgntggccggtactggaccaatgtggaa  106
+
+Sbjct  204  gcttccattggttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgca  263
+            ||| |||| | |||||||||||||||||||||||||||||||||||||||||||||||||
+Query  107  gct-ccat-g-ttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgca  163
+
+Sbjct  264  agaaggagtaccctggcgccttcattaggatcatcggattcgacaacacccgtcaagtcc  323
+            ||||||||| ||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  164  agaaggagtcccctggcgccttcattaggatcatcggattcgacaacacccgtcaagtcc  223
+
+Sbjct  324  aatgcatcagtttcattgcctacaagcccccaagcttcaccgaagcttaatcccctttct  383
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  224  aatgcatcagtttcattgcctacaagcccccaagcttcaccgaagcttaatcccctttct  283
+
+Sbjct  384  ggaatattcagcgttgattattctggaacccatttctatgtggtcaatgcaaatttaaga  443
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  284  ggaatattcagcgttgattattctggaacccatttctatgtggtcaatgcaaatttaaga  343
+
+Sbjct  444  aattatttgccgacttaaaagttgaggaactattgtttgaaagtgaaaatgttattccta  503
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  344  aattatttgccgacttaaaagttgaggaactattgtttgaaagtgaaaatgttattccta  403
+
+Sbjct  504  tcagtttctctataattatagttatcatttcatttc  539
+            ||||||||||||||||||||||||||||||||||||
+Query  404  tcagtttctctataattatagttatcatttcatttc  439
+
+423 474 0 F 408 736 18 693 46 88.93
+Sbjct  0    tgaaggttgcccccaatcggaaga-gaagttgngcnctttctt-cctccctgccnttagt  57
+            ||| ||| ||||| ||| |||||| ||  ||| ||  |||||| || || |||| |||||
+Query  18   tga-ggt-gcccc-aat-ggaagaagat-ttg-gc-ttttcttnccncc-tgcc-ttagt  68
+
+Sbjct  58   gccgttgaattggctaaggaagttg-cttccttctccgcaacaagtggatcccttgtgtt  116
+            || || |||| |||||||||||||| || | ||||||||||||||||||||| |||||||
+Query  69   gc-gtcgaat-ggctaaggaagttgactnc-ttctccgcaacaagtggatccnttgtgtt  125
+
+Sbjct  117  gaattcgagttggagcaccggattngtgtaccgtgagcacggaaccactcccggatacta  176
+            ||||||||||| |||||| ||||| ||||||||||||||||||| |||||||||||||||
+Query  126  gaattcgagttagagcac-ggatttgtgtaccgtgagcacggaaacactcccggatacta  184
+
+Sbjct  177  tgatggacggtactggacaatgtggaagcttccattggttcggatgcaccgactccgctc  236
+             |||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||
+Query  185  cgatggacggtactggacaatgtggaagcttccattg-ttcggatgcaccgactccgctc  243
+
+Sbjct  237  aagtgttgaaggaagttgaagaatgcaagaaggagtaccctggcgccttcattaggatca  296
+            |||||||||||||||||||||||||||||||||||||||| |||||||||||||||||||
+Query  244  aagtgttgaaggaagttgaagaatgcaagaaggagtacccgggcgccttcattaggatca  303
+
+Sbjct  297  tcggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagcccccaa  356
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  304  tcggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagcccccaa  363
+
+Sbjct  357  gcttcaccgaagcttaatcccctttctggaatattcagcgttga-ttat-tctggaaccc  414
+            ||||||||||||||||||  | |||||  || ||||    | || |||| ||||   | |
+Query  364  gcttcaccgaagcttaatttcttttctaaaacattctta-t-gaattatctctg---ctc  418
+
+Sbjct  415  atttctat  422
+            ||||| ||
+Query  419  atttc-at  425
+
+435 474 105 F 433 798 0 811 19 95.62
+Sbjct  105  atcccttgtgttg-aattcgagttggagcaccggattngtgtaccgtgagcacgg-aacc  162
+            ||||||||| ||| ||||||  ||||| ||| || || |||| |||||||||||| ||||
+Query  0    atcccttgt-ttggaattcgtnttggancac-ggntt-gtgttccgtgagcacggnaacc  56
+
+Sbjct  163  actcccggatactatgatggacggtactggacaatgtggaagcttccattggttcggatg  222
+             ||||||  ||||||||||||||||| |||||||||||||||||||| ||| ||||||||
+Query  57   -ctcccgnntactatgatggacggtantggacaatgtggaagcttccnttg-ttcggatg  114
+
+Sbjct  223  caccgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtaccctggcgc  282
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  115  caccgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtaccctggcgc  174
+
+Sbjct  283  cttcattaggatcatcggatt-cgacaacacccgtcaagtccaatgcatcagtttcattg  341
+            ||||||||||||||||||||| ||||||||||||||||||||||||||||||||||||||
+Query  175  cttcattaggatcatcggatttcgacaacacccgtcaagtccaatgcatcagtttcattg  234
+
+Sbjct  342  cctacaagcccccaagcttcaccgaagcttaatcccctttctggaatattcagcgttgat  401
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  235  cctacaagcccccaagcttcaccgaagcttaatcccctttctggaatattcagcgttgat  294
+
+Sbjct  402  tattctggaacccatttctatgtggtcaatgcaaatttaagaaattatttgccgacttaa  461
+            |||||||||||||||||||||||||||||| |||||||||||||||||||||||||||||
+Query  295  tattctggaacccatttctatgtggtcaatncaaatttaagaaattatttgccgacttaa  354
+
+Sbjct  462  aagttgaggaactattgtttgaaagtgaaaatgttattcctatcagtttctctataatta  521
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  355  aagttgaggaactattgtttgaaagtgaaaatgttattcctatcagtttctctataatta  414
+
+Sbjct  522  tagttatcatttcatttc  539
+            |||||| |||||||||||
+Query  415  tagttaccatttcatttc  432
+
+480 474 35 F 479 826 2 914 15 96.87
+Sbjct  35   ctttcttcctccctgccnttagtgccgttgaattggctaaggaagttgcttcc-ttctcc  93
+            ||||||||| ||||||| |||||| |||||||||||||| ||||||||||||| ||||||
+Query  2    ctttcttccnccctgcccttagtgncgttgaattggctagggaagttgcttcccttctcc  61
+
+Sbjct  94   g-caacaagtggatcccttgtgttgaattcgagttggagcaccggattngtgtaccgtga  152
+            | |||||||||||||| ||||||||||||||||||||||| | ||||| |||| ||||||
+Query  62   ggcaacaagtggatcc-ttgtgttgaattcgagttggagcnc-ggatttgtgtnccgtga  119
+
+Sbjct  153  gcacggaaccactcccggatactatgatggacggtactggacaatgtggaagcttccatt  212
+            |||||||| |||||||||||||||||||||||| ||||||||||||||||||||||||||
+Query  120  gcacggaaacactcccggatactatgatggacgatactggacaatgtggaagcttccatt  179
+
+Sbjct  213  ggttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagt  272
+            | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  180  g-ttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagt  238
+
+Sbjct  273  accctggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatca  332
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  239  accctggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatca  298
+
+Sbjct  333  gtttcattgcctacaagcccccaagcttcaccgaagcttaatcccctttctggaatattc  392
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  299  gtttcattgcctacaagcccccaagcttcaccgaagcttaatcccctttctggaatattc  358
+
+Sbjct  393  agcgttgattattctggaacccatttctatgtggtcaatgcaaatttaagaaattatttg  452
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  359  agcgttgattattctggaacccatttctatgtggtcaatgcaaatttaagaaattatttg  418
+
+Sbjct  453  ccgacttaaaagttgaggaactattgtttgaaagtgaaaatgttattcctatcagtttct  512
+            ||||||||| ||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  419  ccgacttaacagttgaggaactattgtttgaaagtgaaaatgttattcctatcagtttct  478
+
+Sbjct  513  ct  514
+            ||
+Query  479  ct  480
+
+423 474 0 F 418 846 114 685 52 87.63
+Sbjct  0    tgaaggt-t-gcccccaatcggaagagaagt-tgng-cnctttctt-cctccctgccntt  54
+            ||||||| | ||| ||| | ||||||||||| || | | || |||| |||||||| | ||
+Query  114  tgaaggtgtngccacca-ttggaagagaagtntgagactctatcttacctccctgac-tt  171
+
+Sbjct  55   agtgccgttgaattggctaaggaagttg-cttccttctccgcaacaagtggat-cccttg  112
+            |||| ||| || ||||| | |||||||| || ||||| ||||| || |||||| |||| |
+Query  172  agtgacgtcga-ttggcna-ggaagttgactaccttcaccgcanca-gtggattccct-g  227
+
+Sbjct  113  tgttgaattcgagttggagcaccggattngtgtaccgtgagcacggaaccactcccggat  172
+            ||||||||||||||| |||||| ||||| ||||||||||||||||||| |||||||||||
+Query  228  tgttgaattcgagttagagcac-ggatttgtgtaccgtgagcacggaaacactcccggat  286
+
+Sbjct  173  actatgatggacggtactggacaatgtggaagcttccattggttcggatgcaccgactcc  232
+            |||| |||||||||||||||||||||||||||||||||||| ||||||||||||||||||
+Query  287  actacgatggacggtactggacaatgtggaagcttccattg-ttcggatgcaccgactcc  345
+
+Sbjct  233  gctcaagtgttgaaggaagttgaagaatgcaagaaggagtaccctggcgccttcattagg  292
+            |||||||||||||||||||||||||||||||||||||| ||||| ||||| |||||||||
+Query  346  gctcaagtgttgaaggaagttgaagaatgcaagaaggantacccgggcgcnttcattagg  405
+
+Sbjct  293  atcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagccc  352
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  406  atcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagccc  465
+
+Sbjct  353  ccaagcttcaccgaagcttaatcccctttctggaatattcagcgttga-ttat-tctgga  410
+            ||||||||||||||||||||||  | |||||  || ||||    | || |||| ||||  
+Query  466  ccaagcttcaccgaagcttaatttcttttctaaaacattctta-t-gaattatctctg--  522
+
+Sbjct  411  acccatttctat  422
+             | |||||| ||
+Query  523  -ctcatttc-at  531
+
+422 474 118 F 417 849 0 758 27 93.56
+Sbjct  118  aattcgagttggagcaccggattngtgt-accgtgagcacggaaccactcccggatacta  176
+            ||||||||||||||||| ||||| |||| | |||||||||||| | ||||||||||||||
+Query  0    aattcgagttggagcac-ggatttgtgtcaacgtgagcacgganc-actcccggatacta  57
+
+Sbjct  177  tgatggacggtactggacaatgtggaagcttccattggttcggatgcaccgactccgctc  236
+            || ||| || ||||||||| |||||| ||| | |||    ||||||||||||||||||||
+Query  58   tgntggncgatactggacantgtgga-gctncnatt--nccggatgcaccgactccgctc  114
+
+Sbjct  237  aagtgttgaaggaagttgaagaatgcaagaaggagtaccctggcgccttcattaggatca  296
+            |||||||||||||||||||||||||| |||||| || |||||||||||||||| ||||||
+Query  115  aagtgttgaaggaagttgaagaatgcnagaaggngtnccctggcgccttcattnggatca  174
+
+Sbjct  297  tcggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagcccccaa  356
+            ||||||||| | || |||||||||||||||||||||||||||||||||||||||||||||
+Query  175  tcggattcgncnacncccgtcaagtccaatgcatcagtttcattgcctacaagcccccaa  234
+
+Sbjct  357  gcttcaccgaagcttaatcccctttctggaatattcagcgttgattattctggaacccat  416
+            |||||||||||||||| ||||||||| |||||||||||||||||||||||||||||||||
+Query  235  gcttcaccgaagctta-tcccctttcnggaatattcagcgttgattattctggaacccat  293
+
+Sbjct  417  ttctatgtggtcaatgcaaatttaagaaattatttgccgacttaaaagttgaggaactat  476
+            ||||||||||||||||||||||||||||||||||||||||||||| ||||||||||||||
+Query  294  ttctatgtggtcaatgcaaatttaagaaattatttgccgacttaacagttgaggaactat  353
+
+Sbjct  477  tgtttgaaagtgaaaatgttattcctatcagtttctctataattatagttatcatttcat  536
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  354  tgtttgaaagtgaaaatgttattcctatcagtttctctataattatagttatcatttcat  413
+
+Sbjct  537  ttc  539
+            |||
+Query  414  ttc  416
+
+488 474 47 F 483 912 0 932 13 97.32
+Sbjct  47   ctgccnttagtgccgttgaattggctaaggaagttgcttccttctccgcaacaagtggat  106
+            ||||| ||||||||||||| |||||||||||  ||||||||||| |||||||||||||||
+Query  0    ctgcc-ttagtgccgttga-ttggctaaggagnttgcttccttc-ccgcaacaagtggat  56
+
+Sbjct  107  cccttgtgttgaattcgagttggagcaccggattngtgtaccgtgagcacggaaccactc  166
+             ||||||||||||||||||||||||||| |||||  ||||||||| |||||||||| |||
+Query  57   tccttgtgttgaattcgagttggagcac-ggatttntgtaccgtgggcacggaacc-ctc  114
+
+Sbjct  167  ccggatactatgatggacggtactggacaatgtggaagcttcc-attggttcggatgcac  225
+            ||||||||||||||||||||||||||||||||||||||||||| |||| |||||||||||
+Query  115  ccggatactatgatggacggtactggacaatgtggaagcttcccattg-ttcggatgcac  173
+
+Sbjct  226  cgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtaccctggcgcctt  285
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  174  cgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtaccctggcgcctt  233
+
+Sbjct  286  cattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattgccta  345
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  234  cattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattgccta  293
+
+Sbjct  346  caagcccccaagcttcaccgaagcttaatcccctttctggaatattcagcgttgattatt  405
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  294  caagcccccaagcttcaccgaagcttaatcccctttctggaatattcagcgttgattatt  353
+
+Sbjct  406  ctggaacccatttctatgtggtcaatgcaaatttaagaaattatttgccgacttaaaagt  465
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  354  ctggaacccatttctatgtggtcaatgcaaatttaagaaattatttgccgacttaaaagt  413
+
+Sbjct  466  tgaggaactattgtttgaaagtgaaaatgttattcctatcagtttctctataattatagt  525
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  414  tgaggaactattgtttgaaagtgaaaatgttattcctatcagtttctctataattatagt  473
+
+Sbjct  526  tatcatttc  534
+            |||||||||
+Query  474  tatcatttc  482
+
+407 474 57 F 407 988 0 664 50 87.71
+Sbjct  57   tgccgttgaattggctaaggaagttgcttccttctccgcaa-caagtggatcccttgtgt  115
+            ||| || |||||||| | ||| ||| || ||||||||| || || | ||  |||| ||||
+Query  0    tgc-gtcgaattggcnangga-gttactaccttctccgnaaacagggggncccctggtgt  57
+
+Sbjct  116  tgaattcgagtt-ggagcaccggat-tngtgtaccgtgagcacggaaccactcccggata  173
+             || |||||||| ||||||| |||| | |||||||||||||||||||| |||||||||||
+Query  58   ngacttcgagtttggagcacgggatcttgtgtaccgtgagcacggaac-actcccggata  116
+
+Sbjct  174  ctatgatggacggtactggacaatgtggaagcttccattggttcggatgcaccgactccg  233
+            ||| |||||||||||||||||||||||||||||||||||| ||||||||||||||||| |
+Query  117  ctacgatggacggtactggacaatgtggaagcttccattg-ttcggatgcaccgactctg  175
+
+Sbjct  234  ctcaagtgttgaaggaagttgaagaatgcaagaaggagtaccctggcgccttcattagga  293
+            ||||||| ||||||||||||||||||||||||||||||||||| ||||||||||||||||
+Query  176  ctcaagtattgaaggaagttgaagaatgcaagaaggagtacccgggcgccttcattagga  235
+
+Sbjct  294  tcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagcccc  353
+            ||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||
+Query  236  tcatcggattcgacaacacccgtcaagtccagtgcatcagtttcattgcctacaagcccc  295
+
+Sbjct  354  caagcttcaccgaagcttaa-tcccctttctggaatattcagcgttgattattctggaac  412
+            |||||||||| || |||||| |||  |||||||||||||||  ||||| ||| | |||||
+Query  296  caagcttcactgatgcttaaatcc-ttttctggaatattcaatgttgactatcc-ggaac  353
+
+Sbjct  413  ccatttctatgtggtcaatgcaaatttaagaaattattt-gccga-cttaaaa  463
+            ||| || | | |||||||||   ||||||| |||||||| ||| |  | ||||
+Query  354  ccaattttgtatggtcaatgtnnatttaagtaattattttgccaaagtgaaaa  406
+
+419 474 45 F 417 1049 0 722 38 90.91
+Sbjct  45   ccctgccnttagtgccgttgaattggctaaggaagttgcttccttctccgcaacaagtgg  104
+            || |||| ||  |||||| |||||| |||||||||||||| ||||||||||||||| |||
+Query  0    ccttgccnttnntgccgtcgaattg-ctaaggaagttgctaccttctccgcaacaa-tgg  57
+
+Sbjct  105  atcccttgtgttgaattcgagttggagcaccggattngtgtaccgtgagcacggaaccac  164
+            ||||||||||||||| |||||||||||| | ||||| ||||||||||||||||||| |||
+Query  58   atcccttgtgttgaantcgagttggagcnc-ggatttgtgtaccgtgagcacggaancac  116
+
+Sbjct  165  tcccgg-atactatgatggacggtactggacaatgtggaagcttccattggttcggatgc  223
+            |||||| |||||| |||||||||||||||||||||||||||||||||||| |||||||||
+Query  117  tcccgggatactacgatggacggtactggacaatgtggaagcttccattg-ttcggatgc  175
+
+Sbjct  224  accgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtaccctggcgcc  283
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||| ||||||
+Query  176  accgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtacccgggcgcc  235
+
+Sbjct  284  ttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattgcc  343
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  236  ttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattgcc  295
+
+Sbjct  344  tacaagcccccaagcttcaccgaagcttaa-tcccctttctggaatattcagcgttgatt  402
+            |||||||||||||||||||| || |||||| |||  |||||||||||||||  ||||| |
+Query  296  tacaagcccccaagcttcactgatgcttaaatcc-ttttctggaatattcaatgttgact  354
+
+Sbjct  403  attctggaacccatttctatgtggtcaatgcaaatttaagaaattattt-gccga-ctta  460
+            || | |||||||| || | | ||||||||| ||||||||| |||||||| ||| |  | |
+Query  355  at-ccggaacccaattttgtatggtcaatgtaaatttaagtaattattttgccaaagtga  413
+
+Sbjct  461  aaa  463
+            |||
+Query  414  aaa  416
+
+453 474 87 F 444 1120 0 798 33 92.64
+Sbjct  87   cttctccgcaacaagtggatcccttgtgttgaattcgagttggagcaccggattngtgta  146
+            |||| |||||||| | || ||||| | |||||||| | ||||| |  |||| || || | 
+Query  0    cttc-ccgcaacagg-gg-tccct-gggttgaattngngttgg-gncccggntttgtttc  54
+
+Sbjct  147  ccgtgagcacggaaccactcccggatactatgatggacggtactggacaatgtggaagct  206
+            |||||  | ||||||| | ||||| | ||||| ||| |||| |||| |||||||||||||
+Query  55   ccgtggncccggaacc-cncccggntnctatgntggccggtnctggccaatgtggaagct  113
+
+Sbjct  207  tccattggttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaaga  266
+             |||||| ||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  114  -ccattg-ttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaaga  171
+
+Sbjct  267  aggagtaccctggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaat  326
+            |||||| |||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  172  aggagtnccctggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaat  231
+
+Sbjct  327  gcatcagtttcattgcctacaagcccccaagcttcaccgaagcttaatcccctttctgga  386
+            ||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||
+Query  232  gcatcagtttcattgcctacaagcccccaag-ttcaccgaagcttaatcccctttctgga  290
+
+Sbjct  387  atattcagcgttgattattctggaacccatttctatgtggtcaatgcaaatttaagaaat  446
+            |||||||||||||||||||||||||||| |||||||||||||||||||||||||||||||
+Query  291  atattcagcgttgattattctggaacccntttctatgtggtcaatgcaaatttaagaaat  350
+
+Sbjct  447  tatttgccgacttaaaagttgaggaactattgtttgaaagtgaaaatgttattcctatca  506
+            ||||||||||||| ||||||||||||||||||||||||||||||||||||||||||||||
+Query  351  tatttgccgacttnaaagttgaggaactattgtttgaaagtgaaaatgttattcctatca  410
+
+Sbjct  507  gtttctctataattatagttatcatttcatttc  539
+            |||||||| ||||||||||||||||||||||||
+Query  411  gtttctctntaattatagttatcatttcatttc  443
+
+422 474 1 F 425 1230 2 679 56 86.78
+Sbjct  1    gaaggttgccccc-aatcggaa-ga-gaagtt-gngcncttt-cttcctccctg-ccntt  54
+            |||| | |||||| ||| |||| || ||| || | || |||| ||||| ||||| || ||
+Query  2    gaagnt-gccccccaattggaaagaagaantttgggc-cttttcttccnccctggccttt  59
+
+Sbjct  55   agtgccgttg-aattggctaaggaagttg-cttccttctccgcaacaagtggatcccttg  112
+            ||| || | | |||||||||||||||||| || | ||||| ||||||| ||| |||||||
+Query  60   agtnccntcggaattggctaaggaagttgactccnttctcngcaacaaatggntcccttg  119
+
+Sbjct  113  tgttgaattcgagttggagcaccggattngtgtaccgtgagcacggaaccactcccggat  172
+            ||||||||||||||| | || | ||||| |||| |||||||| ||||| |||||||||||
+Query  120  tgttgaattcgagttagggcnc-ggatttgtgtcccgtgagcccggaaacactcccggat  178
+
+Sbjct  173  actatgatggac-ggtactggacaat-gtggaagcttcc-attggttcggatgcaccgac  229
+            |||| ||||||| ||||||||||||| |||||||||||| |||| |||||||||||||||
+Query  179  actacgatggaccggtactggacaattgtggaagcttcccattg-ttcggatgcaccgac  237
+
+Sbjct  230  tccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtaccctggcgccttcatt  289
+            ||||||||||||||||||||||||||||||||||||||||||||||| ||||||||||||
+Query  238  tccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtacccgggcgccttcatt  297
+
+Sbjct  290  aggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaag  349
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  298  aggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaag  357
+
+Sbjct  350  cccccaagcttcaccgaagcttaatcccctttctggaatattcagcgttga-ttat-tct  407
+            |||||||||||||||||||||||||  | |||||  || ||||    | || |||| |||
+Query  358  cccccaagcttcaccgaagcttaatttcttttctaaaacattctta-t-gaattatctct  415
+
+Sbjct  408  ggaacccatttctat  422
+            |   | |||||| ||
+Query  416  g---ctcatttc-at  426
+
+500 474 40 F 475 1297 0 852 41 91.59
+Sbjct  40   ttcctccctgccnttagtgccgttgaattggctaaggaagttgcttccttctccgcaaca  99
+            |||| ||||||| |||| || || || | | ||| | | || ||| | ||| |||||  |
+Query  0    ttcc-ccctgcc-ttag-gc-gt-ga-t-gncta-gna-gt-gctnc-ttc-ccgcan-a  46
+
+Sbjct  100  agtggatcccttgtgttgaattcgagttggagcaccggattngtgtaccgtgagcacgga  159
+             |||  ||| || |||||||| ||||| || || | |||||  | | ||||| ||||| |
+Query  47   -gtgn-tcc-ttntgttgaat-cgagt-ggngcnc-ggatt-tttttccgtgngcacgna  99
+
+Sbjct  160  accactcccggatactatgatggacggtactggacaatgtggaagcttccattggttcgg  219
+            || |||||||| | ||||||||| |||||||||| ||||||||||||||||||| |||||
+Query  100  ac-actcccgg-tnctatgatggccggtactgga-aatgtggaagcttccattg-ttcgg  155
+
+Sbjct  220  atgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtaccctgg  279
+            ||||||||| |||| |||||||||||||||||||||||||||||||||||||||||||||
+Query  156  atgcaccga-tccgntcaagtgttgaaggaagttgaagaatgcaagaaggagtaccctgg  214
+
+Sbjct  280  cgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcat  339
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  215  cgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcat  274
+
+Sbjct  340  tgcctacaagcccccaagcttcaccgaagcttaatcccctttctggaatattcagcgttg  399
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  275  tgcctacaagcccccaagcttcaccgaagcttaatcccctttctggaatattcagcgttg  334
+
+Sbjct  400  attattctggaacccatttctatgtggtcaatgcaaatttaagaaattatttgccgactt  459
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  335  attattctggaacccatttctatgtggtcaatgcaaatttaagaaattatttgccgactt  394
+
+Sbjct  460  aaaagttgaggaactattgtttgaaagtgaaaatgttattcctatcagtttctctataat  519
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  395  aaaagttgaggaactattgtttgaaagtgaaaatgttattcctatcagtttctctataat  454
+
+Sbjct  520  tatagttatcatttcatttc  539
+            ||||||||||||||||||||
+Query  455  tatagttatcatttcatttc  474
+
+447 474 68 F 436 1327 0 775 36 91.85
+Sbjct  68   tggctaaggaagttg-cttccttctccgcaacaagtggatcccttgtgttgaattcgagt  126
+            |||||| |||| ||| || ||||| ||| ||||  ||| ||| || | |||||||||  |
+Query  0    tggcta-ggaa-ttgact-ccttc-ccg-aaca-ntggntcc-tt-ttttgaattcgntt  51
+
+Sbjct  127  tggagcaccggattngtgtaccgtgagcacggaaccactcccggatactatgatggacgg  186
+            ||| || | || ||  |   ||||| || || ||| ||||| || |||| |||||| |||
+Query  52   tggngcnc-ggntttttnncccgtgngcncgnaac-actccngg-tactntgatggncgg  108
+
+Sbjct  187  tactggacaatgtggaagcttccattggttcggatgcaccgactccgctcaagtgttgaa  246
+            ||||||||| | ||||||||||||||| ||||||||||||||||||||||||||||||||
+Query  109  tactggacattntggaagcttccattg-ttcggatgcaccgactccgctcaagtgttgaa  167
+
+Sbjct  247  ggaagttgaagaatgcaagaaggagtaccctggcgccttcattaggatcatcggattcga  306
+            |||| ||||||||||||||||||| |||||||||||||||||||||||||||||||||||
+Query  168  ggaanttgaagaatgcaagaaggantaccctggcgccttcattaggatcatcggattcga  227
+
+Sbjct  307  caacacccgtcaagtccaatgcatcagtttcattgcctacaagcccccaagcttcaccga  366
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  228  caacacccgtcaagtccaatgcatcagtttcattgcctacaagcccccaagcttcaccga  287
+
+Sbjct  367  agcttaatcccctttctggaatattcagcgttgattattctggaacccatttctatgtgg  426
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  288  agcttaatcccctttctggaatattcagcgttgattattctggaacccatttctatgtgg  347
+
+Sbjct  427  tcaatgcaaatttaagaaattatttgccgacttaaaagttgaggaactattgtttgaaag  486
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  348  tcaatgcaaatttaagaaattatttgccgacttaaaagttgaggaactattgtttgaaag  407
+
+Sbjct  487  tgaaaatgttattcctatcagtttctct  514
+            ||||||||||||||||||||||||||||
+Query  408  tgaaaatgttattcctatcagtttctct  435
+
+409 480 46 F 398 926 0 744 21 94.80
+Sbjct  46   gatctggagctccttattacgctcatggatatcaaactgttcccagtcccatggtggtgt  105
+            ||| ||||| || | || ||| ||| ||| |||||||||| || | ||| |||||| |||
+Query  0    gatttggag-tcnt-ataacg-tcaggga-atcaaactgt-cc-antcc-atggtg-tgt  51
+
+Sbjct  106  tgctgaaggaagacctgtcagacaacgtcgccttccttgctgtggaattggtcttggatg  165
+             ||||||||| ||||| |||||||| ||| | |||||||||| ||||||| |||||||||
+Query  52   -gctgaagga-gacctntcagacaa-gtcnctttccttgctggggaattgttcttggatg  108
+
+Sbjct  166  gttcctgttcattgttggatttttccttggagcaatcccttggtatgtcggattgttcat  225
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  109  gttcctgttcattgttggatttttccttggagcaatcccttggtatgtcggattgttcat  168
+
+Sbjct  226  catgatgtttggaaggagaatcgattacagggagaaaccaggatacattgcctgcactat  285
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  169  catgatgtttggaaggagaatcgattacagggagaaaccaggatacattgcctgcactat  228
+
+Sbjct  286  cgctgctattctagcaacaatcgctgtgattctgggtgtatctaaaggagcagacgactg  345
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  229  cgctgctattctagcaacaatcgctgtgattctgggtgtatctaaaggagcagacgactg  288
+
+Sbjct  346  gtgatggatcaatcatcttgtggggttactctaaaaatgtttgtataggtttctttatcg  405
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  289  gtgatggatcaatcatcttgtggggttactctaaaaatgtttgtataggtttctttatcg  348
+
+Sbjct  406  tgtgttgtattatctacttccttttttacttactctatgaagaaacaag  454
+            |||||||||||||||||||||||||||||||||||||||||||||||||
+Query  349  tgtgttgtattatctacttccttttttacttactctatgaagaaacaag  397
+
+425 489 0 F 429 1339 12 806 16 96.25
+Sbjct  0    ggaaaacccc-gtggagct-tgg-agcttaggtgaggatcaattcca-gctggaaggag-  55
+            || ||||||| |||||||| |||  |||||| |||| |||| || || ||||||||||| 
+Query  12   gggaaaccccngtggagctntgggngcttagntgag-atcattttcatgctggaaggaga  70
+
+Sbjct  56   cttttgaagtgatcgatggtccct-agttgtaaataaa-gctgtgtgggattttgcctgt  112
+            |||| ||||||||||||||||||| ||||||||||||| ||||||| ||||||||| |||
+Query  71   cttt-gaagtgatcgatggtcccttagttgtaaataaaagctgtgttggattttgc-tgt  128
+
+Sbjct  113  tgggggatggtacaagtcacacctcaagctctatgcattggtatctcatgagcctctctt  172
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  129  tgggggatggtacaagtcacacctcaagctctatgcattggtatctcatgagcctctctt  188
+
+Sbjct  173  ccatagagagtttctcttttaattttgtcgaaataaaaaaggtgtgatgaagtaaataga  232
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  189  ccatagagagtttctcttttaattttgtcgaaataaaaaaggtgtgatgaagtaaataga  248
+
+Sbjct  233  ggtataataatatctatctattaagtcttgttttgttctttcatttttgtatttcttttc  292
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  249  ggtataataatatctatctattaagtcttgttttgttctttcatttttgtatttcttttc  308
+
+Sbjct  293  tatttaaaagacagtttattagtcttctgagctctctttttgatctttgttatagcgtat  352
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  309  tatttaaaagacagtttattagtcttctgagctctctttttgatctttgttatagcgtat  368
+
+Sbjct  353  catcaccctcgaaagtgtaatgttttgtacccccaaacttgtttagcattataataaagt  412
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  369  catcaccctcgaaagtgtaatgttttgtacccccaaacttgtttagcattataataaagt  428
+
+Sbjct  413  ctctttggaact  424
+            ||||||||||||
+Query  429  ctctttggaact  440
+
+409 522 41 F 410 1134 0 723 32 92.19
+Sbjct  41   gtttncccaaggatggtatgagtccccactcgaggac-nattatag-cgaaggagatgta  98
+            |||| |||  | ||| ||||||| | |||||| ||||  | ||||| ||||||||||| |
+Query  0    gtttgcccncgnatgntatgagttcacactcg-ggacccactataggcgaaggagatgaa  58
+
+Sbjct  99   tggtgtgtttgagctactcagaactc-gggatttcgttctcgaagtcaccgcctttcgtg  157
+            || ||||  |||||||| |||||||| |||||  || |||||||||||||||||||||||
+Query  59   tg-tgtgnntgagctacncagaactccgggatcncgctctcgaagtcaccgcctttcgtg  117
+
+Sbjct  158  tcaatgagtatgtgtgcccaaaaaagatttccctttcatcagcgatcttgcaggtagctt  217
+            |||||||||||||||| ||||||||||||||||| ||||||||| |||||||||||||||
+Query  118  tcaatgagtatgtgtgaccaaaaaagatttccctatcatcagcgntcttgcaggtagctt  177
+
+Sbjct  218  tccaaagttaaaattttatgtaggggtctcttaaccattctctctcttgcattggttgtc  277
+            ||||||||   | |  ||||||||||||||||||||||||||||||| ||||||||||||
+Query  178  tccaaagtcnnactcntatgtaggggtctcttaaccattctctctctcgcattggttgtc  237
+
+Sbjct  278  tctgttctagtagtgttttgagtgaaatttcaggttcctatgtttggatgtggataagta  337
+            |||||||||||||||||||||||||||| |||||||||||||||||||||||||||||||
+Query  238  tctgttctagtagtgttttgagtgaaatctcaggttcctatgtttggatgtggataagta  297
+
+Sbjct  338  tttgacgattataataacctctgagtgggaaactctttgtttgagtggtagctaggttca  397
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  298  tttgacgattataataacctctgagtgggaaactctttgtttgagtggtagctaggttca  357
+
+Sbjct  398  aaagtagagttgtatatacttttatcttcatcaggataattatgtttatttg  449
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  358  aaagtagagttgtatatacttttatcttcatcaggataattatgtttatttg  409
+
+406 530 14 F 398 1343 30 735 23 94.28
+Sbjct  14   cccagaaaatggcccattggggagagcccgaggacttgctttaccccgntggcagcttcg  73
+            ||||| ||||||||  |||||  | ||| | |  |||  ||| ||||| |||||| ||||
+Query  30   cccaggaaatggcc-nttgggnng-gccng-gn-ctt--ttttccccggtggcag-ttcg  82
+
+Sbjct  74   acccattgggtttggctcccgccccagaggcattcgctgagttgaaggtgaaggagctca  133
+             |||||||| ||||||||||| ||||| |||||||||||||||||||||||||| |||||
+Query  83   ccccattggttttggctcccgncccag-ggcattcgctgagttgaaggtgaaggngctca  141
+
+Sbjct  134  agaacggaagattggctatgttctctatgtttggattcttcgttcaagccatcgtcactg  193
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  142  agaacggaagattggctatgttctctatgtttggattcttcgttcaagccatcgtcactg  201
+
+Sbjct  194  gtaagggaccgatagaganccttgctgaccatttggccgatccagttaacaacaacgcat  253
+            |||||||||||||||||| |||||||||||||||||||||||||||| ||||||||||||
+Query  202  gtaagggaccgatagaganccttgctgaccatttggccgatccagttnacaacaacgcat  261
+
+Sbjct  254  gggccttcgccaccaactttgttcccggaaagtgagccaagttttatctgtattttgctt  313
+            ||||||||||| ||||||||||||||||||||||||||||||||||||||||||||||||
+Query  262  gggccttcgccnccaactttgttcccggaaagtgagccaagttttatctgtattttgctt  321
+
+Sbjct  314  cagtctttgcttcgtgagtgtgagaggagaaagagagcttgtttagatgtaaaatttgca  373
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  322  cagtctttgcttcgtgagtgtgagaggagaaagagagcttgtttagatgtaaaatttgca  381
+
+Sbjct  374  agactttgtattttttttcattaatcaaataactcgtttttctctc  419
+            ||||||||||||||||||||||||||||||||||||||||||||||
+Query  382  agactttgtattttttttcattaatcaaataactcgtttttctctc  427
+
+422 536 58 F 414 1082 12 755 27 93.54
+Sbjct  58   cccangcaattctctgtagcctgtgcactcgagcgttggancgaactcatacaagcccag  117
+            |||| || || | | ||||| |  || | |  || ||||  ||| | ||| ||| ||| |
+Query  12   ccca-gccat-cccngtagc-t-ngccccccggcnttgggccga-cccatncaa-ccc-g  64
+
+Sbjct  118  agattactgtagacttggaagactatgggtgcagagagaggacatttgagtctctaggag  177
+             |||| |||||| || ||||| ||||||||||||||||||| ||||||||||||||||||
+Query  65   ngattnctgtagnct-ggaagcctatgggtgcagagagaggncatttgagtctctaggag  123
+
+Sbjct  178  aagagagtggaacagtgatgtatcagacgtttgagaagcttggtaagtactgtggatcgc  237
+            ||||||||||||||||||||| ||||||||||||||||||||||||||||||||||||||
+Query  124  aagagagtggaacagtgatgtntcagacgtttgagaagcttggtaagtactgtggatcgc  183
+
+Sbjct  238  ctagatctaccttgaagtgtgaatggagcagcaacaatagctgcagcagcgaggacgaga  297
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  184  ctagatctaccttgaagtgtgaatggagcagcaacaatagctgcagcagcgaggacgaga  243
+
+Sbjct  298  aggacgagggaatctagcagaatttttcttcctaataactattttcgagctttctgtttt  357
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  244  aggacgagggaatctagcagaatttttcttcctaataactattttcgagctttctgtttt  303
+
+Sbjct  358  tgttctttctttttaaaaaacttattaagttcttatgaataatgacttgtgaagtttgag  417
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  304  tgttctttctttttaaaaaacttattaagttcttatgaataatgacttgtgaagtttgag  363
+
+Sbjct  418  ttcgtctccttcacaagcaagttgtattggtgttttctactttatgaatatgggttttat  477
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  364  ttcgtctccttcacaagcaagttgtattggtgttttctactttatgaatatgggttttat  423
+
+Sbjct  478  at  479
+            ||
+Query  424  at  425
+
+400 542 30 F 413 1056 0 738 25 93.85
+Sbjct  30   aagcc-gacaa-ccc-tcggaattacggc-gcc-tggacttgagggaccgcgt-cggacc  83
+            ||||| ||||| ||| ||||||||||||| ||| ||  |||||||||| |||| | || |
+Query  0    aagcccgacaagcccntcggaattacggcagccatgatcttgagggacngcgttcngaac  59
+
+Sbjct  84   ctccggcagaaagggcaagggatnc-ggtgttt-acaagtacg-tc-gacaagtatgg-a  138
+            ||||||||||||||||||||  | | ||||||| ||||||||  || ||||||||||| |
+Query  60   ctccggcagaaagggcaagg-ntaccggtgttttacaagtaccntccgacaagtatggga  118
+
+Sbjct  139  gct-aacgtcgatggatac-ag-tcctatttacaacgagaacgagtggtcagcgagtggt  195
+             || ||||||||||||||| || |||||||||||||||||||||||||||||||||||||
+Query  119  ncttaacgtcgatggataccaggtcctatttacaacgagaacgagtggtcagcgagtggt  178
+
+Sbjct  196  gacgtgtacaagggaggagtcaccggattggcaatttgggcggtaactctcgccggaatt  255
+             |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  179  nacgtgtacaagggaggagtcaccggattggcaatttgggcggtaactctcgccggaatt  238
+
+Sbjct  256  cttgccggaggtgctcttcttgtgtacaacacaagtgctttggctcagtaaatcttaaag  315
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  239  cttgccggaggtgctcttcttgtgtacaacacaagtgctttggctcagtaaatcttaaag  298
+
+Sbjct  316  ttgttagcgcatgtgtaatcatgtttctataaatgtttctgtgttgttctctttctctct  375
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  299  ttgttagcgcatgtgtaatcatgtttctataaatgtttctgtgttgttctctttctctct  358
+
+Sbjct  376  aatgttgtaaaactcagacatactttgaatttataagacttctagtgtttgtat  429
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  359  aatgttgtaaaactcagacatactttgaatttataagacttctagtgtttgtat  412
+
+477 543 3 F 476 658 126 890 21 95.59
+Sbjct  3    ctt-gtg-cgttgaatggctaggga-gttgctccttcnccgcacagtgg-ttccttgtgt  58
+            ||| ||| ||| || |||||| ||| ||  ||||||| ||||||||||| ||||| ||||
+Query  126  cttagtgacgt-gattggctaaggaagtgactccttctccgcacagtggattcct-gtgt  183
+
+Sbjct  59   tgattcgagttggaccncggatttgtgtcccgtgggcacggaaccactccccggtactat  118
+            |||||||||||||| | ||||||||||| ||||| ||||||||| |||||| | ||||||
+Query  184  tgattcgagttggagcacggatttgtgtaccgtgagcacggaac-actcccggatactat  242
+
+Sbjct  119  gatggncggtactggacaatgtggaagcttccattgttcggatgcaccgactccgctcaa  178
+            ||||| ||||||||||||||||||| ||||||||||||||||||||||||||||||||||
+Query  243  gatggacggtactggacaatgtgga-gcttccattgttcggatgcaccgactccgctcaa  301
+
+Sbjct  179  gtgttgaaggaagttgaagaatgcaagaaggagtaccctggcgccttcattaggatcatc  238
+            ||||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||
+Query  302  gtgttgaaggaagttgaagaatgcaagaaggagtacc-tggcgccttcattaggatcatc  360
+
+Sbjct  239  ggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagcccccaagc  298
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  361  ggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagcccccaagc  420
+
+Sbjct  299  ttcaccgaagcttaatcccctttctggaatattcagcgttgattattctggaacccattt  358
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  421  ttcaccgaagcttaatcccctttctggaatattcagcgttgattattctggaacccattt  480
+
+Sbjct  359  ctatgtggtcaatgcaaatttaagaaattatttgccgacttaaaagttgaggaactattg  418
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  481  ctatgtggtcaatgcaaatttaagaaattatttgccgacttaaaagttgaggaactattg  540
+
+Sbjct  419  tttgaaagtgaaaatgttattcctatcagtttctctataattatagttatcatttcattt  478
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  541  tttgaaagtgaaaatgttattcctatcagtttctctataattatagttatcatttcattt  600
+
+Sbjct  479  c  479
+            |
+Query  601  c  601
+
+436 543 44 F 429 713 11 793 24 94.45
+Sbjct  44   agtggttccttgtgttgattcgagttggaccncggatttgtgtcccgtgggcacggaacc  103
+            || || ||| | | || ||||| ||||| || ||| ||| | ||||| |||| |||||||
+Query  11   aggggctccctnttttaattcg-gttgg-ccccggtttt-t-tcccg-gggcccggaacc  65
+
+Sbjct  104  actccccggtactatgatggncggtactggac-aatgtggaagcttccattgttcggatg  162
+             | ||||||| || || ||| ||||||||||| |||||||||||| |||| |||||||||
+Query  66   -cnccccggttctntgntggccggtactggaccaatgtggaagct-ccat-gttcggatg  122
+
+Sbjct  163  caccgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtaccctggcgc  222
+            |||||||||||||||||||||||||||||||||||||||||||||||||| |||||||||
+Query  123  caccgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtcccctggcgc  182
+
+Sbjct  223  cttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattgc  282
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  183  cttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattgc  242
+
+Sbjct  283  ctacaagcccccaagcttcaccgaagcttaatcccctttctggaatattcagcgttgatt  342
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  243  ctacaagcccccaagcttcaccgaagcttaatcccctttctggaatattcagcgttgatt  302
+
+Sbjct  343  attctggaacccatttctatgtggtcaatgcaaatttaagaaattatttgccgacttaaa  402
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  303  attctggaacccatttctatgtggtcaatgcaaatttaagaaattatttgccgacttaaa  362
+
+Sbjct  403  agttgaggaactattgtttgaaagtgaaaatgttattcctatcagtttctctataattat  462
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  363  agttgaggaactattgtttgaaagtgaaaatgttattcctatcagtttctctataattat  422
+
+Sbjct  463  agttatcatttcatttc  479
+            |||||||||||||||||
+Query  423  agttatcatttcatttc  439
+
+429 543 51 F 430 798 3 793 22 94.88
+Sbjct  51   ccttgtgttg-a-ttcgagttggaccncggatttgtgtcccgtgggcacgg-aaccactc  107
+            |||||| ||| | ||||  ||||| | ||| || |||| ||||| |||||| |||| |||
+Query  3    ccttgt-ttggaattcgtnttggancacggntt-gtgttccgtgagcacggnaacc-ctc  59
+
+Sbjct  108  cccggtactatgatggncggtactggacaatgtggaagcttccattgttcggatgcaccg  167
+            ||   ||||||||||| ||||| |||||||||||||||||||| ||||||||||||||||
+Query  60   ccgnntactatgatggacggtantggacaatgtggaagcttccnttgttcggatgcaccg  119
+
+Sbjct  168  actccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtaccctggcgccttca  227
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  120  actccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtaccctggcgccttca  179
+
+Sbjct  228  ttaggatcatcggatt-cgacaacacccgtcaagtccaatgcatcagtttcattgcctac  286
+            |||||||||||||||| |||||||||||||||||||||||||||||||||||||||||||
+Query  180  ttaggatcatcggatttcgacaacacccgtcaagtccaatgcatcagtttcattgcctac  239
+
+Sbjct  287  aagcccccaagcttcaccgaagcttaatcccctttctggaatattcagcgttgattattc  346
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  240  aagcccccaagcttcaccgaagcttaatcccctttctggaatattcagcgttgattattc  299
+
+Sbjct  347  tggaacccatttctatgtggtcaatgcaaatttaagaaattatttgccgacttaaaagtt  406
+            ||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||||
+Query  300  tggaacccatttctatgtggtcaatncaaatttaagaaattatttgccgacttaaaagtt  359
+
+Sbjct  407  gaggaactattgtttgaaagtgaaaatgttattcctatcagtttctctataattatagtt  466
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  360  gaggaactattgtttgaaagtgaaaatgttattcctatcagtttctctataattatagtt  419
+
+Sbjct  467  atcatttcatttc  479
+            | |||||||||||
+Query  420  accatttcatttc  432
+
+455 543 0 F 466 826 15 852 23 95.01
+Sbjct  0    tgcc-tt-gtg-cgttgaat-ggctaggga-gttgct-cc-ttcnccg-ca-ca-gtggt  49
+            |||| || ||| |||||||| ||||||||| |||||| || ||| ||| || || |||| 
+Query  15   tgcccttagtgncgttgaattggctagggaagttgcttcccttctccggcaacaagtgga  74
+
+Sbjct  50   tccttgtgttga-ttcgagttggaccncggatttgtgtcccgtgggcacggaaccactcc  108
+            |||||||||||| ||||||||||| | ||||||||||| ||||| |||||||| ||||||
+Query  75   tccttgtgttgaattcgagttggagcncggatttgtgtnccgtgagcacggaaacactcc  134
+
+Sbjct  109  ccggtactatgatggncggtactggacaatgtggaagcttccattgttcggatgcaccga  168
+            | | ||||||||||| || |||||||||||||||||||||||||||||||||||||||||
+Query  135  cggatactatgatggacgatactggacaatgtggaagcttccattgttcggatgcaccga  194
+
+Sbjct  169  ctccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtaccctggcgccttcat  228
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  195  ctccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtaccctggcgccttcat  254
+
+Sbjct  229  taggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaa  288
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  255  taggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaa  314
+
+Sbjct  289  gcccccaagcttcaccgaagcttaatcccctttctggaatattcagcgttgattattctg  348
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  315  gcccccaagcttcaccgaagcttaatcccctttctggaatattcagcgttgattattctg  374
+
+Sbjct  349  gaacccatttctatgtggtcaatgcaaatttaagaaattatttgccgacttaaaagttga  408
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||| ||||||
+Query  375  gaacccatttctatgtggtcaatgcaaatttaagaaattatttgccgacttaacagttga  434
+
+Sbjct  409  ggaactattgtttgaaagtgaaaatgttattcctatcagtttctct  454
+            ||||||||||||||||||||||||||||||||||||||||||||||
+Query  435  ggaactattgtttgaaagtgaaaatgttattcctatcagtttctct  480
+
+419 543 61 F 416 849 1 748 29 93.05
+Sbjct  61   attcgagttggaccncggatttgtgtc-ccgtgggcacggaaccactccccgg-tactat  118
+            |||||||||||| | ||||||||||||  |||| ||||||| | |||||| || ||||||
+Query  1    attcgagttggagcacggatttgtgtcaacgtgagcacgganc-actccc-ggatactat  58
+
+Sbjct  119  gatggncggtactggacaatgtggaagcttccattgttcggatgcaccgactccgctcaa  178
+            | ||| || ||||||||| |||||| ||| | |||   ||||||||||||||||||||||
+Query  59   gntggncgatactggacantgtgga-gctncnatt-nccggatgcaccgactccgctcaa  116
+
+Sbjct  179  gtgttgaaggaagttgaagaatgcaagaaggagtaccctggcgccttcattaggatcatc  238
+            |||||||||||||||||||||||| |||||| || |||||||||||||||| ||||||||
+Query  117  gtgttgaaggaagttgaagaatgcnagaaggngtnccctggcgccttcattnggatcatc  176
+
+Sbjct  239  ggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagcccccaagc  298
+            ||||||| | || |||||||||||||||||||||||||||||||||||||||||||||||
+Query  177  ggattcgncnacncccgtcaagtccaatgcatcagtttcattgcctacaagcccccaagc  236
+
+Sbjct  299  ttcaccgaagcttaatcccctttctggaatattcagcgttgattattctggaacccattt  358
+            |||||||||||||| ||||||||| |||||||||||||||||||||||||||||||||||
+Query  237  ttcaccgaagctta-tcccctttcnggaatattcagcgttgattattctggaacccattt  295
+
+Sbjct  359  ctatgtggtcaatgcaaatttaagaaattatttgccgacttaaaagttgaggaactattg  418
+            ||||||||||||||||||||||||||||||||||||||||||| ||||||||||||||||
+Query  296  ctatgtggtcaatgcaaatttaagaaattatttgccgacttaacagttgaggaactattg  355
+
+Sbjct  419  tttgaaagtgaaaatgttattcctatcagtttctctataattatagttatcatttcattt  478
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  356  tttgaaagtgaaaatgttattcctatcagtttctctataattatagttatcatttcattt  415
+
+Sbjct  479  c  479
+            |
+Query  416  c  416
+
+475 543 0 F 482 912 1 897 20 95.82
+Sbjct  0    tgcctt-gtgc-gttgaatggctagggag-ttgct-ccttcnccgca-ca-gtgg-ttcc  52
+            |||||| |||| ||||| |||||| |||| ||||| ||||| ||||| || |||| ||||
+Query  1    tgccttagtgccgttgattggctaaggagnttgcttccttc-ccgcaacaagtggattcc  59
+
+Sbjct  53   ttgtgttga-ttcgagttggaccncggatttgtgtcccgtgggcacggaaccactccccg  111
+            ||||||||| ||||||||||| | ||||||| ||| |||||||||||||||| ||||| |
+Query  60   ttgtgttgaattcgagttggagcacggatttntgtaccgtgggcacggaacc-ctcccgg  118
+
+Sbjct  112  gtactatgatggncggtactggacaatgtggaagcttcc-attgttcggatgcaccgact  170
+             ||||||||||| |||||||||||||||||||||||||| ||||||||||||||||||||
+Query  119  atactatgatggacggtactggacaatgtggaagcttcccattgttcggatgcaccgact  178
+
+Sbjct  171  ccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtaccctggcgccttcatta  230
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  179  ccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtaccctggcgccttcatta  238
+
+Sbjct  231  ggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagc  290
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  239  ggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagc  298
+
+Sbjct  291  ccccaagcttcaccgaagcttaatcccctttctggaatattcagcgttgattattctgga  350
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  299  ccccaagcttcaccgaagcttaatcccctttctggaatattcagcgttgattattctgga  358
+
+Sbjct  351  acccatttctatgtggtcaatgcaaatttaagaaattatttgccgacttaaaagttgagg  410
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  359  acccatttctatgtggtcaatgcaaatttaagaaattatttgccgacttaaaagttgagg  418
+
+Sbjct  411  aactattgtttgaaagtgaaaatgttattcctatcagtttctctataattatagttatca  470
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  419  aactattgtttgaaagtgaaaatgttattcctatcagtttctctataattatagttatca  478
+
+Sbjct  471  tttc  474
+            ||||
+Query  479  tttc  482
+
+397 543 7 F 407 988 0 633 57 85.82
+Sbjct  7    tgcgttgaat-ggctagggagttgct-ccttcnccgca--cagtggttcct-tg-tgttg  60
+            ||||| |||| ||| | |||||| || ||||| ||| |  ||| ||  ||  || ||| |
+Query  0    tgcgtcgaattggcnanggagttactaccttctccgnaaacagggggncccctggtgtng  59
+
+Sbjct  61   a-ttcgagtt-ggaccncgg-at-ttgtgtcccgtgggcacggaaccactccccggtact  116
+            | |||||||| ||| | ||| || |||||| ||||| ||||||||| |||||| | ||||
+Query  60   acttcgagtttggagcacgggatcttgtgtaccgtgagcacggaac-actcccggatact  118
+
+Sbjct  117  atgatggncggtactggacaatgtggaagcttccattgttcggatgcaccgactccgctc  176
+            | ||||| ||||||||||||||||||||||||||||||||||||||||||||||| ||||
+Query  119  acgatggacggtactggacaatgtggaagcttccattgttcggatgcaccgactctgctc  178
+
+Sbjct  177  aagtgttgaaggaagttgaagaatgcaagaaggagtaccctggcgccttcattaggatca  236
+            |||| ||||||||||||||||||||||||||||||||||| |||||||||||||||||||
+Query  179  aagtattgaaggaagttgaagaatgcaagaaggagtacccgggcgccttcattaggatca  238
+
+Sbjct  237  tcggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagcccccaa  296
+            |||||||||||||||||||||||||||| |||||||||||||||||||||||||||||||
+Query  239  tcggattcgacaacacccgtcaagtccagtgcatcagtttcattgcctacaagcccccaa  298
+
+Sbjct  297  gcttcaccgaagcttaa-tcccctttctggaatattcagcgttgattattctggaaccca  355
+            ||||||| || |||||| |||  |||||||||||||||  ||||| ||| | ||||||||
+Query  299  gcttcactgatgcttaaatcc-ttttctggaatattcaatgttgactat-ccggaaccca  356
+
+Sbjct  356  -tttctatgtggtcaatgcaaatttaagaaattattt-gccga-cttaaaa  403
+             ||| | | |||||||||   ||||||| |||||||| ||| |  | ||||
+Query  357  attt-tgtatggtcaatgtnnatttaagtaattattttgccaaagtgaaaa  406
+
+404 543 0 F 414 1049 3 677 47 88.51
+Sbjct  0    tgcc-ttg-tgc-gttgaatggctaggga-gttgct-ccttcnccgca-cagtgg-ttcc  52
+            |||| ||  ||| || |||| |||| ||| |||||| ||||| ||||| || ||| | ||
+Query  3    tgccnttnntgccgtcgaattgctaaggaagttgctaccttctccgcaacaatggatccc  62
+
+Sbjct  53   ttgtgttga-ttcgagttggaccncggatttgtgtcccgtgggcacggaaccactccccg  111
+            |||||||||  |||||||||| | ||||||||||| ||||| |||||||| ||||||| |
+Query  63   ttgtgttgaantcgagttggagcncggatttgtgtaccgtgagcacggaancactcccgg  122
+
+Sbjct  112  g-tactatgatggncggtactggacaatgtggaagcttccattgttcggatgcaccgact  170
+            | ||||| ||||| ||||||||||||||||||||||||||||||||||||||||||||||
+Query  123  gatactacgatggacggtactggacaatgtggaagcttccattgttcggatgcaccgact  182
+
+Sbjct  171  ccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtaccctggcgccttcatta  230
+            |||||||||||||||||||||||||||||||||||||||||||||| |||||||||||||
+Query  183  ccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtacccgggcgccttcatta  242
+
+Sbjct  231  ggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagc  290
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  243  ggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagc  302
+
+Sbjct  291  ccccaagcttcaccgaagcttaa-tcccctttctggaatattcagcgttgattattctgg  349
+            ||||||||||||| || |||||| |||  |||||||||||||||  ||||| ||| | ||
+Query  303  ccccaagcttcactgatgcttaaatcc-ttttctggaatattcaatgttgactat-ccgg  360
+
+Sbjct  350  aacccatttctatgtggtcaatgcaaatttaagaaattattt-gccga-cttaaaa  403
+            |||||| || | | ||||||||| ||||||||| |||||||| ||| |  | ||||
+Query  361  aacccaattttgtatggtcaatgtaaatttaagtaattattttgccaaagtgaaaa  416
+
+447 543 33 F 444 1120 0 798 31 93.04
+Sbjct  33   cttcnccgca-cagtggttccttgtgttga-ttcgagttggaccncggatttgtgtcccg  90
+            |||| ||||| ||| ||| ||| | ||||| || | |||||  | ||| ||||| |||||
+Query  0    cttc-ccgcaacaggggtccct-gggttgaattngngttgggncccggntttgtttcccg  57
+
+Sbjct  91   tgggcacggaaccactccccggtactatgatggncggtactggacaatgtggaagcttcc  150
+            ||| | ||||||| | ||| | | ||||| ||| |||| |||| ||||||||||||| ||
+Query  58   tggncccggaacc-cncccggntnctatgntggccggtnctggccaatgtggaagct-cc  115
+
+Sbjct  151  attgttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaagga  210
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  116  attgttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaagga  175
+
+Sbjct  211  gtaccctggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcat  270
+            || |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  176  gtnccctggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcat  235
+
+Sbjct  271  cagtttcattgcctacaagcccccaagcttcaccgaagcttaatcccctttctggaatat  330
+            ||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||
+Query  236  cagtttcattgcctacaagcccccaag-ttcaccgaagcttaatcccctttctggaatat  294
+
+Sbjct  331  tcagcgttgattattctggaacccatttctatgtggtcaatgcaaatttaagaaattatt  390
+            |||||||||||||||||||||||| |||||||||||||||||||||||||||||||||||
+Query  295  tcagcgttgattattctggaacccntttctatgtggtcaatgcaaatttaagaaattatt  354
+
+Sbjct  391  tgccgacttaaaagttgaggaactattgtttgaaagtgaaaatgttattcctatcagttt  450
+            ||||||||| ||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  355  tgccgacttnaaagttgaggaactattgtttgaaagtgaaaatgttattcctatcagttt  414
+
+Sbjct  451  ctctataattatagttatcatttcatttc  479
+            |||| ||||||||||||||||||||||||
+Query  415  ctctntaattatagttatcatttcatttc  443
+
+480 543 0 F 468 1297 7 855 31 93.46
+Sbjct  0    tgcctt-gtgcgttgaatggctagggagttgctccttcnccgcacagtggttccttgtgt  58
+            |||||| | |||| || || ||||  ||| ||| |||| ||||| ||||  ||||| |||
+Query  7    tgccttag-gcgt-ga-tgnctagn-agt-gctncttc-ccgcanagtg-ntccttntgt  59
+
+Sbjct  59   tgattcgagttggaccncggatttgtgtcccgtgggcacggaaccactccccggtactat  118
+            ||| |||||| ||  | ||||||| | ||| ||| ||||| ||| |||||| ||| ||||
+Query  60   tgaatcgagt-ggngcncggatttttttcc-gtgngcacgnaac-actccc-ggtnctat  115
+
+Sbjct  119  gatggncggtactggacaatgtggaagcttccattgttcggatgcaccgactccgctcaa  178
+            ||||| |||||||||| ||||||||||||||||||||||||||||||||| |||| ||||
+Query  116  gatggccggtactgga-aatgtggaagcttccattgttcggatgcaccga-tccgntcaa  173
+
+Sbjct  179  gtgttgaaggaagttgaagaatgcaagaaggagtaccctggcgccttcattaggatcatc  238
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  174  gtgttgaaggaagttgaagaatgcaagaaggagtaccctggcgccttcattaggatcatc  233
+
+Sbjct  239  ggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagcccccaagc  298
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  234  ggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagcccccaagc  293
+
+Sbjct  299  ttcaccgaagcttaatcccctttctggaatattcagcgttgattattctggaacccattt  358
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  294  ttcaccgaagcttaatcccctttctggaatattcagcgttgattattctggaacccattt  353
+
+Sbjct  359  ctatgtggtcaatgcaaatttaagaaattatttgccgacttaaaagttgaggaactattg  418
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  354  ctatgtggtcaatgcaaatttaagaaattatttgccgacttaaaagttgaggaactattg  413
+
+Sbjct  419  tttgaaagtgaaaatgttattcctatcagtttctctataattatagttatcatttcattt  478
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  414  tttgaaagtgaaaatgttattcctatcagtttctctataattatagttatcatttcattt  473
+
+Sbjct  479  c  479
+            |
+Query  474  c  474
+
+439 543 16 F 436 1327 0 782 31 92.91
+Sbjct  16   tggctagggagttg-ctccttcnccgcacagtggttccttgtgttga-ttcgagttggac  73
+            |||||||| | ||| ||||||| ||| ||| ||| ||||| | |||| ||||  ||||  
+Query  0    tggctagg-aattgactccttc-ccgaacantggntcctt-ttttgaattcgntttggng  56
+
+Sbjct  74   cncggatttgtgtcccgtgggcacggaaccactccccggtactatgatggncggtactgg  133
+            | ||| ||| |  |||||| || || ||| |||||  |||||| |||||| |||||||||
+Query  57   cncggntttttnncccgtgngcncgnaac-actcc-nggtactntgatggncggtactgg  114
+
+Sbjct  134  acaatgtggaagcttccattgttcggatgcaccgactccgctcaagtgttgaaggaagtt  193
+            ||| | ||||||||||||||||||||||||||||||||||||||||||||||||||| ||
+Query  115  acattntggaagcttccattgttcggatgcaccgactccgctcaagtgttgaaggaantt  174
+
+Sbjct  194  gaagaatgcaagaaggagtaccctggcgccttcattaggatcatcggattcgacaacacc  253
+            ||||||||||||||||| ||||||||||||||||||||||||||||||||||||||||||
+Query  175  gaagaatgcaagaaggantaccctggcgccttcattaggatcatcggattcgacaacacc  234
+
+Sbjct  254  cgtcaagtccaatgcatcagtttcattgcctacaagcccccaagcttcaccgaagcttaa  313
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  235  cgtcaagtccaatgcatcagtttcattgcctacaagcccccaagcttcaccgaagcttaa  294
+
+Sbjct  314  tcccctttctggaatattcagcgttgattattctggaacccatttctatgtggtcaatgc  373
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  295  tcccctttctggaatattcagcgttgattattctggaacccatttctatgtggtcaatgc  354
+
+Sbjct  374  aaatttaagaaattatttgccgacttaaaagttgaggaactattgtttgaaagtgaaaat  433
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  355  aaatttaagaaattatttgccgacttaaaagttgaggaactattgtttgaaagtgaaaat  414
+
+Sbjct  434  gttattcctatcagtttctct  454
+            |||||||||||||||||||||
+Query  415  gttattcctatcagtttctct  435
+
+436 549 0 F 448 661 68 773 37 91.63
+Sbjct  0    ccacgt-gtncctcgctaaac-tttgancgg-cg-ntggncccaata--tcta-cgnccn  52
+            |||||| || | |||||||||   ||| ||  ||  ||| || | ||  |||| ||  | 
+Query  68   ccacgtagtacntcgctaaaccagtgaacgancggatggtccna-taagtctaacgaact  126
+
+Sbjct  53   cctatgntgga-cgctc-tacatttgcgctcacggaatcggggaa-ctat-cgcgtttgg  108
+            |||||  |||| ||||| |||||||||||||||||| |||||||| |||| |||||||||
+Query  127  cctatactggaacgctcatacatttgcgctcacgga-tcggggaagctattcgcgtttgg  185
+
+Sbjct  109  tgcaggcgatcagggtccagcttggaacagagcttggtaag-nccaaaaagaaaggtgtg  167
+            ||||||||||||||||| |||||||||||||||||||||||  |||||||||||||||||
+Query  186  tgcaggcgatcagggtc-agcttggaacagagcttggtaagaaccaaaaagaaaggtgtg  244
+
+Sbjct  168  tcccggaaaaagtggatatcgatctcagctagcttgctgacttatgtggtttggttggca  227
+            | |||||||||||||||||||||||||||||||| ||||||||||||||||||||||| |
+Query  245  taccggaaaaagtggatatcgatctcagctagctagctgacttatgtggtttggttggta  304
+
+Sbjct  228  agaa-ctacgtttgacatcaaggaaacaaaaacgcacgaaa-tttgcgtttgctttttat  285
+            |||| ||||||||||||||||||||||||||||||| |||| ||||||||||||||||||
+Query  305  agaaactacgtttgacatcaaggaaacaaaaacgcaagaaaatttgcgtttgctttttat  364
+
+Sbjct  286  gttcataagacttggaagcttgtacaaaaaggggaataacataaacttgtctttaacatt  345
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  365  gttcataagacttggaagcttgtacaaaaaggggaataacataaacttgtctttaacatt  424
+
+Sbjct  346  tcattgtatagggtttt-agattattctaattgttcattggttaagttttaggttatgtt  404
+            ||||||||||||||||| ||||||||||||||||||||||||||||||||||||||||||
+Query  425  tcattgtatagggtttttagattattctaattgttcattggttaagttttaggttatgtt  484
+
+Sbjct  405  gttaataattatcaaataatttcattaaatc  435
+            |||||||||||||||||||||||||||||||
+Query  485  gttaataattatcaaataatttcattaaatc  515
+
+402 568 10 F 406 1793 2 739 23 94.31
+Sbjct  10   ccgttccaanatgtttatggngcctcga-ccaacaaattgggggaatcctcagattttcc  68
+            ||||| | | |||||||||| || |||| | | |||||| | ||||| ||||||||||  
+Query  2    ccgtttctacatgtttatggagcttcgatcgatcaaatttgaggaatactcagattttnn  61
+
+Sbjct  69   tt-cctcattncntgtttttgccaaatctcttgattgatgattttggccatgcagatgga  127
+            || ||||||| | ||||||| ||||||||||||||||||||||||||| |||||||||||
+Query  62   tttcctcattacctgtttttnccaaatctcttgattgatgattttggc-atgcagatgga  120
+
+Sbjct  128  attgaat-ctctgtttgtgtagcctcccttctctgtttagcagtttccggtgagaaaaaa  186
+            ||||||| ||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  121  attgaattctctgtttgtgtagcctcccttctctgtttagcagtttccggtgagaaaaaa  180
+
+Sbjct  187  acaaaaatcgatggttgccctttttcgacgttgattgtgttcaccggatcggagtctttg  246
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  181  acaaaaatcgatggttgccctttttcgacgttgattgtgttcaccggatcggagtctttg  240
+
+Sbjct  247  acggcaaaggatgacaggaacgtttcatcgcttctcttgcaacacgtgtcttgttatacg  306
+            ||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||
+Query  241  acggcaaaggatgacaggaacgtttcatcgcttctnttgcaacacgtgtcttgttatacg  300
+
+Sbjct  307  atcgtgttttgttaaagagatatccttcctttaaagaaatgtaactaa-gtggacctttg  365
+            |||||||||||||||||||||||||||||||||||||||||||||||| |||||||||||
+Query  301  atcgtgttttgttaaagagatatccttcctttaaagaaatgtaactaaagtggacctttg  360
+
+Sbjct  366  ttgggctgtattctgtggatca-ttaataaacataatctttccagtg  411
+            |||||||||||||||||| ||| ||||||||||||||||||||||||
+Query  361  ttgggctgtattctgtggntcaattaataaacataatctttccagtg  407
+
+432 584 48 F 449 1661 0 707 58 86.83
+Sbjct  48   tggcccccntc-ttaa-cccgn-cca-gnccntca-atgcttcacaagtgccctg-ctcg  101
+            ||| |||  || |||| ||||  ||| | ||   | ||||  |||||||  |||| || |
+Query  0    tggaccc-gtccttaaacccggaccacgtcccnnanatgcnacacaagtttcctgacttg  58
+
+Sbjct  102  atccctgccccaaagc-g-tccagtacgtgcgtaacgaccgtggcaccccccatg-tgct  158
+             |||||| |||||||  | |||||||||||| ||||||||||||||||||| ||| ||||
+Query  59   ntccctgacccaaaggtggtccagtacgtgcntaacgaccgtggcaccccc-atggtgct  117
+
+Sbjct  159  agacaacaattactaccgtaacatcctagacaacaagggtttgctccttgtggaccatca  218
+            ||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||
+Query  118  agacaacaattactaccgtaacatcctagncaacaagggtttgctccttgtggaccatca  177
+
+Sbjct  219  gctcgcacacgacaaacgaaccagaccaatcgttaagaagatggctaaggaccaggccta  278
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  178  gctcgcacacgacaaacgaaccagaccaatcgttaagaagatggctaaggaccaggccta  237
+
+Sbjct  279  cttcttcaaggagttcactagggcaatccagatcttatccgagaacaaccccttgactgg  338
+            ||| |||||||||||||||||||||||||||||||||||||||||||||||||||| |||
+Query  238  ctttttcaaggagttcactagggcaatccagatcttatccgagaacaaccccttgattgg  297
+
+Sbjct  339  ctctaagggtgagatcaggaagcaatgtaatctcgcaaacaagaacc-attgaagttgga  397
+             ||||||||||||||||||| |||||||||||| ||||||| | ||| |||| |||||||
+Query  298  ntctaagggtgagatcaggangcaatgtaatctggcaaacangnaccnattgnagttgga  357
+
+Sbjct  398  aaaagtgagaaagac-aggggctct-ggtgtgtt-gagttctct-gctt-ggtacgaacc  452
+            ||||||||||||| | ||||| | | ||||| || ||||||| | |||| ||||||  ||
+Query  358  aaaagtgagaaaggccagggggtnttggtgtttttgagttctnttgctttggtacggncc  417
+
+Sbjct  453  -aagatgaataaaaaaat--cttttaag-tt  479
+             ||| ||  | |||||||  ||||| || ||
+Query  418  caagntggnttaaaaaatttctttttaggtt  448
+
+412 630 2 F 414 736 96 730 32 92.25
+Sbjct  2    cttc-ccg-aacatg-ggnttccttnggttggattcgnnttagggcccggatttttttnc  58
+            |||| ||| |||| | || | | ||  |||| |||||  |||| || ||||||| | | |
+Query  96   cttctccgcaacaagtggatccnttgtgttgaattcgagttagagcacggatttgtgtac  155
+
+Sbjct  59   ctngngcacggaaccantcccggatactacgatggncggtactggnccattttggaangt  118
+            |  | |||||||| || |||||||||||||||||| ||||||||| | || | ||||  |
+Query  156  cgtgagcacggaaacactcccggatactacgatggacggtactggacaatgt-ggaagct  214
+
+Sbjct  119  tccattgttcggatgcacngantccgctcaantgttgaaggaagttgaagaatgcaagaa  178
+            |||||||||||||||||| || ||||||||| ||||||||||||||||||||||||||||
+Query  215  tccattgttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaa  274
+
+Sbjct  179  ggagtacccgggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatg  238
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  275  ggagtacccgggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatg  334
+
+Sbjct  239  catcagtttcattgcctacaagcccccaagcttcaccgaagcttaatttcttttctaaaa  298
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  335  catcagtttcattgcctacaagcccccaagcttcaccgaagcttaatttcttttctaaaa  394
+
+Sbjct  299  cattcttatgaattatctctgctcatttcatttcctattgtctgtgttctttttctcttt  358
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  395  cattcttatgaattatctctgctcatttcatttcctattgtctgtgttctttttctcttt  454
+
+Sbjct  359  atgagacaatttctatcggattgtcaaatgtctgatttatgaatatgtaatttat  413
+            |||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  455  atgagacaatttctatcggattgtcaaatgtctgatttatgaatatgtaatttat  509
+
+415 630 1 F 416 846 202 729 34 91.82
+Sbjct  1    ccttc-ccgaa-ca-tgggnttccttnggttggattcgnnttagggcccggatttttttn  57
+            ||||| ||| | || |||  |||| |  |||| |||||  |||| || ||||||| | | 
+Query  202  ccttcaccgcancagtgg-attccctgtgttgaattcgagttagagcacggatttgtgta  260
+
+Sbjct  58   cctngngcacggaaccantcccggatactacgatggncggtactggnccattttggaang  117
+            ||  | |||||||| || |||||||||||||||||| ||||||||| | || | ||||  
+Query  261  ccgtgagcacggaaacactcccggatactacgatggacggtactggacaatgt-ggaagc  319
+
+Sbjct  118  ttccattgttcggatgcacngantccgctcaantgttgaaggaagttgaagaatgcaaga  177
+            ||||||||||||||||||| || ||||||||| |||||||||||||||||||||||||||
+Query  320  ttccattgttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaaga  379
+
+Sbjct  178  aggagtacccgggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaat  237
+            |||| ||||||||||| |||||||||||||||||||||||||||||||||||||||||||
+Query  380  aggantacccgggcgcnttcattaggatcatcggattcgacaacacccgtcaagtccaat  439
+
+Sbjct  238  gcatcagtttcattgcctacaagcccccaagcttcaccgaagcttaatttcttttctaaa  297
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  440  gcatcagtttcattgcctacaagcccccaagcttcaccgaagcttaatttcttttctaaa  499
+
+Sbjct  298  acattcttatgaattatctctgctcatttcatttcctattgtctgtgttctttttctctt  357
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  500  acattcttatgaattatctctgctcatttcatttcctattgtctgtgttctttttctctt  559
+
+Sbjct  358  tatgagacaatttctatcggattgtcaaatgtctgatttatgaatatgtaatttatat  415
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  560  tatgagacaatttctatcggattgtcaaatgtctgatttatgaatatgtaatttatat  617
+
+415 630 1 F 419 902 4 732 34 91.85
+Sbjct  1    ccttcc-cg--aacatg-ggnttccttnggttggattcgnntt-agggc-ccggattttt  54
+            |||||  ||  |||| | || | ||||  |||||| |||  || || || |||||||| |
+Query  4    ccttcnncggcaacaagtggat-ccttgtgttggaatcggatttagagcnccggatttgt  62
+
+Sbjct  55   ttncctngngcacggaaccantcccggatactacgatggncggtactggnccattttgga  114
+             | ||  | |||||||| || |||||||||||||||||| ||||||||| | || | |||
+Query  63   gtaccgtgagcacggaaacactcccggatactacgatggacggtactggacaatgt-gga  121
+
+Sbjct  115  angttccattgttcggatgcacngantccgctcaantgttgaaggaagttgaagaatgca  174
+            |  ||||||||||||||||||| || ||||||||| ||||||||||||||||||||||||
+Query  122  agcttccattgttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgca  181
+
+Sbjct  175  agaaggagtacccgggcgccttcattaggatcatcggattcgacaacacccgtcaagtcc  234
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  182  agaaggagtacccgggcgccttcattaggatcatcggattcgacaacacccgtcaagtcc  241
+
+Sbjct  235  aatgcatcagtttcattgcctacaagcccccaagcttcaccgaagcttaatttcttttct  294
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  242  aatgcatcagtttcattgcctacaagcccccaagcttcaccgaagcttaatttcttttct  301
+
+Sbjct  295  aaaacattcttatgaattatctctgctcatttcatttcctattgtctgtgttctttttct  354
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  302  aaaacattcttatgaattatctctgctcatttcatttcctattgtctgtgttctttttct  361
+
+Sbjct  355  ctttatgagacaatttctatcggattgtcaaatgtctgatttatgaatatgtaatttata  414
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  362  ctttatgagacaatttctatcggattgtcaaatgtctgatttatgaatatgtaatttata  421
+
+Sbjct  415  t  415
+            |
+Query  422  t  422
+
+416 630 0 F 420 1100 23 719 39 90.67
+Sbjct  0    cccttccc-gaacatgggnttccttnggttggattcgnnttagggcccgg-attt-tttt  56
+            |||||||| ||| | |||   || |  |||| |||||  ||||||||||| ||||  | |
+Query  23   cccttcccngaaaaggggnccccctgtgttgaattcgngttagggcccgggatttggtgt  82
+
+Sbjct  57   ncctngngcac-ggaaccant-cccggatactacgatggncggtactggnccattttgga  114
+             ||  | || | |||| || | ||||||||||||||||| ||||||||| | || | |||
+Query  83   ncccngngccccggaancactncccggatactacgatggccggtactggacaatgt-gga  141
+
+Sbjct  115  angttccattgttcggatgcacngantccgctcaantgttgaaggaagttgaagaatgca  174
+               ||||||||| ||||||||| || ||||||||| ||||||||||||||||||||||||
+Query  142  ngcttccattgtccggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgca  201
+
+Sbjct  175  agaaggagtacccgggcgccttcattaggatcatcggattcgacaacacccgtcaagtcc  234
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  202  agaaggagtacccgggcgccttcattaggatcatcggattcgacaacacccgtcaagtcc  261
+
+Sbjct  235  aatgcatcagtttcattgcctacaagcccccaagcttcaccgaagcttaatttcttttct  294
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  262  aatgcatcagtttcattgcctacaagcccccaagcttcaccgaagcttaatttcttttct  321
+
+Sbjct  295  aaaacattcttatgaattatctctgctcatttcatttcctattgtctgtgttctttttct  354
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  322  aaaacattcttatgaattatctctgctcatttcatttcctattgtctgtgttctttttct  381
+
+Sbjct  355  ctttatgagacaatttctatcggattgtcaaatgtctgatttatgaatatgtaatttata  414
+            |||||||||||||||||||||||||||||||||||||||||||||||||| | |||||||
+Query  382  ctttatgagacaatttctatcggattgtcaaatgtctgatttatgaatatnttatttata  441
+
+Sbjct  415  t  415
+            |
+Query  442  t  442
+
+425 630 9 F 426 1143 1 728 41 90.36
+Sbjct  9    aacatgggnttccttnggttggattcgnnttagggccc-ggatttttttnc-ctngngca  66
+            || | ||| | |||  ||||| |||||  || | |||| |||||| | | | |  | || 
+Query  1    aa-aagggntccct--ggttgaattcg-gttngngccccggatttgtgtncccgtgngcc  56
+
+Sbjct  67   c-ggaaccantcccggatactac-gatggnc-ggtactggnccattttggaang-ttcc-  122
+            | |||||||  ||| | |||| | ||||| | |||||||| ||| | ||||| | |||| 
+Query  57   ccggaaccacccccnggtacttccgatggaccggtactgg-ccaatgtggaa-gnttccc  114
+
+Sbjct  123  attgttcggatgcacngantccgctcaantgttgaaggaagttgaagaatgcaagaagga  181
+            ||||||||||||||| || ||||||||| |||||||||||||||||||||||||||||||
+Query  115  attgttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaagga  174
+
+Sbjct  182  gtacccgggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcat  241
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  175  gtacccgggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcat  234
+
+Sbjct  242  cagtttcattgcctacaagcccccaagcttcaccgaagcttaatttcttttctaaaacat  301
+            |||||||||||||||||||||||||||||||||||||||||||| |||||||||||||| 
+Query  235  cagtttcattgcctacaagcccccaagcttcaccgaagcttaatntcttttctaaaacan  294
+
+Sbjct  302  tcttatgaattatctctgctcatttcatttcctattgtctgtgttctttttctctttatg  361
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  295  tcttatgaattatctctgctcatttcatttcctattgtctgtgttctttttctctttatg  354
+
+Sbjct  362  agacaatttctatcggattgtcaaatgtctgatttatgaatatgtaatttatatatccgt  421
+            ||||||||||||||||||||||||||||||||||||||||||||| ||||||||||||||
+Query  355  agacaatttctatcggattgtcaaatgtctgatttatgaatatgtnatttatatatccgt  414
+
+Sbjct  422  gcgtcttgattt  433
+            ||||||||||||
+Query  415  gcgtcttgattt  426
+
+415 630 1 F 418 1151 38 737 32 92.32
+Sbjct  1    ccttc-ccg-aacatg-ggnttccttnggttgga-ttcgnnttagggcc-cggatttttt  55
+            ||||| ||| |||| | || | ||||  ||| || ||||  |||| ||| ||||||| | 
+Query  38   ccttctccgcaacaagtggat-ccttgtgtttgaattcgagttagagccacggatttgtg  96
+
+Sbjct  56   tncctngngcacggaaccantcccggatactacgatggncggtactggnccattttggaa  115
+            | ||  | |||||||| || |||||||||||||||||| ||||||||| | || | ||||
+Query  97   taccgtgagcacggaaacactcccggatactacgatggacggtactggacaatgt-ggaa  155
+
+Sbjct  116  ngttccattgttcggatgcacngantccgctcaantgttgaaggaagttgaagaatgcaa  175
+              ||||||||||||||||||| || ||||||||| |||||||||||||||||||||||||
+Query  156  gcttccattgttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaa  215
+
+Sbjct  176  gaaggagtacccgggcgccttcattaggatcatcggattcgacaacacccgtcaagtcca  235
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  216  gaaggagtacccgggcgccttcattaggatcatcggattcgacaacacccgtcaagtcca  275
+
+Sbjct  236  atgcatcagtttcattgcctacaagcccccaagcttcaccgaagcttaatttcttttcta  295
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  276  atgcatcagtttcattgcctacaagcccccaagcttcaccgaagcttaatttcttttcta  335
+
+Sbjct  296  aaacattcttatgaattatctctgctcatttcatttcctattgtctgtgttctttttctc  355
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  336  aaacattcttatgaattatctctgctcatttcatttcctattgtctgtgttctttttctc  395
+
+Sbjct  356  tttatgagacaatttctatcggattgtcaaatgtctgatttatgaatatgtaatttatat  415
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  396  tttatgagacaatttctatcggattgtcaaatgtctgatttatgaatatgtaatttatat  455
+
+416 630 0 F 421 1230 92 732 35 91.64
+Sbjct  0    cccttccc-g-aaca--tgggnttccttnggttggattcgnnttagggcccggatttttt  55
+            || ||| | | ||||  |||  | ||||  |||| |||||  ||||||| ||||||| | 
+Query  92   ccnttctcngcaacaaatgg-ntcccttgtgttgaattcgagttagggcncggatttgtg  150
+
+Sbjct  56   tncctngngcacggaaccantcccggatactacgatggnc-ggtactggnccattttgga  114
+            | ||  | || ||||| || |||||||||||||||||| | |||||||| | ||| ||||
+Query  151  tcccgtgagcccggaaacactcccggatactacgatggaccggtactggacaattgtgga  210
+
+Sbjct  115  ang-ttcc-attgttcggatgcacngantccgctcaantgttgaaggaagttgaagaatg  172
+            | | |||| ||||||||||||||| || ||||||||| ||||||||||||||||||||||
+Query  211  a-gcttcccattgttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatg  269
+
+Sbjct  173  caagaaggagtacccgggcgccttcattaggatcatcggattcgacaacacccgtcaagt  232
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  270  caagaaggagtacccgggcgccttcattaggatcatcggattcgacaacacccgtcaagt  329
+
+Sbjct  233  ccaatgcatcagtttcattgcctacaagcccccaagcttcaccgaagcttaatttctttt  292
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  330  ccaatgcatcagtttcattgcctacaagcccccaagcttcaccgaagcttaatttctttt  389
+
+Sbjct  293  ctaaaacattcttatgaattatctctgctcatttcatttcctattgtctgtgttcttttt  352
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  390  ctaaaacattcttatgaattatctctgctcatttcatttcctattgtctgtgttcttttt  449
+
+Sbjct  353  ctctttatgagacaatttctatcggattgtcaaatgtctgatttatgaatatgtaattta  412
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  450  ctctttatgagacaatttctatcggattgtcaaatgtctgatttatgaatatgtaattta  509
+
+Sbjct  413  tat  415
+            |||
+Query  510  tat  512
+
+409 630 3 F 414 1360 1 688 45 89.06
+Sbjct  3    ttcccgaa-ca--tgggnttccttng-gttggattcg-nnttagg-gcccggattttttt  56
+            |||||||| ||  |||| | |||| | |||  || ||   || || || ||||||| | |
+Query  1    ttcccgaaacaantgggatcccttggtgttnaat-cggagtttggngcacggatttgtgt  59
+
+Sbjct  57   ncctngngcacgg-aaccantcccggatactacgatggncggtactggnccattttggaa  115
+             ||  | |||||| ||||| ||| |||||||||||||| || |||||| | || | ||||
+Query  60   nccgtgagcacggnaaccactccnggatactacgatggacgntactggacaatgt-ggaa  118
+
+Sbjct  116  ngttccattgttcggatgcacngantccgctcaantgttgaaggaagttgaagaatgcaa  175
+              ||||||||| ||||||||| || ||||||||| | |||||||||||||| ||||||||
+Query  119  gcttccattgtncggatgcaccgactccgctcaagtnttgaaggaagttgangaatgcaa  178
+
+Sbjct  176  gaaggagtacccgggcgccttcattaggatcatcggattcgacaacacccgtcaagtcca  235
+            ||||| ||||||||||||||||||| ||||||||||||||||||||||||||||||||||
+Query  179  gaaggngtacccgggcgccttcattnggatcatcggattcgacaacacccgtcaagtcca  238
+
+Sbjct  236  atgcatcagtttcattgcctacaagcccccaagcttcaccgaagcttaatttcttttcta  295
+            ||||||| ||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  239  atgcatcngtttcattgcctacaagcccccaagcttcaccgaagcttaatttcttttcta  298
+
+Sbjct  296  aaacattcttatgaattatctctgctcatttcatttcctattgtctgtgttctttttctc  355
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  299  aaacattcttatgaattatctctgctcatttcatttcctattgtctgtgttctttttctc  358
+
+Sbjct  356  tttatgagacaatttctatcggattgtcaaatgtctgatttatgaatatgtaattt  411
+            |||||||||||||||||||||| ||||||||||||||||||||| |||||| ||||
+Query  359  tttatgagacaatttctatcggnttgtcaaatgtctgatttatgnatatgtgattt  414
+
+400 652 10 F 401 825 79 711 30 92.51
+Sbjct  10   ccctggtggaaacntnaacccgnt-aactt-gcc-ccnaccccagaggccnaaggngaaa  66
+            |||||| |||| | | | |||| | ||||| ||| |  || | |||| || |||| ||||
+Query  79   ccctggnggaatctttaccccgcttaactttgcctcntacgcaagag-cccaaggagaaa  137
+
+Sbjct  67   gnncctagc-aaacggggaggttgnc-gatgttaggcattc-ttaggggtttgtggttna  123
+               | |||| ||||||| |||||| | |||||| ||||||| ||| |||||||||||| |
+Query  138  nagc-tagccaaacggg-aggttggccgatgtt-ggcattcctta-gggtttgtggttca  193
+
+Sbjct  124  acacaatgtgnctggaaaaggaccatttgagaatctgttgcagcacttntctgacccatg  183
+            |||||||||| ||||||||||||||||||||||||||||||||||||| |||||||||||
+Query  194  acacaatgtgactggaaaaggaccatttgagaatctgttgcagcacttgtctgacccatg  253
+
+Sbjct  184  gcacaacactattgtccaaaccttcaactaaagagtgaagacagacttatgatctcatac  243
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  254  gcacaacactattgtccaaaccttcaactaaagagtgaagacagacttatgatctcatac  313
+
+Sbjct  244  ctatctatcttccatcactttcatgtctgtctgtgagtgtgtttcatcttagagttcttg  303
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  314  ctatctatcttccatcactttcatgtctgtctgtgagtgtgtttcatcttagagttcttg  373
+
+Sbjct  304  gtttttgagcttgaattattgttgaaccgttgtagctccatgaacaaatttggaatcttc  363
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  374  gtttttgagcttgaattattgttgaaccgttgtagctccatgaacaaatttggaatcttc  433
+
+Sbjct  364  aatgtacagaggaactaagttaatcaacattgttgtactctttaat  409
+            ||||||||||||||||||||||||||||||||||||||||||||||
+Query  434  aatgtacagaggaactaagttaatcaacattgttgtactctttaat  479
+
+412 654 1 F 407 807 63 711 36 91.21
+Sbjct  1    ccaatggcccaanccccttcgttnatctnacaaaggntccccccnaggtngt-gcccaag  59
+            ||| ||| |||  ||| |||||  |||| |||| || |||| |  || | || ||||| |
+Query  63   ccattggnccatgccc-ttcgtgcatct-acaa-ggatcccac-tagatggttgccca-g  117
+
+Sbjct  60   ctcct-tggaagcccaagtcct-tncccccacaaggccgcatt-tgtggganccagaaag  116
+            || || ||||||||||||| || | ||| |||||||||||||    ||||| | ||||||
+Query  118  cttctgtggaagcccaagtactgtgcccacacaaggccgcatgccctgggatc-agaaag  176
+
+Sbjct  117  agttccgtgacccttgacgctgaccaatggcgtcgtctcnaatgggttcgtatgaagtgg  176
+            |||||||||||| |||||||||| ||||||||||||||| ||||||||||||||||||||
+Query  177  agttccgtgacc-ttgacgctgaacaatggcgtcgtctcaaatgggttcgtatgaagtgg  235
+
+Sbjct  177  accctcctacaactactgtaccgaccggactaggttcccggttatgcccagctgaatgta  236
+            ||| || ||||||||||||||||||||||||||||||||||||||||| |||||||||||
+Query  236  accatc-tacaactactgtaccgaccggactaggttcccggttatgcc-agctgaatgta  293
+
+Sbjct  237  aaagggacagagacgcataagttactactcttgagggttttaatgaatttatgctatcat  296
+            |||||||||||||||||||||||||||| |||||||||||||||||||||||||||||||
+Query  294  aaagggacagagacgcataagttactacccttgagggttttaatgaatttatgctatcat  353
+
+Sbjct  297  tattatttgaattatgcttgttcaagagattgatatatgtattgtttgttggcccatgat  356
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  354  tattatttgaattatgcttgttcaagagattgatatatgtattgtttgttggcccatgat  413
+
+Sbjct  357  gtttatgctatatttgggcctaaaattacatgttataattcatatatgtattgatt  412
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  414  gtttatgctatatttgggcctaaaattacatgttataattcatatatgtattgatt  469
+
+440 654 1 F 432 866 142 719 51 88.30
+Sbjct  1    ccaatggcccaancccctt-cgtt-natctnacaaaggntccccccnaggtng-tgccca  57
+            ||| ||| |||  | |||| ||||  |||| |||| |  | || |  || | | | ||||
+Query  142  cca-tggnccatgcncctttcgttgcatct-acaang-atnccacatagat-gntnccca  197
+
+Sbjct  58   agctccttggaagcccaagtccttncccccacaaggccgcatttg-tggganccagaaag  116
+             ||||  |||||||||| || ||  ||| |||||| |||||| || ||| | | |||| |
+Query  198  -gctctgtggaagccca-gtactgtcccacacaagcccgcatgtggtggaatc-agaa-g  253
+
+Sbjct  117  agttccgtgacccttgacgctgaccaatggcgtcgtctcnaatgggttcgtatgaagtgg  176
+            | | |||||||||||||||||||||| |||||||||||| ||||||| ||||||||||||
+Query  254  antnccgtgacccttgacgctgacca-tggcgtcgtctc-aatgggtccgtatgaagtgg  311
+
+Sbjct  177  accctcctacaactactgtaccgaccggactaggttcccggttatgcccagctgaatgta  236
+             || |  |||||||||| |||||||||||||||||||||| ||||||| |||||||| ||
+Query  312  nccat-ntacaactactntaccgaccggactaggttcccgnttatgcc-agctgaatnta  369
+
+Sbjct  237  aaagggacagagacgcataagttactactcttgagggttttaatgaatttatgctatcat  296
+            |||||||||||||||| |||||||||||  ||||||||||||||||||||||||||||||
+Query  370  aaagggacagagacgcntaagttactaccnttgagggttttaatgaatttatgctatcat  429
+
+Sbjct  297  tattatttgaattatgcttgttcaagagattgatatatgtattgtttgttggcccatgat  356
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  430  tattatttgaattatgcttgttcaagagattgatatatgtattgtttgttggcccatgat  489
+
+Sbjct  357  gtttatgctatatttgggcctaaaattacatgttataattcatatatgtattgattagct  416
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  490  gtttatgctatatttgggcctaaaattacatgttataattcatatatgtattgattagct  549
+
+Sbjct  417  atgtattttcatatgttatgatct  440
+            ||||||||||||||||||||||||
+Query  550  atgtattttcatatgttatgatct  573
+
+461 654 0 F 461 1212 120 799 41 91.11
+Sbjct  0    cccaatggcccaancccctt-cg-ttnatctnacaaaggntccccccnaggtngtgccca  57
+            |||||||| ||||  ||||| || |  ||||  ||| || |||| |  || | ||  |||
+Query  120  cccaatggnccaatgccctttcggtgcatcttncaagggntcccncatagatggttncca  179
+
+Sbjct  58   agctcct-tggaagcccaagtcct-tncccccacaaggccgcatttg-tggganccagaa  114
+             ||| || ||||| || |||| || | ||| |||||| |||||| || ||| | | ||||
+Query  180  ngcttctgtggaancc-aagtactgtgcccacacaagnccgcatgtggtggnatc-agaa  237
+
+Sbjct  115  agagttccgtgacccttgacgctgaccaatggcgtcgtctcnaatgggttcgtatgaagt  174
+            ||||||||||| ||||||||||||| ||||||||||||||| ||||||||||||||||||
+Query  238  agagttccgtg-cccttgacgctgaacaatggcgtcgtctcaaatgggttcgtatgaagt  296
+
+Sbjct  175  ggaccctcctacaactactgtaccgaccggactaggttcccggttatgcccagctgaatg  234
+            || || || ||||||||||||||||||||||||||||||||||||||||| |||||||||
+Query  297  ggnccatc-tacaactactgtaccgaccggactaggttcccggttatgcc-agctgaatg  354
+
+Sbjct  235  taaaagggacagagacgcataagttactactcttgagggttttaatgaatttatgctatc  294
+            ||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||
+Query  355  taaaagggacagagacgcataagttactactcttgngggttttaatgaatttatgctatc  414
+
+Sbjct  295  attattatttgaattatgcttgttcaagagattgatatatgtattgtttgttggcccatg  354
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  415  attattatttgaattatgcttgttcaagagattgatatatgtattgtttgttggcccatg  474
+
+Sbjct  355  atgtttatgctatatttgggcctaaaattacatgttataattcatatatgtattgattag  414
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  475  atgtttatgctatatttgggcctaaaattacatgttataattcatatatgtattgattag  534
+
+Sbjct  415  ctatgtattttcatatgttatgatctacttacaagttttattcttt  460
+            ||||||||||||||||||||||||||||||||||||||||||||||
+Query  535  ctatgtattttcatatgttatgatctacttacaagttttattcttt  580
+
+441 658 161 F 438 713 2 777 34 92.26
+Sbjct  161  ctccgc-acagtggattcctgtgttgattcgagttggagcacggatttgtgtaccgtgag  219
+            |||| | | || || | ||| | || ||||| |||||  | ||| ||| | | ||| | |
+Query  2    ctccccnaaaggggctccctnttttaattcg-gttggccc-cgg-ttt-tttcccg-ggg  56
+
+Sbjct  220  cacggaacactcccggatactatgatggacggtactggac-aatgtgga-gcttccattg  277
+            | |||||| | ||| | | || || ||| ||||||||||| |||||||| ||| |||| |
+Query  57   cccggaacccnccccggttctntgntggccggtactggaccaatgtggaagct-ccat-g  114
+
+Sbjct  278  ttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtac  337
+            |||||||||||||||||||||||||||||||||||||||||||||||||||||||||| |
+Query  115  ttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtcc  174
+
+Sbjct  338  c-tggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagt  396
+            | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  175  cctggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagt  234
+
+Sbjct  397  ttcattgcctacaagcccccaagcttcaccgaagcttaatcccctttctggaatattcag  456
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  235  ttcattgcctacaagcccccaagcttcaccgaagcttaatcccctttctggaatattcag  294
+
+Sbjct  457  cgttgattattctggaacccatttctatgtggtcaatgcaaatttaagaaattatttgcc  516
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  295  cgttgattattctggaacccatttctatgtggtcaatgcaaatttaagaaattatttgcc  354
+
+Sbjct  517  gacttaaaagttgaggaactattgtttgaaagtgaaaatgttattcctatcagtttctct  576
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  355  gacttaaaagttgaggaactattgtttgaaagtgaaaatgttattcctatcagtttctct  414
+
+Sbjct  577  ataattatagttatcatttcatttc  601
+            |||||||||||||||||||||||||
+Query  415  ataattatagttatcatttcatttc  439
+
+425 658 60 F 426 736 0 683 56 86.84
+Sbjct  60   cagcacgaggaggtngctgctgaggttgccccatcggaaga-gaanttgaactcttctt-  118
+            || |||| |||  |  ||  |||||| ||||||  |||||| ||  |||  || ||||| 
+Query  0    ca-cacg-ggaattncctcatgaggt-gccccaatggaagaagat-ttg-gcttttcttn  54
+
+Sbjct  119  cctcctnncttagtgacgt-gattggctaaggaagt-gactccttctccgca-ca-gtgg  173
+            || |||  ||||||| ||| || ||||||||||||| |||| |||||||||| || ||||
+Query  55   ccncctgccttagtg-cgtcgaatggctaaggaagttgactncttctccgcaacaagtgg  113
+
+Sbjct  174  attcc-t-gtgttga-ttcgagttggagcacggatttgtgtaccgtgagcacggaa-cac  229
+            || || | ||||||| |||||||| ||||||||||||||||||||||||||||||| |||
+Query  114  at-ccnttgtgttgaattcgagttagagcacggatttgtgtaccgtgagcacggaaacac  172
+
+Sbjct  230  tcccggatactatgatggacggtactggacaatgtgga-gcttccattgttcggatgcac  288
+            |||||||||||| ||||||||||||||||||||||||| |||||||||||||||||||||
+Query  173  tcccggatactacgatggacggtactggacaatgtggaagcttccattgttcggatgcac  232
+
+Sbjct  289  cgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtacctgg-cgcctt  347
+            |||||||||||||||||||||||||||||||||||||||||||||||||| || ||||||
+Query  233  cgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtacccgggcgcctt  292
+
+Sbjct  348  cattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattgccta  407
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  293  cattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattgccta  352
+
+Sbjct  408  caagcccccaagcttcaccgaagcttaatcccctttctggaatattcagcgttga-ttat  466
+            |||||||||||||||||||||||||||||  | |||||  || ||||    | || ||||
+Query  353  caagcccccaagcttcaccgaagcttaatttcttttctaaaacattc-ttat-gaattat  410
+
+Sbjct  467  -tctggaacccatttctat  484
+             ||||   | |||||| ||
+Query  411  ctctg---ctcatttc-at  425
+
+428 658 174 F 433 798 0 795 22 94.89
+Sbjct  174  attcctgtgtt-g-a-ttcgagttggagcacggatttgtgtaccgtgagcacgg-aacac  229
+            || ||| |||| | | ||||  ||||| ||||| || |||| |||||||||||| ||| |
+Query  0    atccct-tgtttggaattcgtnttggancacggntt-gtgttccgtgagcacggnaaccc  57
+
+Sbjct  230  tcccggatactatgatggacggtactggacaatgtgga-gcttccattgttcggatgcac  288
+            |||||  ||||||||||||||||| ||||||||||||| |||||| ||||||||||||||
+Query  58   tcccgnntactatgatggacggtantggacaatgtggaagcttccnttgttcggatgcac  117
+
+Sbjct  289  cgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtacc-tggcgcctt  347
+            |||||||||||||||||||||||||||||||||||||||||||||||||| |||||||||
+Query  118  cgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtaccctggcgcctt  177
+
+Sbjct  348  cattaggatcatcggatt-cgacaacacccgtcaagtccaatgcatcagtttcattgcct  406
+            |||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||
+Query  178  cattaggatcatcggatttcgacaacacccgtcaagtccaatgcatcagtttcattgcct  237
+
+Sbjct  407  acaagcccccaagcttcaccgaagcttaatcccctttctggaatattcagcgttgattat  466
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  238  acaagcccccaagcttcaccgaagcttaatcccctttctggaatattcagcgttgattat  297
+
+Sbjct  467  tctggaacccatttctatgtggtcaatgcaaatttaagaaattatttgccgacttaaaag  526
+            ||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||
+Query  298  tctggaacccatttctatgtggtcaatncaaatttaagaaattatttgccgacttaaaag  357
+
+Sbjct  527  ttgaggaactattgtttgaaagtgaaaatgttattcctatcagtttctctataattatag  586
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  358  ttgaggaactattgtttgaaagtgaaaatgttattcctatcagtttctctataattatag  417
+
+Sbjct  587  ttatcatttcatttc  601
+            ||| |||||||||||
+Query  418  ttaccatttcatttc  432
+
+467 658 110 F 481 826 0 867 27 94.30
+Sbjct  110  ctctt-cttcctcc-tnnc-ttagtgacgt-ga-ttggctaaggaagtgact-cc-ttct  162
+            ||||| ||||| || |  | |||||| ||| || ||||||| ||||||  || || ||||
+Query  0    ctctttcttccnccctgcccttagtgncgttgaattggctagggaagttgcttcccttct  59
+
+Sbjct  163  ccg-ca-ca-gtggattcct-gtgttga-ttcgagttggagcacggatttgtgtaccgtg  217
+            ||| || || |||||| ||| ||||||| ||||||||||||| ||||||||||| |||||
+Query  60   ccggcaacaagtggat-ccttgtgttgaattcgagttggagcncggatttgtgtnccgtg  118
+
+Sbjct  218  agcacggaa-cactcccggatactatgatggacggtactggacaatgtgga-gcttccat  275
+            ||||||||| |||||||||||||||||||||||| |||||||||||||||| ||||||||
+Query  119  agcacggaaacactcccggatactatgatggacgatactggacaatgtggaagcttccat  178
+
+Sbjct  276  tgttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagt  335
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  179  tgttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagt  238
+
+Sbjct  336  acc-tggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatca  394
+            ||| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  239  accctggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatca  298
+
+Sbjct  395  gtttcattgcctacaagcccccaagcttcaccgaagcttaatcccctttctggaatattc  454
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  299  gtttcattgcctacaagcccccaagcttcaccgaagcttaatcccctttctggaatattc  358
+
+Sbjct  455  agcgttgattattctggaacccatttctatgtggtcaatgcaaatttaagaaattatttg  514
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  359  agcgttgattattctggaacccatttctatgtggtcaatgcaaatttaagaaattatttg  418
+
+Sbjct  515  ccgacttaaaagttgaggaactattgtttgaaagtgaaaatgttattcctatcagtttct  574
+            ||||||||| ||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  419  ccgacttaacagttgaggaactattgtttgaaagtgaaaatgttattcctatcagtttct  478
+
+Sbjct  575  ct  576
+            ||
+Query  479  ct  480
+
+465 658 20 F 485 846 47 737 71 85.05
+Sbjct  20   ctccntt-ttcccgt-nccccagccacac-gn-at-tctccatcacagcacgagga-g-g  72
+            |||| |  |||||||  || || || | | |  ||  || | || ||||||| ||| | |
+Query  47   ctccgtgcttcccgtcnccgcancc-cncagncatcacttcctcgcagcacggggaagag  105
+
+Sbjct  73   tngctgc-tga-ggt-t-gcc-ccatcggaagagaant-tga-actct-tctt-cctcc-  123
+            | ||| | ||| ||| | ||| |||| ||||||||| | ||| ||||| |||| ||||| 
+Query  106  tngctncatgaaggtgtngccaccattggaagagaagtntgagactctatcttacctccc  165
+
+Sbjct  124  tnncttagtgacgt-gattggctaaggaagt-gact-ccttctccgca-cagtggattcc  178
+            |  ||||||||||| ||||||| | |||||| |||| ||||| ||||| |||||||||||
+Query  166  tgacttagtgacgtcgattggcna-ggaagttgactaccttcaccgcancagtggattcc  224
+
+Sbjct  179  -tgtgttga-ttcgagttggagcacggatttgtgtaccgtgagcacggaa-cactcccgg  235
+             |||||||| |||||||| ||||||||||||||||||||||||||||||| |||||||||
+Query  225  ctgtgttgaattcgagttagagcacggatttgtgtaccgtgagcacggaaacactcccgg  284
+
+Sbjct  236  atactatgatggacggtactggacaatgtgga-gcttccattgttcggatgcaccgactc  294
+            |||||| ||||||||||||||||||||||||| |||||||||||||||||||||||||||
+Query  285  atactacgatggacggtactggacaatgtggaagcttccattgttcggatgcaccgactc  344
+
+Sbjct  295  cgctcaagtgttgaaggaagttgaagaatgcaagaaggagtacctgg-cgccttcattag  353
+            ||||||||||||||||||||||||||||||||||||||| |||| || ||| ||||||||
+Query  345  cgctcaagtgttgaaggaagttgaagaatgcaagaaggantacccgggcgcnttcattag  404
+
+Sbjct  354  gatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagcc  413
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  405  gatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagcc  464
+
+Sbjct  414  cccaagcttcaccgaagcttaatcccctttctggaatattcagcgttga-ttat-tctgg  471
+            |||||||||||||||||||||||  | |||||  || ||||    | || |||| |||| 
+Query  465  cccaagcttcaccgaagcttaatttcttttctaaaacattctta-t-gaattatctctg-  522
+
+Sbjct  472  aacccatttctat  484
+              | |||||| ||
+Query  523  --ctcatttc-at  531
+
+416 658 186 F 416 849 1 763 23 94.47
+Sbjct  186  attcgagttggagcacggatttgtgt-accgtgagcacggaacactcccggatactatga  244
+            |||||||||||||||||||||||||| | |||||||||||| ||||||||||||||||| 
+Query  1    attcgagttggagcacggatttgtgtcaacgtgagcacggancactcccggatactatgn  60
+
+Sbjct  245  tggacggtactggacaatgtggagcttccattgttcggatgcaccgactccgctcaagtg  304
+            ||| || ||||||||| ||||||||| | |||   |||||||||||||||||||||||||
+Query  61   tggncgatactggacantgtggagctncnatt-nccggatgcaccgactccgctcaagtg  119
+
+Sbjct  305  ttgaaggaagttgaagaatgcaagaaggagtacc-tggcgccttcattaggatcatcgga  363
+            ||||||||||||||||||||| |||||| || || ||||||||||||| |||||||||||
+Query  120  ttgaaggaagttgaagaatgcnagaaggngtnccctggcgccttcattnggatcatcgga  179
+
+Sbjct  364  ttcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagcccccaagcttc  423
+            |||| | || ||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  180  ttcgncnacncccgtcaagtccaatgcatcagtttcattgcctacaagcccccaagcttc  239
+
+Sbjct  424  accgaagcttaatcccctttctggaatattcagcgttgattattctggaacccatttcta  483
+            ||||||||||| ||||||||| ||||||||||||||||||||||||||||||||||||||
+Query  240  accgaagctta-tcccctttcnggaatattcagcgttgattattctggaacccatttcta  298
+
+Sbjct  484  tgtggtcaatgcaaatttaagaaattatttgccgacttaaaagttgaggaactattgttt  543
+            |||||||||||||||||||||||||||||||||||||||| |||||||||||||||||||
+Query  299  tgtggtcaatgcaaatttaagaaattatttgccgacttaacagttgaggaactattgttt  358
+
+Sbjct  544  gaaagtgaaaatgttattcctatcagtttctctataattatagttatcatttcatttc  601
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  359  gaaagtgaaaatgttattcctatcagtttctctataattatagttatcatttcatttc  416
+
+471 658 126 F 479 912 4 896 18 96.21
+Sbjct  126  cttagtgacgt-gattggctaaggaagtgact-ccttctccgca-ca-gtggattcct-g  180
+            ||||||| ||| |||||||||||||  |  || ||||| ||||| || |||||||||| |
+Query  4    cttagtgccgttgattggctaaggagnttgcttccttc-ccgcaacaagtggattccttg  62
+
+Sbjct  181  tgttga-ttcgagttggagcacggatttgtgtaccgtgagcacggaacactcccggatac  239
+            |||||| ||||||||||||||||||||| ||||||||| ||||||||| |||||||||||
+Query  63   tgttgaattcgagttggagcacggatttntgtaccgtgggcacggaaccctcccggatac  122
+
+Sbjct  240  tatgatggacggtactggacaatgtgga-gcttcc-attgttcggatgcaccgactccgc  297
+            |||||||||||||||||||||||||||| |||||| ||||||||||||||||||||||||
+Query  123  tatgatggacggtactggacaatgtggaagcttcccattgttcggatgcaccgactccgc  182
+
+Sbjct  298  tcaagtgttgaaggaagttgaagaatgcaagaaggagtacc-tggcgccttcattaggat  356
+            ||||||||||||||||||||||||||||||||||||||||| ||||||||||||||||||
+Query  183  tcaagtgttgaaggaagttgaagaatgcaagaaggagtaccctggcgccttcattaggat  242
+
+Sbjct  357  catcggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagccccc  416
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  243  catcggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagccccc  302
+
+Sbjct  417  aagcttcaccgaagcttaatcccctttctggaatattcagcgttgattattctggaaccc  476
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  303  aagcttcaccgaagcttaatcccctttctggaatattcagcgttgattattctggaaccc  362
+
+Sbjct  477  atttctatgtggtcaatgcaaatttaagaaattatttgccgacttaaaagttgaggaact  536
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  363  atttctatgtggtcaatgcaaatttaagaaattatttgccgacttaaaagttgaggaact  422
+
+Sbjct  537  attgtttgaaagtgaaaatgttattcctatcagtttctctataattatagttatcatttc  596
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  423  attgtttgaaagtgaaaatgttattcctatcagtttctctataattatagttatcatttc  482
+
+395 658 131 F 407 988 0 646 52 87.03
+Sbjct  131  tgacgt-ga-ttggctaaggaagtgact-ccttctccgca--cagtggattcc-tg-tgt  183
+            || ||| || ||||| | ||| || ||| ||||||||| |  ||| ||   || || |||
+Query  0    tg-cgtcgaattggcnangga-gttactaccttctccgnaaacagggggncccctggtgt  57
+
+Sbjct  184  tga-ttcgagtt-ggagcacgg-at-ttgtgtaccgtgagcacggaacactcccggatac  239
+             || |||||||| ||||||||| || ||||||||||||||||||||||||||||||||||
+Query  58   ngacttcgagtttggagcacgggatcttgtgtaccgtgagcacggaacactcccggatac  117
+
+Sbjct  240  tatgatggacggtactggacaatgtgga-gcttccattgttcggatgcaccgactccgct  298
+            || ||||||||||||||||||||||||| ||||||||||||||||||||||||||| |||
+Query  118  tacgatggacggtactggacaatgtggaagcttccattgttcggatgcaccgactctgct  177
+
+Sbjct  299  caagtgttgaaggaagttgaagaatgcaagaaggagtacctgg-cgccttcattaggatc  357
+            ||||| |||||||||||||||||||||||||||||||||| || ||||||||||||||||
+Query  178  caagtattgaaggaagttgaagaatgcaagaaggagtacccgggcgccttcattaggatc  237
+
+Sbjct  358  atcggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagccccca  417
+            ||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||
+Query  238  atcggattcgacaacacccgtcaagtccagtgcatcagtttcattgcctacaagccccca  297
+
+Sbjct  418  agcttcaccgaagcttaa-tcccctttctggaatattcagcgttgattattctggaaccc  476
+            |||||||| || |||||| |||  |||||||||||||||  ||||| ||| | |||||||
+Query  298  agcttcactgatgcttaaatcc-ttttctggaatattcaatgttgactat-ccggaaccc  355
+
+Sbjct  477  a-tttctatgtggtcaatgcaaatttaagaaattattt-gccga-cttaaaa  525
+            | ||| | | |||||||||   ||||||| |||||||| ||| |  | ||||
+Query  356  aattt-tgtatggtcaatgtnnatttaagtaattattttgccaaagtgaaaa  406
+
+395 658 131 F 405 1049 12 677 41 89.75
+Sbjct  131  tgacgt-ga-ttggctaaggaagtgact-ccttctccgca-cagtggattcct-gtgttg  185
+            || ||| || ||| ||||||||||  || ||||||||||| || ||||| ||| ||||||
+Query  12   tgccgtcgaattg-ctaaggaagttgctaccttctccgcaacaatggatcccttgtgttg  70
+
+Sbjct  186  a-ttcgagttggagcacggatttgtgtaccgtgagcacggaa-cactcccgg-atactat  242
+            |  |||||||||||| |||||||||||||||||||||||||| ||||||||| |||||| 
+Query  71   aantcgagttggagcncggatttgtgtaccgtgagcacggaancactcccgggatactac  130
+
+Sbjct  243  gatggacggtactggacaatgtgga-gcttccattgttcggatgcaccgactccgctcaa  301
+            ||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||||
+Query  131  gatggacggtactggacaatgtggaagcttccattgttcggatgcaccgactccgctcaa  190
+
+Sbjct  302  gtgttgaaggaagttgaagaatgcaagaaggagtacctgg-cgccttcattaggatcatc  360
+            ||||||||||||||||||||||||||||||||||||| || |||||||||||||||||||
+Query  191  gtgttgaaggaagttgaagaatgcaagaaggagtacccgggcgccttcattaggatcatc  250
+
+Sbjct  361  ggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagcccccaagc  420
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  251  ggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagcccccaagc  310
+
+Sbjct  421  ttcaccgaagcttaa-tcccctttctggaatattcagcgttgattattctggaaccca-t  478
+            ||||| || |||||| |||  |||||||||||||||  ||||| ||| | |||||||| |
+Query  311  ttcactgatgcttaaatcc-ttttctggaatattcaatgttgactat-ccggaacccaat  368
+
+Sbjct  479  ttctatgtggtcaatgcaaatttaagaaattattt-gccga-cttaaaa  525
+            || | | ||||||||| ||||||||| |||||||| ||| |  | ||||
+Query  369  tt-tgtatggtcaatgtaaatttaagtaattattttgccaaagtgaaaa  416
+
+444 658 158 F 444 1120 0 786 34 92.34
+Sbjct  158  cttctccgca-cagtggattcctgtgttga-ttcgagttggagcacggatttgtgtaccg  215
+            |||| ||||| ||| || | |||| ||||| || | |||||  | ||| ||||| | |||
+Query  0    cttc-ccgcaacag-gggtccctgggttgaattngngttgggncccggntttgtttcccg  57
+
+Sbjct  216  tgagcacggaacactcccggatactatgatggacggtactggacaatgtgga-gcttcca  274
+            ||  | |||||| | ||||| | ||||| ||| |||| |||| ||||||||| ||| |||
+Query  58   tggncccggaacccncccggntnctatgntggccggtnctggccaatgtggaagct-cca  116
+
+Sbjct  275  ttgttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggag  334
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  117  ttgttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggag  176
+
+Sbjct  335  tacc-tggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatc  393
+            | || |||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  177  tnccctggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatc  236
+
+Sbjct  394  agtttcattgcctacaagcccccaagcttcaccgaagcttaatcccctttctggaatatt  453
+            |||||||||||||||||||||||||| |||||||||||||||||||||||||||||||||
+Query  237  agtttcattgcctacaagcccccaag-ttcaccgaagcttaatcccctttctggaatatt  295
+
+Sbjct  454  cagcgttgattattctggaacccatttctatgtggtcaatgcaaatttaagaaattattt  513
+            ||||||||||||||||||||||| ||||||||||||||||||||||||||||||||||||
+Query  296  cagcgttgattattctggaacccntttctatgtggtcaatgcaaatttaagaaattattt  355
+
+Sbjct  514  gccgacttaaaagttgaggaactattgtttgaaagtgaaaatgttattcctatcagtttc  573
+            |||||||| |||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  356  gccgacttnaaagttgaggaactattgtttgaaagtgaaaatgttattcctatcagtttc  415
+
+Sbjct  574  tctataattatagttatcatttcatttc  601
+            ||| ||||||||||||||||||||||||
+Query  416  tctntaattatagttatcatttcatttc  443
+
+397 658 88 F 416 1230 11 624 63 84.50
+Sbjct  88   cccca-tcggaa-ga-gaantt-gaac-tcttcttcctcc-tnnc-tt-agtgacgt-g-  138
+            ||||| | |||| || ||| || |  | | ||||||| || |  | || |||  | | | 
+Query  11   ccccaattggaaagaagaantttgggccttttcttccnccctggcctttagtnccntcgg  70
+
+Sbjct  139  a-ttggctaaggaagt-gactcc-ttctccgca-ca-gtggattcct-gtgttga-ttcg  190
+            | |||||||||||||| |||||| ||||| ||| ||  ||| | ||| ||||||| ||||
+Query  71   aattggctaaggaagttgactccnttctcngcaacaaatggntcccttgtgttgaattcg  130
+
+Sbjct  191  agttggagcacggatttgtgtaccgtgagcacggaa-cactcccggatactatgatggac  249
+            |||| | || ||||||||||| |||||||| ||||| ||||||||||||||| |||||||
+Query  131  agttagggcncggatttgtgtcccgtgagcccggaaacactcccggatactacgatggac  190
+
+Sbjct  250  -ggtactggacaat-gtgga-gcttcc-attgttcggatgcaccgactccgctcaagtgt  305
+             ||||||||||||| ||||| |||||| ||||||||||||||||||||||||||||||||
+Query  191  cggtactggacaattgtggaagcttcccattgttcggatgcaccgactccgctcaagtgt  250
+
+Sbjct  306  tgaaggaagttgaagaatgcaagaaggagtacctgg-cgccttcattaggatcatcggat  364
+            ||||||||||||||||||||||||||||||||| || |||||||||||||||||||||||
+Query  251  tgaaggaagttgaagaatgcaagaaggagtacccgggcgccttcattaggatcatcggat  310
+
+Sbjct  365  tcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagcccccaagcttca  424
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  311  tcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagcccccaagcttca  370
+
+Sbjct  425  ccgaagcttaatcccctttctggaatattcagcgttga-ttat-tctggaacccatttct  482
+            ||||||||||||  | |||||  || ||||    | || |||| ||||   | |||||| 
+Query  371  ccgaagcttaatttcttttctaaaacattctta-t-gaattatctctg---ctcatttc-  425
+
+Sbjct  483  at  484
+            ||
+Query  426  at  426
+
+486 658 116 F 475 1297 0 853 36 92.51
+Sbjct  116  ttcctcctnncttagtgacgtgattggctaaggaagtgactccttctccgcacagtggat  175
+            |||| |||  ||||| | |||||| | ||| | | ||| || |||| ||||| ||||  |
+Query  0    ttccccctgccttag-g-cgtgat-gncta-gna-gtg-ctncttc-ccgcanagtgn-t  51
+
+Sbjct  176  tcct-gtgttgattcgagttggagcacggatttgtgtaccgtgagcacggaacactcccg  234
+             |||  |||||| |||||| || || ||||||| | | ||||| ||||| ||||||||||
+Query  52   -ccttntgttgaatcgagt-ggngcncggattt-ttttccgtgngcacgnaacactcccg  108
+
+Sbjct  235  gatactatgatggacggtactggacaatgtgga-gcttccattgttcggatgcaccgact  293
+            | | ||||||||| |||||||||| |||||||| |||||||||||||||||||||||| |
+Query  109  g-tnctatgatggccggtactgga-aatgtggaagcttccattgttcggatgcaccga-t  165
+
+Sbjct  294  ccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtacc-tggcgccttcatta  352
+            ||| ||||||||||||||||||||||||||||||||||||||||| ||||||||||||||
+Query  166  ccgntcaagtgttgaaggaagttgaagaatgcaagaaggagtaccctggcgccttcatta  225
+
+Sbjct  353  ggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagc  412
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  226  ggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagc  285
+
+Sbjct  413  ccccaagcttcaccgaagcttaatcccctttctggaatattcagcgttgattattctgga  472
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  286  ccccaagcttcaccgaagcttaatcccctttctggaatattcagcgttgattattctgga  345
+
+Sbjct  473  acccatttctatgtggtcaatgcaaatttaagaaattatttgccgacttaaaagttgagg  532
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  346  acccatttctatgtggtcaatgcaaatttaagaaattatttgccgacttaaaagttgagg  405
+
+Sbjct  533  aactattgtttgaaagtgaaaatgttattcctatcagtttctctataattatagttatca  592
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  406  aactattgtttgaaagtgaaaatgttattcctatcagtttctctataattatagttatca  465
+
+Sbjct  593  tttcatttc  601
+            |||||||||
+Query  466  tttcatttc  474
+
+437 658 140 F 436 1327 0 777 32 92.67
+Sbjct  140  tggctaaggaagtgactccttctccgcacagtggattcctgtgttga-ttcgagttggag  198
+            |||||| |||| |||||||||| ||| ||| ||| | ||| | |||| ||||  |||| |
+Query  0    tggcta-ggaattgactccttc-ccgaacantggnt-ccttttttgaattcgntttggng  56
+
+Sbjct  199  cacggatttgtgtaccgtgagcacggaacactcccggatactatgatggacggtactgga  258
+            | ||| ||| |   ||||| || || |||||||| || |||| |||||| ||||||||||
+Query  57   cncggntttttnncccgtgngcncgnaacactccngg-tactntgatggncggtactgga  115
+
+Sbjct  259  caatgtgga-gcttccattgttcggatgcaccgactccgctcaagtgttgaaggaagttg  317
+            || | |||| |||||||||||||||||||||||||||||||||||||||||||||| |||
+Query  116  cattntggaagcttccattgttcggatgcaccgactccgctcaagtgttgaaggaanttg  175
+
+Sbjct  318  aagaatgcaagaaggagtacc-tggcgccttcattaggatcatcggattcgacaacaccc  376
+            |||||||||||||||| |||| ||||||||||||||||||||||||||||||||||||||
+Query  176  aagaatgcaagaaggantaccctggcgccttcattaggatcatcggattcgacaacaccc  235
+
+Sbjct  377  gtcaagtccaatgcatcagtttcattgcctacaagcccccaagcttcaccgaagcttaat  436
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  236  gtcaagtccaatgcatcagtttcattgcctacaagcccccaagcttcaccgaagcttaat  295
+
+Sbjct  437  cccctttctggaatattcagcgttgattattctggaacccatttctatgtggtcaatgca  496
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  296  cccctttctggaatattcagcgttgattattctggaacccatttctatgtggtcaatgca  355
+
+Sbjct  497  aatttaagaaattatttgccgacttaaaagttgaggaactattgtttgaaagtgaaaatg  556
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  356  aatttaagaaattatttgccgacttaaaagttgaggaactattgtttgaaagtgaaaatg  415
+
+Sbjct  557  ttattcctatcagtttctct  576
+            ||||||||||||||||||||
+Query  416  ttattcctatcagtttctct  435
+
+415 691 0 F 433 814 49 722 42 90.09
+Sbjct  0    ggattttgg--aag-cca-gttnttt-ggaa-c-aag-ca-ccccngng-catn--t-cn  46
+            ||| |||||  ||| ||| ||| ||| |||| | ||| || |||| | | |||   | | 
+Query  49   ggaatttggggaaggccaagtttttttggaaaccaaggcaaccccggtggcatngcttct  108
+
+Sbjct  47   ctcatcgcgntgntgctt-agcncc-t-cagtt-ccttcatt-gctgacc-ggctcgaaa  100
+            || |||||| || ||||| ||  || | ||||| |||||||| ||||||| |||||||||
+Query  109  ctnatcgcg-tggtgctttagacccnttcagtttccttcatttgctgacccggctcgaaa  167
+
+Sbjct  101  cagcagtgaagaangtcatcgctgaaggaaagtcccggacgaaagatcttggtggaacaa  160
+            ||||||||||||| ||||||||||||||||||| ||||||||||||||||||||||||||
+Query  168  cagcagtgaagaaagtcatcgctgaaggaaagtgccggacgaaagatcttggtggaacaa  227
+
+Sbjct  161  gcacgactcaagaggtcgttgatgcggtcattgcaaaactagactgactttgacaaatta  220
+            || ||||||||||||||||||||||||||||||||||||| |||||||||||||||||||
+Query  228  gcncgactcaagaggtcgttgatgcggtcattgcaaaactngactgactttgacaaatta  287
+
+Sbjct  221  cgtgttcccgctctgcataaatcatcaaattcctgatacagattttgtgttgccaaaata  280
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  288  cgtgttcccgctctgcataaatcatcaaattcctgatacagattttgtgttgccaaaata  347
+
+Sbjct  281  tggggtatgatccaagcacaacggttatctggttttgtacctcgagttttattatattct  340
+            |||||| |||||||||| |||||||||||||||||||| |||||||||||||||||||||
+Query  348  tggggtntgatccaagcncaacggttatctggttttgtncctcgagttttattatattct  407
+
+Sbjct  341  ttagccgtggaatatttcgataagaaaaaaaaacatgttccaaataattcatgttgctac  400
+            ||| ||||||||||||||| ||||||||||||||||||||||||||||||||||||||||
+Query  408  ttanccgtggaatatttcgntaagaaaaaaaaacatgttccaaataattcatgttgctac  467
+
+Sbjct  401  gtttgttggcgcct  414
+            ||||||||||||||
+Query  468  gtttgttggcgcct  481
+
+421 695 59 F 427 938 0 761 29 93.16
+Sbjct  59   cccaacttgaagncgtt-a-ggactgatctccaaagnggttntggaaagctg-acccncc  115
+            |||||||| ||| | || | |||||| | | ||||  |||| ||||||  || | || ||
+Query  0    cccaacttnaagacctttaaggactgntnttcaaaagggttntggaaa-ntgnaaccacc  58
+
+Sbjct  116  agng-ntagcncttactgacaactcc-attgtgg-atcaggctctcgg-aaagcatggg-  171
+             | |  |||| ||||||||||| ||| ||| ||| ||||||||||||| |||||||||| 
+Query  59   -gnggatagcccttactgacaantcccattntgggatcaggctctcgggaaagcatgggn  117
+
+Sbjct  172  atc-atctgcgttgaggatctcatccacgagatcatgactgttggacctcacttcaagga  229
+            ||| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  118  atccatctgcgttgaggatctcatccacgagatcatgactgttggacctcacttcaagga  177
+
+Sbjct  230  agccaacaacttcctgtggccattccaattgaaggcaccactcggtggccttaagaagaa  289
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  178  agccaacaacttcctgtggccattccaattgaaggcaccactcggtggccttaagaagaa  237
+
+Sbjct  290  gagaaaccactacgtcgaaggtggtgatgctggaaacagggagaatttcatcaacgagct  349
+            ||||||||| ||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  238  gagaaacca-tacgtcgaaggtggtgatgctggaaacagggagaatttcatcaacgagct  296
+
+Sbjct  350  tgtcaggagaatgaattgatgaaagcttccttctttatctttgcaaatttcaaagatttt  409
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  297  tgtcaggagaatgaattgatgaaagcttccttctttatctttgcaaatttcaaagatttt  356
+
+Sbjct  410  gggaccgagtttttttttttttgttcaagttatcagagacttgtgatcttttatccgaga  469
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  357  gggaccgagtttttttttttttgttcaagttatcagagacttgtgatcttttatccgaga  416
+
+Sbjct  470  taggcttttt  479
+            ||||||||||
+Query  417  taggcttttt  426
+
+432 701 5 F 422 715 7 731 41 90.40
+Sbjct  5    ggnccttggaccnccagngg-tcgttcgtttccatgggantatcnccgntggctcttaca  63
+            || ||| ||||  || | ||  ||| |||| || ||||  || | ||| | ||| | || 
+Query  7    ggccct-ggacn-cc-gnggnacgt-cgtt-ccctggggttacc-ccg-t-gctnt-ac-  57
+
+Sbjct  64   gcgttccatcaggactt-cctcctccnnccctgtaactngncgcaatgganactggagta  122
+            |||| |||||||| |||  |  | ||  |||| || || | |||| |||| |||||||||
+Query  58   gcgt-ccatcagg-cttatcnacccctcccctnta-cttgtcgca-tggagactggagta  112
+
+Sbjct  123  ttgtcc-aaggccttccgattgatgaagtatc-aaggaagaagntggatttgactgcaga  180
+            |||||| ||||||| ||||||||||||||||| |||||||||| ||||||||||||||||
+Query  113  ttgtcccaaggcctcccgattgatgaagtatccaaggaagaagatggatttgactgcaga  172
+
+Sbjct  181  ngagctcaaggaagagaaggacttggcgtactcatgcctctcttaaacccttctggagca  240
+             |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  173  ggagctcaaggaagagaaggacttggcgtactcatgcctctcttaaacccttctggagca  232
+
+Sbjct  241  aaattttcatctataaggtgtgagatcatttaaagcctttcagggctttgtccgaataag  300
+            |||||||||||||||||||||||||||| |||||||||||||||||||||||||||||||
+Query  233  aaattttcatctataaggtgtgagatcagttaaagcctttcagggctttgtccgaataag  292
+
+Sbjct  301  aagtgtgtttgaaagatctccaaacactgttttataacctctttggtctctttgatgagt  360
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  293  aagtgtgtttgaaagatctccaaacactgttttataacctctttggtctctttgatgagt  352
+
+Sbjct  361  attgtccctggtctgtttctaaaccaggatatcgtttttttcaatgtgtctgatttggtt  420
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  353  attgtccctggtctgtttctaaaccaggatatcgtttttttcaatgtgtctgatttggtt  412
+
+Sbjct  421  tacccatgaaaagaag  436
+            ||||||||||||||||
+Query  413  tacccatgaaaagaag  428
+
+423 713 17 F 432 798 1 753 34 92.05
+Sbjct  17   tccctnt-ttt--aattcg-gttggccc-cgg-tt-ttttcccggggcccgg-aacccnc  68
+            ||||| | |||  ||||||  ||||  | ||| || | ||||  | || ||| ||||| |
+Query  1    tccct-tgtttggaattcgtnttggancacggnttgtgttccgtgagcacggnaaccctc  59
+
+Sbjct  69   cccggttctntgntggccggtactggaccaatgtggaagct-ccat-gttcggatgcacc  126
+            ||   | || || ||| ||||| ||||| |||||||||||| || | |||||||||||||
+Query  60   ccgnntactatgatggacggtantggac-aatgtggaagcttccnttgttcggatgcacc  118
+
+Sbjct  127  gactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtcccctggcgccttc  186
+            |||||||||||||||||||||||||||||||||||||||||||||| |||||||||||||
+Query  119  gactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtaccctggcgccttc  178
+
+Sbjct  187  attaggatcatcggatt-cgacaacacccgtcaagtccaatgcatcagtttcattgccta  245
+            ||||||||||||||||| ||||||||||||||||||||||||||||||||||||||||||
+Query  179  attaggatcatcggatttcgacaacacccgtcaagtccaatgcatcagtttcattgccta  238
+
+Sbjct  246  caagcccccaagcttcaccgaagcttaatcccctttctggaatattcagcgttgattatt  305
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  239  caagcccccaagcttcaccgaagcttaatcccctttctggaatattcagcgttgattatt  298
+
+Sbjct  306  ctggaacccatttctatgtggtcaatgcaaatttaagaaattatttgccgacttaaaagt  365
+            |||||||||||||||||||||||||| |||||||||||||||||||||||||||||||||
+Query  299  ctggaacccatttctatgtggtcaatncaaatttaagaaattatttgccgacttaaaagt  358
+
+Sbjct  366  tgaggaactattgtttgaaagtgaaaatgttattcctatcagtttctctataattatagt  425
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  359  tgaggaactattgtttgaaagtgaaaatgttattcctatcagtttctctataattatagt  418
+
+Sbjct  426  tatcatttcatttc  439
+            || |||||||||||
+Query  419  taccatttcatttc  432
+
+415 713 0 F 428 826 53 729 38 90.98
+Sbjct  0    ccct-c-cc--cna-aaggggctccctntttt-aattcg-gttggccc-cgg-ttt-ttt  49
+            |||| | ||  | | ||| || ||| | | || |||||| |||||  | ||| ||| | |
+Query  53   cccttctccggcaacaagtggatccttgtgttgaattcgagttggagcncggatttgtgt  112
+
+Sbjct  50   cccg-gggcccggaa-cccnccccggttctntgntggccggtactggaccaatgtggaag  107
+             ||| | || ||||| | | ||| | | || || ||| || |||||||| ||||||||||
+Query  113  nccgtgagcacggaaacactcccggatactatgatggacgatactggac-aatgtggaag  171
+
+Sbjct  108  ct-ccat-gttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaag  165
+            || |||| ||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  172  cttccattgttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaag  231
+
+Sbjct  166  aaggagtcccctggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaa  225
+            ||||||| ||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  232  aaggagtaccctggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaa  291
+
+Sbjct  226  tgcatcagtttcattgcctacaagcccccaagcttcaccgaagcttaatcccctttctgg  285
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  292  tgcatcagtttcattgcctacaagcccccaagcttcaccgaagcttaatcccctttctgg  351
+
+Sbjct  286  aatattcagcgttgattattctggaacccatttctatgtggtcaatgcaaatttaagaaa  345
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  352  aatattcagcgttgattattctggaacccatttctatgtggtcaatgcaaatttaagaaa  411
+
+Sbjct  346  ttatttgccgacttaaaagttgaggaactattgtttgaaagtgaaaatgttattcctatc  405
+            |||||||||||||||| |||||||||||||||||||||||||||||||||||||||||||
+Query  412  ttatttgccgacttaacagttgaggaactattgtttgaaagtgaaaatgttattcctatc  471
+
+Sbjct  406  agtttctct  414
+            |||||||||
+Query  472  agtttctct  480
+
+413 713 27 F 417 849 0 710 40 90.36
+Sbjct  27   aattcg-gttggccc-cgg-ttt-tttcc-cg-gggcccggaacccnccccggttctntg  80
+            |||||| |||||  | ||| ||| | ||  || | || |||| | | ||| | | || ||
+Query  0    aattcgagttggagcacggatttgtgtcaacgtgagcacggancactcccggatactatg  59
+
+Sbjct  81   ntggccggtactggaccaatgtggaagct-ccatgttc-ggatgcaccgactccgctcaa  138
+             ||| || |||||||| | |||||| ||| | || | | |||||||||||||||||||||
+Query  60   ntggncgatactggac-antgtgga-gctncnat-tnccggatgcaccgactccgctcaa  116
+
+Sbjct  139  gtgttgaaggaagttgaagaatgcaagaaggagtcccctggcgccttcattaggatcatc  198
+            |||||||||||||||||||||||| |||||| || |||||||||||||||| ||||||||
+Query  117  gtgttgaaggaagttgaagaatgcnagaaggngtnccctggcgccttcattnggatcatc  176
+
+Sbjct  199  ggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagcccccaagc  258
+            ||||||| | || |||||||||||||||||||||||||||||||||||||||||||||||
+Query  177  ggattcgncnacncccgtcaagtccaatgcatcagtttcattgcctacaagcccccaagc  236
+
+Sbjct  259  ttcaccgaagcttaatcccctttctggaatattcagcgttgattattctggaacccattt  318
+            |||||||||||||| ||||||||| |||||||||||||||||||||||||||||||||||
+Query  237  ttcaccgaagctta-tcccctttcnggaatattcagcgttgattattctggaacccattt  295
+
+Sbjct  319  ctatgtggtcaatgcaaatttaagaaattatttgccgacttaaaagttgaggaactattg  378
+            ||||||||||||||||||||||||||||||||||||||||||| ||||||||||||||||
+Query  296  ctatgtggtcaatgcaaatttaagaaattatttgccgacttaacagttgaggaactattg  355
+
+Sbjct  379  tttgaaagtgaaaatgttattcctatcagtttctctataattatagttatcatttcattt  438
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  356  tttgaaagtgaaaatgttattcctatcagtttctctataattatagttatcatttcattt  415
+
+Sbjct  439  c  439
+            |
+Query  416  c  416
+
+435 713 0 F 446 912 37 782 33 92.51
+Sbjct  0    ccctccc-cna-aaggggctccctnt-t-tt-aattcg-gttggccc-cgg-ttt-tttc  50
+            || |||| | | ||| || | ||| | | || |||||| |||||  | ||| ||| | | 
+Query  37   ccttcccgcaacaagtggattcct-tgtgttgaattcgagttggagcacggatttntgta  95
+
+Sbjct  51   ccg-gggcccggaacccnccccggttctntgntggccggtactggaccaatgtggaagct  109
+            ||| |||| |||||||| ||| | | || || ||| ||||||||||| ||||||||||||
+Query  96   ccgtgggcacggaaccctcccggatactatgatggacggtactggac-aatgtggaagct  154
+
+Sbjct  110  -cc-at-gttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaaga  166
+             || || |||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  155  tcccattgttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaaga  214
+
+Sbjct  167  aggagtcccctggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaat  226
+            |||||| |||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  215  aggagtaccctggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaat  274
+
+Sbjct  227  gcatcagtttcattgcctacaagcccccaagcttcaccgaagcttaatcccctttctgga  286
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  275  gcatcagtttcattgcctacaagcccccaagcttcaccgaagcttaatcccctttctgga  334
+
+Sbjct  287  atattcagcgttgattattctggaacccatttctatgtggtcaatgcaaatttaagaaat  346
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  335  atattcagcgttgattattctggaacccatttctatgtggtcaatgcaaatttaagaaat  394
+
+Sbjct  347  tatttgccgacttaaaagttgaggaactattgtttgaaagtgaaaatgttattcctatca  406
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  395  tatttgccgacttaaaagttgaggaactattgtttgaaagtgaaaatgttattcctatca  454
+
+Sbjct  407  gtttctctataattatagttatcatttc  434
+            ||||||||||||||||||||||||||||
+Query  455  gtttctctataattatagttatcatttc  482
+
+437 713 3 F 442 1120 2 789 30 93.17
+Sbjct  3    tccc-cnaaaggggctccct-nttttaattcg-gttggc-cccgg-ttt-tttcccg-gg  55
+            |||| | | ||||| |||||   || |||| | |||||  ||||| ||| ||||||| ||
+Query  2    tcccgcaacagggg-tccctgggttgaattngngttgggncccggntttgtttcccgtgg  60
+
+Sbjct  56   gcccggaacccnccccggttctntgntggccggtactggaccaatgtggaagctccat-g  114
+             |||||||||| ||| | | || || |||||||| |||| |||||||||||||||||| |
+Query  61   ncccggaacccncccggntnctatgntggccggtnctgg-ccaatgtggaagctccattg  119
+
+Sbjct  115  ttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtcc  174
+            |||||||||||||||||||||||||||||||||||||||||||||||||||||||||| |
+Query  120  ttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtnc  179
+
+Sbjct  175  cctggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagt  234
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  180  cctggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagt  239
+
+Sbjct  235  ttcattgcctacaagcccccaagcttcaccgaagcttaatcccctttctggaatattcag  294
+            ||||||||||||||||||||||| ||||||||||||||||||||||||||||||||||||
+Query  240  ttcattgcctacaagcccccaag-ttcaccgaagcttaatcccctttctggaatattcag  298
+
+Sbjct  295  cgttgattattctggaacccatttctatgtggtcaatgcaaatttaagaaattatttgcc  354
+            |||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||
+Query  299  cgttgattattctggaacccntttctatgtggtcaatgcaaatttaagaaattatttgcc  358
+
+Sbjct  355  gacttaaaagttgaggaactattgtttgaaagtgaaaatgttattcctatcagtttctct  414
+            ||||| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  359  gacttnaaagttgaggaactattgtttgaaagtgaaaatgttattcctatcagtttctct  418
+
+Sbjct  415  ataattatagttatcatttcatttc  439
+             ||||||||||||||||||||||||
+Query  419  ntaattatagttatcatttcatttc  443
+
+437 713 3 F 437 1297 38 769 35 91.99
+Sbjct  3    tccccnaaaggggctccctnt-tttaattcg-gttg-gccccggttttttcccg-gggcc  58
+            ||||  | || |  ||| | | || ||| || || | || | | |||||| ||| | || 
+Query  38   tcccgcanagtg-ntccttntgttgaat-cgagtggngcncggatttttttccgtgngca  95
+
+Sbjct  59   cggaacccnccccggttctntgntggccggtactggaccaatgtggaagct-ccat-gtt  116
+            || ||| | ||| ||| || || ||||||||||||||  |||||||||||| |||| |||
+Query  96   cgnaacactccc-ggtnctatgatggccggtactgga--aatgtggaagcttccattgtt  152
+
+Sbjct  117  cggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtcccc  176
+            |||||||||||| |||| |||||||||||||||||||||||||||||||||||||| |||
+Query  153  cggatgcaccga-tccgntcaagtgttgaaggaagttgaagaatgcaagaaggagtaccc  211
+
+Sbjct  177  tggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagttt  236
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  212  tggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagttt  271
+
+Sbjct  237  cattgcctacaagcccccaagcttcaccgaagcttaatcccctttctggaatattcagcg  296
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  272  cattgcctacaagcccccaagcttcaccgaagcttaatcccctttctggaatattcagcg  331
+
+Sbjct  297  ttgattattctggaacccatttctatgtggtcaatgcaaatttaagaaattatttgccga  356
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  332  ttgattattctggaacccatttctatgtggtcaatgcaaatttaagaaattatttgccga  391
+
+Sbjct  357  cttaaaagttgaggaactattgtttgaaagtgaaaatgttattcctatcagtttctctat  416
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  392  cttaaaagttgaggaactattgtttgaaagtgaaaatgttattcctatcagtttctctat  451
+
+Sbjct  417  aattatagttatcatttcatttc  439
+            |||||||||||||||||||||||
+Query  452  aattatagttatcatttcatttc  474
+
+414 713 1 F 420 1327 16 723 37 91.13
+Sbjct  1    cctccccnaa-aggggctccctnttttaattcggtt-ggccc-cgg-ttttt-tcccg-g  54
+            ||| ||| || |  || ||| | ||| |||||| || ||  | ||| |||||  |||| |
+Query  16   ccttcccgaacantggntccttttttgaattcgntttggngcncggntttttnncccgtg  75
+
+Sbjct  55   ggcccggaacccnccccggttctntgntggccggtactggaccaatgtggaagct-ccat  113
+             || || ||| | ||  ||| || || ||| ||||||||||| | | |||||||| ||||
+Query  76   ngcncgnaacactcc-nggtactntgatggncggtactggac-attntggaagcttccat  133
+
+Sbjct  114  -gttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagt  172
+             ||||||||||||||||||||||||||||||||||||| ||||||||||||||||||| |
+Query  134  tgttcggatgcaccgactccgctcaagtgttgaaggaanttgaagaatgcaagaaggant  193
+
+Sbjct  173  cccctggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatca  232
+             |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  194  accctggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatca  253
+
+Sbjct  233  gtttcattgcctacaagcccccaagcttcaccgaagcttaatcccctttctggaatattc  292
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  254  gtttcattgcctacaagcccccaagcttcaccgaagcttaatcccctttctggaatattc  313
+
+Sbjct  293  agcgttgattattctggaacccatttctatgtggtcaatgcaaatttaagaaattatttg  352
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  314  agcgttgattattctggaacccatttctatgtggtcaatgcaaatttaagaaattatttg  373
+
+Sbjct  353  ccgacttaaaagttgaggaactattgtttgaaagtgaaaatgttattcctatcagtttct  412
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  374  ccgacttaaaagttgaggaactattgtttgaaagtgaaaatgttattcctatcagtttct  433
+
+Sbjct  413  ct  414
+            ||
+Query  434  ct  435
+
+382 724 29 F 433 1826 2 605 70 82.82
+Sbjct  29   aaat-tct-gct-tgn-ggaa-ct-cg-at-tg-a-ctg-ct-ca-gtncg-ca-cggt-  73
+            |||| | | ||| ||  |||| || || || || | ||| || || || || || |||| 
+Query  2    aaatgtnttgctgtggaggaaactncggatgtggatctggctgcaagtncggcaacggtt  61
+
+Sbjct  74   gtg-nggt-gcaaaatgt-ccctgcct-ggg-ttc-ccg-cgngaca-ccaca-ctgag-  123
+            |||  ||| ||||||||| ||||| || ||| ||| ||| || |||| ||||| || || 
+Query  62   gtggaggttgcaaaatgtaccctgacttgggattctccggcgagacaaccacaactnaga  121
+
+Sbjct  124  cttttgtcttggnc-ttgcacccgcgatgaagaatcagtacgaggcttcaggggagagta  181
+            ||||||| |||| | ||||||| |||||||||||||||||||||||||||||||||||||
+Query  122  cttttgtnttgggcgttgcaccggcgatgaagaatcagtacgaggcttcaggggagagta  181
+
+Sbjct  182  acaacgctgagaacgatgcttgcaagtgtggatctgactgcaagtgtganccttgcacct  241
+            ||||||||||||||||||||||||||| ||||||||||||||||||||| ||||||||||
+Query  182  acaacgctgagaacgatgcttgcaagtttggatctgactgcaagtgtgatccttgcacct  241
+
+Sbjct  242  gcaagtgaagaagcctttttaaataagcagagataat-cgagtctcttt-aattaatt-a  298
+            |||||| |||||||||||||||||||||||||||||| ||||||| ||| |||||||| |
+Query  242  gcaagtnaagaagcctttttaaataagcagagataatncgagtctnttttaattaattta  301
+
+Sbjct  299  agttattcaa-taagtaaacc-atatat-aggat-ggt-gttttta-gg-tttgg-ttt-  350
+            |||||||||| |||||||||| |||| | ||||| ||| ||||||| || ||||| ||| 
+Query  302  agttattcaantaagtaaacccatattttaggattggttgtttttaagggtttgggtttn  361
+
+Sbjct  351  atgtgtaa-taa-tggc-ttcag-ctt-atctttt-ag-ccgatca-ttgtc-ttttg--  399
+            |||||||| ||| |||| ||||  ||| ||||||| || | | ||| ||| | |||||  
+Query  362  atgtgtaaataantggcnttcaanctttatctttttagncngttcaattgnccttttggn  421
+
+Sbjct  400  tgtttgtttt-ga  410
+            |||||||||| ||
+Query  422  tgtttgtttttga  434
+
+510 736 0 F 525 846 91 915 40 92.27
+Sbjct  0    ca-cacggg-aa--ttncct-catga-ggtg---cc-ccaatggaagaagat-t-tg-g-  46
+            || |||||| ||   |  || ||||| ||||   || ||| ||||||| ||  | || | 
+Query  91   cagcacggggaagagtngctncatgaaggtgtngccaccattggaaga-gaagtntgaga  149
+
+Sbjct  47   ct-tttcttnccncc-tgccttagtg-cgtcgaatggctaaggaagttgactnc-ttctc  101
+            || | |||| || || || ||||||| |||||| |||| | ||||||||||| | ||| |
+Query  150  ctctatcttacctccctgacttagtgacgtcgattggcna-ggaagttgactaccttcac  208
+
+Sbjct  102  cgcaacaagtggat-ccnttgtgttgaattcgagttagagcacggatttgtgtaccgtga  160
+            |||| || |||||| || | ||||||||||||||||||||||||||||||||||||||||
+Query  209  cgcanca-gtggattccct-gtgttgaattcgagttagagcacggatttgtgtaccgtga  266
+
+Sbjct  161  gcacggaaacactcccggatactacgatggacggtactggacaatgtggaagcttccatt  220
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  267  gcacggaaacactcccggatactacgatggacggtactggacaatgtggaagcttccatt  326
+
+Sbjct  221  gttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagta  280
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ||
+Query  327  gttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaagganta  386
+
+Sbjct  281  cccgggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcag  340
+            ||||||||| ||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  387  cccgggcgcnttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcag  446
+
+Sbjct  341  tttcattgcctacaagcccccaagcttcaccgaagcttaatttcttttctaaaacattct  400
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  447  tttcattgcctacaagcccccaagcttcaccgaagcttaatttcttttctaaaacattct  506
+
+Sbjct  401  tatgaattatctctgctcatttcatttcctattgtctgtgttctttttctctttatgaga  460
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  507  tatgaattatctctgctcatttcatttcctattgtctgtgttctttttctctttatgaga  566
+
+Sbjct  461  caatttctatcggattgtcaaatgtctgatttatgaatatgtaatttat  509
+            |||||||||||||||||||||||||||||||||||||||||||||||||
+Query  567  caatttctatcggattgtcaaatgtctgatttatgaatatgtaatttat  615
+
+414 736 96 F 416 902 5 800 10 97.59
+Sbjct  96   cttctccg-caacaagtggatccnttgtgttg-aattcg-agttagagcac-ggatttgt  151
+            ||||  || |||||||||||||| |||||||| ||| || | ||||||| | ||||||||
+Query  5    cttcnncggcaacaagtggatcc-ttgtgttggaat-cggatttagagcnccggatttgt  62
+
+Sbjct  152  gtaccgtgagcacggaaacactcccggatactacgatggacggtactggacaatgtggaa  211
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  63   gtaccgtgagcacggaaacactcccggatactacgatggacggtactggacaatgtggaa  122
+
+Sbjct  212  gcttccattgttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaa  271
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  123  gcttccattgttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaa  182
+
+Sbjct  272  gaaggagtacccgggcgccttcattaggatcatcggattcgacaacacccgtcaagtcca  331
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  183  gaaggagtacccgggcgccttcattaggatcatcggattcgacaacacccgtcaagtcca  242
+
+Sbjct  332  atgcatcagtttcattgcctacaagcccccaagcttcaccgaagcttaatttcttttcta  391
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  243  atgcatcagtttcattgcctacaagcccccaagcttcaccgaagcttaatttcttttcta  302
+
+Sbjct  392  aaacattcttatgaattatctctgctcatttcatttcctattgtctgtgttctttttctc  451
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  303  aaacattcttatgaattatctctgctcatttcatttcctattgtctgtgttctttttctc  362
+
+Sbjct  452  tttatgagacaatttctatcggattgtcaaatgtctgatttatgaatatgtaatttat  509
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  363  tttatgagacaatttctatcggattgtcaaatgtctgatttatgaatatgtaatttat  420
+
+435 736 75 F 437 1100 4 782 30 93.12
+Sbjct  75   aatggctaaggaagttgactnc-ttctccgcaacaagtggatccnttgtgttgaattcga  133
+            ||||||||||||||||| || | ||| | | || ||| ||  ||  ||||||||||||| 
+Query  4    aatggctaaggaagttg-ctcccttcccng-aa-aaggggnccccctgtgttgaattcgn  60
+
+Sbjct  134  gttagagcacgg-atttg-tgtaccgtgagcac-ggaaacact-cccggatactacgatg  189
+            ||||| || ||| ||||| ||| ||  | || | |||| |||| ||||||||||||||||
+Query  61   gttagggcccgggatttggtgtncccngngccccggaancactncccggatactacgatg  120
+
+Sbjct  190  gacggtactggacaatgtggaagcttccattgttcggatgcaccgactccgctcaagtgt  249
+            | ||||||||||||||||||| ||||||||||| ||||||||||||||||||||||||||
+Query  121  gccggtactggacaatgtggangcttccattgtccggatgcaccgactccgctcaagtgt  180
+
+Sbjct  250  tgaaggaagttgaagaatgcaagaaggagtacccgggcgccttcattaggatcatcggat  309
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  181  tgaaggaagttgaagaatgcaagaaggagtacccgggcgccttcattaggatcatcggat  240
+
+Sbjct  310  tcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagcccccaagcttca  369
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  241  tcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagcccccaagcttca  300
+
+Sbjct  370  ccgaagcttaatttcttttctaaaacattcttatgaattatctctgctcatttcatttcc  429
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  301  ccgaagcttaatttcttttctaaaacattcttatgaattatctctgctcatttcatttcc  360
+
+Sbjct  430  tattgtctgtgttctttttctctttatgagacaatttctatcggattgtcaaatgtctga  489
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  361  tattgtctgtgttctttttctctttatgagacaatttctatcggattgtcaaatgtctga  420
+
+Sbjct  490  tttatgaatatgtaatttat  509
+            ||||||||||| | ||||||
+Query  421  tttatgaatatnttatttat  440
+
+406 736 104 F 407 1143 0 726 29 92.87
+Sbjct  104  caacaagtggatccnttgtgttgaattcgagttagagcac-ggatttgtgtacc-gtgag  161
+            ||| ||| || ||| | | |||||||||| ||| | || | |||||||||| || ||| |
+Query  0    caa-aag-ggntccct-g-gttgaattcg-gttngngccccggatttgtgtncccgtgng  54
+
+Sbjct  162  cac-ggaaacactcccggatactac-gatggac-ggtactggacaatgtggaagcttcc-  218
+            | | |||| ||| ||| | |||| | ||||||| |||||||| ||||||||||| |||| 
+Query  55   ccccggaaccacccccnggtacttccgatggaccggtactggccaatgtggaagnttccc  114
+
+Sbjct  219  attgttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaagga  277
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  115  attgttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaagga  174
+
+Sbjct  278  gtacccgggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcat  337
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  175  gtacccgggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcat  234
+
+Sbjct  338  cagtttcattgcctacaagcccccaagcttcaccgaagcttaatttcttttctaaaacat  397
+            |||||||||||||||||||||||||||||||||||||||||||| |||||||||||||| 
+Query  235  cagtttcattgcctacaagcccccaagcttcaccgaagcttaatntcttttctaaaacan  294
+
+Sbjct  398  tcttatgaattatctctgctcatttcatttcctattgtctgtgttctttttctctttatg  457
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  295  tcttatgaattatctctgctcatttcatttcctattgtctgtgttctttttctctttatg  354
+
+Sbjct  458  agacaatttctatcggattgtcaaatgtctgatttatgaatatgtaatttat  509
+            ||||||||||||||||||||||||||||||||||||||||||||| ||||||
+Query  355  agacaatttctatcggattgtcaaatgtctgatttatgaatatgtnatttat  406
+
+452 736 58 F 454 1151 0 876 10 97.79
+Sbjct  58   cctgcc-ttagtg-cgtcgaatggctaaggaagttgactnc-ttctccgcaacaagtgga  114
+            |||||| |||||| || |||||||||| |||||||| || | ||||||||||||||||||
+Query  0    cctgccnttagtgncgccgaatggcta-ggaagttg-cttccttctccgcaacaagtgga  57
+
+Sbjct  115  tccnttgtgtt-gaattcgagttagagc-acggatttgtgtaccgtgagcacggaaacac  172
+            ||| ||||||| |||||||||||||||| |||||||||||||||||||||||||||||||
+Query  58   tcc-ttgtgtttgaattcgagttagagccacggatttgtgtaccgtgagcacggaaacac  116
+
+Sbjct  173  tcccggatactacgatggacggtactggacaatgtggaagcttccattgttcggatgcac  232
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  117  tcccggatactacgatggacggtactggacaatgtggaagcttccattgttcggatgcac  176
+
+Sbjct  233  cgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtacccgggcgcctt  292
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  177  cgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtacccgggcgcctt  236
+
+Sbjct  293  cattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattgccta  352
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  237  cattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattgccta  296
+
+Sbjct  353  caagcccccaagcttcaccgaagcttaatttcttttctaaaacattcttatgaattatct  412
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  297  caagcccccaagcttcaccgaagcttaatttcttttctaaaacattcttatgaattatct  356
+
+Sbjct  413  ctgctcatttcatttcctattgtctgtgttctttttctctttatgagacaatttctatcg  472
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  357  ctgctcatttcatttcctattgtctgtgttctttttctctttatgagacaatttctatcg  416
+
+Sbjct  473  gattgtcaaatgtctgatttatgaatatgtaatttat  509
+            |||||||||||||||||||||||||||||||||||||
+Query  417  gattgtcaaatgtctgatttatgaatatgtaatttat  453
+
+485 736 25 F 500 1230 11 898 29 94.11
+Sbjct  25   ccccaat-ggaa-gaaga--tttgg-c-ttttcttnccncc-tg-cctt-agtgcg-tcg  74
+            ||||||| |||| |||||  ||||| | ||||||| || || || |||| ||| |  |||
+Query  11   ccccaattggaaagaagaantttgggccttttctt-ccnccctggcctttagtnccntcg  69
+
+Sbjct  75   -aat-ggctaaggaagttgactnc-ttctccgcaacaagtggatccnttgtgttgaattc  131
+             ||| ||||||||||||||||| | ||||| ||||||| ||| ||| |||||||||||||
+Query  70   gaattggctaaggaagttgactccnttctcngcaacaaatggntcccttgtgttgaattc  129
+
+Sbjct  132  gagttagagcacggatttgtgtaccgtgagcacggaaacactcccggatactacgatgga  191
+            ||||||| || ||||||||||| |||||||| ||||||||||||||||||||||||||||
+Query  130  gagttagggcncggatttgtgtcccgtgagcccggaaacactcccggatactacgatgga  189
+
+Sbjct  192  c-ggtactggacaat-gtggaagcttcc-attgttcggatgcaccgactccgctcaagtg  248
+            | ||||||||||||| |||||||||||| |||||||||||||||||||||||||||||||
+Query  190  ccggtactggacaattgtggaagcttcccattgttcggatgcaccgactccgctcaagtg  249
+
+Sbjct  249  ttgaaggaagttgaagaatgcaagaaggagtacccgggcgccttcattaggatcatcgga  308
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  250  ttgaaggaagttgaagaatgcaagaaggagtacccgggcgccttcattaggatcatcgga  309
+
+Sbjct  309  ttcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagcccccaagcttc  368
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  310  ttcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagcccccaagcttc  369
+
+Sbjct  369  accgaagcttaatttcttttctaaaacattcttatgaattatctctgctcatttcatttc  428
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  370  accgaagcttaatttcttttctaaaacattcttatgaattatctctgctcatttcatttc  429
+
+Sbjct  429  ctattgtctgtgttctttttctctttatgagacaatttctatcggattgtcaaatgtctg  488
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  430  ctattgtctgtgttctttttctctttatgagacaatttctatcggattgtcaaatgtctg  489
+
+Sbjct  489  atttatgaatatgtaatttat  509
+            |||||||||||||||||||||
+Query  490  atttatgaatatgtaatttat  510
+
+411 736 97 F 414 1360 1 747 26 93.70
+Sbjct  97   ttctccgcaacaagtgg-atccnttg-tgttgaattcg-agttag-agcacggatttgtg  152
+            ||| ||| ||||| ||| |||| ||| |||| ||| || |||| |  |||||||||||||
+Query  1    ttc-ccgaaacaantgggatcccttggtgttnaat-cggagtttggngcacggatttgtg  58
+
+Sbjct  153  taccgtgagcacggaaac-actcccggatactacgatggacggtactggacaatgtggaa  211
+            | |||||||||||| ||| ||||| ||||||||||||||||| |||||||||||||||||
+Query  59   tnccgtgagcacggnaaccactccnggatactacgatggacgntactggacaatgtggaa  118
+
+Sbjct  212  gcttccattgttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaa  271
+            ||||||||||| |||||||||||||||||||||||| |||||||||||||| ||||||||
+Query  119  gcttccattgtncggatgcaccgactccgctcaagtnttgaaggaagttgangaatgcaa  178
+
+Sbjct  272  gaaggagtacccgggcgccttcattaggatcatcggattcgacaacacccgtcaagtcca  331
+            ||||| ||||||||||||||||||| ||||||||||||||||||||||||||||||||||
+Query  179  gaaggngtacccgggcgccttcattnggatcatcggattcgacaacacccgtcaagtcca  238
+
+Sbjct  332  atgcatcagtttcattgcctacaagcccccaagcttcaccgaagcttaatttcttttcta  391
+            ||||||| ||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  239  atgcatcngtttcattgcctacaagcccccaagcttcaccgaagcttaatttcttttcta  298
+
+Sbjct  392  aaacattcttatgaattatctctgctcatttcatttcctattgtctgtgttctttttctc  451
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  299  aaacattcttatgaattatctctgctcatttcatttcctattgtctgtgttctttttctc  358
+
+Sbjct  452  tttatgagacaatttctatcggattgtcaaatgtctgatttatgaatatgtaattt  507
+            |||||||||||||||||||||| ||||||||||||||||||||| |||||| ||||
+Query  359  tttatgagacaatttctatcggnttgtcaaatgtctgatttatgnatatgtgattt  414
+
+408 798 0 F 407 826 74 755 20 95.09
+Sbjct  0    atcccttgt-ttggaattcgtnttggancacggntt-gtgttccgtgagcacggnaaccc  57
+            |||| |||| ||| ||||||  ||||| | ||| || |||| |||||||||||| ||| |
+Query  74   atcc-ttgtgttg-aattcgagttggagcncggatttgtgtnccgtgagcacggaaacac  131
+
+Sbjct  58   tcccgnntactatgatggacggtantggacaatgtggaagcttccnttgttcggatgcac  117
+            |||||  |||||||||||||| || |||||||||||||||||||| ||||||||||||||
+Query  132  tcccggatactatgatggacgatactggacaatgtggaagcttccattgttcggatgcac  191
+
+Sbjct  118  cgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtaccctggcgcctt  177
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  192  cgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtaccctggcgcctt  251
+
+Sbjct  178  cattaggatcatcggatttcgacaacacccgtcaagtccaatgcatcagtttcattgcct  237
+            |||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||
+Query  252  cattaggatcatcggatt-cgacaacacccgtcaagtccaatgcatcagtttcattgcct  310
+
+Sbjct  238  acaagcccccaagcttcaccgaagcttaatcccctttctggaatattcagcgttgattat  297
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  311  acaagcccccaagcttcaccgaagcttaatcccctttctggaatattcagcgttgattat  370
+
+Sbjct  298  tctggaacccatttctatgtggtcaatncaaatttaagaaattatttgccgacttaaaag  357
+            ||||||||||||||||||||||||||| ||||||||||||||||||||||||||||| ||
+Query  371  tctggaacccatttctatgtggtcaatgcaaatttaagaaattatttgccgacttaacag  430
+
+Sbjct  358  ttgaggaactattgtttgaaagtgaaaatgttattcctatcagtttctct  407
+            ||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  431  ttgaggaactattgtttgaaagtgaaaatgttattcctatcagtttctct  480
+
+420 798 13 F 417 849 0 723 38 90.92
+Sbjct  13   aattcgtnttggancacggntt-gtgt-tccgtgagcacggnaaccctcccgnntactat  70
+            ||||||  ||||| ||||| || ||||   ||||||||||| | | ||||||  ||||||
+Query  0    aattcgagttggagcacggatttgtgtcaacgtgagcacgg-ancactcccggatactat  58
+
+Sbjct  71   gatggacggtantggacaatgtggaagcttccnttgttcggatgcaccgactccgctcaa  130
+            | ||| || || |||||| |||||| ||| |  ||   ||||||||||||||||||||||
+Query  59   gntggncgatactggacantgtgga-gctncnatt-nccggatgcaccgactccgctcaa  116
+
+Sbjct  131  gtgttgaaggaagttgaagaatgcaagaaggagtaccctggcgccttcattaggatcatc  190
+            |||||||||||||||||||||||| |||||| || |||||||||||||||| ||||||||
+Query  117  gtgttgaaggaagttgaagaatgcnagaaggngtnccctggcgccttcattnggatcatc  176
+
+Sbjct  191  ggatttcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagcccccaag  250
+            ||||| || | || ||||||||||||||||||||||||||||||||||||||||||||||
+Query  177  ggatt-cgncnacncccgtcaagtccaatgcatcagtttcattgcctacaagcccccaag  235
+
+Sbjct  251  cttcaccgaagcttaatcccctttctggaatattcagcgttgattattctggaacccatt  310
+            ||||||||||||||| ||||||||| ||||||||||||||||||||||||||||||||||
+Query  236  cttcaccgaagctta-tcccctttcnggaatattcagcgttgattattctggaacccatt  294
+
+Sbjct  311  tctatgtggtcaatncaaatttaagaaattatttgccgacttaaaagttgaggaactatt  370
+            |||||||||||||| ||||||||||||||||||||||||||||| |||||||||||||||
+Query  295  tctatgtggtcaatgcaaatttaagaaattatttgccgacttaacagttgaggaactatt  354
+
+Sbjct  371  gtttgaaagtgaaaatgttattcctatcagtttctctataattatagttaccatttcatt  430
+            |||||||||||||||||||||||||||||||||||||||||||||||||| |||||||||
+Query  355  gtttgaaagtgaaaatgttattcctatcagtttctctataattatagttatcatttcatt  414
+
+Sbjct  431  tc  432
+            ||
+Query  415  tc  416
+
+428 798 0 F 428 912 55 796 20 95.33
+Sbjct  0    atcccttgt-ttggaattcgtnttggancacggntt-gtgttccgtgagcacggnaaccc  57
+            || |||||| ||| ||||||  ||||| ||||| ||  ||| ||||| |||||| |||||
+Query  55   attccttgtgttg-aattcgagttggagcacggatttntgtaccgtgggcacgg-aaccc  112
+
+Sbjct  58   tcccgnntactatgatggacggtantggacaatgtggaagcttcc-nttgttcggatgca  116
+            |||||  ||||||||||||||||| ||||||||||||||||||||  |||||||||||||
+Query  113  tcccggatactatgatggacggtactggacaatgtggaagcttcccattgttcggatgca  172
+
+Sbjct  117  ccgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtaccctggcgcct  176
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  173  ccgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtaccctggcgcct  232
+
+Sbjct  177  tcattaggatcatcggatttcgacaacacccgtcaagtccaatgcatcagtttcattgcc  236
+            ||||||||||||||||||| ||||||||||||||||||||||||||||||||||||||||
+Query  233  tcattaggatcatcggatt-cgacaacacccgtcaagtccaatgcatcagtttcattgcc  291
+
+Sbjct  237  tacaagcccccaagcttcaccgaagcttaatcccctttctggaatattcagcgttgatta  296
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  292  tacaagcccccaagcttcaccgaagcttaatcccctttctggaatattcagcgttgatta  351
+
+Sbjct  297  ttctggaacccatttctatgtggtcaatncaaatttaagaaattatttgccgacttaaaa  356
+            |||||||||||||||||||||||||||| |||||||||||||||||||||||||||||||
+Query  352  ttctggaacccatttctatgtggtcaatgcaaatttaagaaattatttgccgacttaaaa  411
+
+Sbjct  357  gttgaggaactattgtttgaaagtgaaaatgttattcctatcagtttctctataattata  416
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  412  gttgaggaactattgtttgaaagtgaaaatgttattcctatcagtttctctataattata  471
+
+Sbjct  417  gttaccatttc  427
+            |||| ||||||
+Query  472  gttatcatttc  482
+
+432 798 1 F 428 1120 16 752 36 91.63
+Sbjct  1    tcccttgtttggaattcgtnttggancacggnttgtgtt-cc-gtgagcacggnaaccct  58
+            ||||| | ||| |||| |  ||||  | ||| || |||| || |||  | ||| ||||| 
+Query  16   tccctgggttg-aattngngttgggncccggntt-tgtttcccgtggncccgg-aacccn  72
+
+Sbjct  59   cccgnntactatgatggacggtantggacaatgtggaagcttccnttgttcggatgcacc  118
+            ||||  | ||||| ||| ||||  ||| ||||||||||||| || |||||||||||||||
+Query  73   cccggntnctatgntggccggtnctggccaatgtggaagct-ccattgttcggatgcacc  131
+
+Sbjct  119  gactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtaccctggcgccttc  178
+            |||||||||||||||||||||||||||||||||||||||||||||| |||||||||||||
+Query  132  gactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtnccctggcgccttc  191
+
+Sbjct  179  attaggatcatcggatttcgacaacacccgtcaagtccaatgcatcagtttcattgccta  238
+            ||||||||||||||||| ||||||||||||||||||||||||||||||||||||||||||
+Query  192  attaggatcatcggatt-cgacaacacccgtcaagtccaatgcatcagtttcattgccta  250
+
+Sbjct  239  caagcccccaagcttcaccgaagcttaatcccctttctggaatattcagcgttgattatt  298
+            |||||||||||| |||||||||||||||||||||||||||||||||||||||||||||||
+Query  251  caagcccccaag-ttcaccgaagcttaatcccctttctggaatattcagcgttgattatt  309
+
+Sbjct  299  ctggaacccatttctatgtggtcaatncaaatttaagaaattatttgccgacttaaaagt  358
+            ||||||||| |||||||||||||||| ||||||||||||||||||||||||||| |||||
+Query  310  ctggaacccntttctatgtggtcaatgcaaatttaagaaattatttgccgacttnaaagt  369
+
+Sbjct  359  tgaggaactattgtttgaaagtgaaaatgttattcctatcagtttctctataattatagt  418
+            ||||||||||||||||||||||||||||||||||||||||||||||||| ||||||||||
+Query  370  tgaggaactattgtttgaaagtgaaaatgttattcctatcagtttctctntaattatagt  429
+
+Sbjct  419  taccatttcatttc  432
+            || |||||||||||
+Query  430  tatcatttcatttc  443
+
+430 798 3 F 423 1297 52 766 29 93.20
+Sbjct  3    ccttgt-ttggaattcgtnttggancacggnttgtgttccgtgagcacggnaaccctccc  61
+            |||| | ||| ||| ||  | ||  | ||| || | ||||||| |||||  ||| |||||
+Query  52   ccttntgttg-aat-cgagt-ggngcncggatttttttccgtgngcacg-naacactccc  107
+
+Sbjct  62   gnntactatgatggacggtantggacaatgtggaagcttccnttgttcggatgcaccgac  121
+            |  | ||||||||| ||||| |||| ||||||||||||||| ||||||||||||||||| 
+Query  108  g-gtnctatgatggccggtactgga-aatgtggaagcttccattgttcggatgcaccga-  165
+
+Sbjct  122  tccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtaccctggcgccttcatt  181
+            |||| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  166  tccgntcaagtgttgaaggaagttgaagaatgcaagaaggagtaccctggcgccttcatt  224
+
+Sbjct  182  aggatcatcggatttcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaa  241
+            |||||||||||||| |||||||||||||||||||||||||||||||||||||||||||||
+Query  225  aggatcatcggatt-cgacaacacccgtcaagtccaatgcatcagtttcattgcctacaa  283
+
+Sbjct  242  gcccccaagcttcaccgaagcttaatcccctttctggaatattcagcgttgattattctg  301
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  284  gcccccaagcttcaccgaagcttaatcccctttctggaatattcagcgttgattattctg  343
+
+Sbjct  302  gaacccatttctatgtggtcaatncaaatttaagaaattatttgccgacttaaaagttga  361
+            ||||||||||||||||||||||| ||||||||||||||||||||||||||||||||||||
+Query  344  gaacccatttctatgtggtcaatgcaaatttaagaaattatttgccgacttaaaagttga  403
+
+Sbjct  362  ggaactattgtttgaaagtgaaaatgttattcctatcagtttctctataattatagttac  421
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 
+Query  404  ggaactattgtttgaaagtgaaaatgttattcctatcagtttctctataattatagttat  463
+
+Sbjct  422  catttcatttc  432
+            |||||||||||
+Query  464  catttcatttc  474
+
+405 798 3 F 402 1327 34 714 31 92.32
+Sbjct  3    ccttgtttggaattcgtnttggancacggnttgtgtt--cc-gtgagcacggnaaccctc  59
+            |||| |||| ||||||  ||||  | ||| || | ||  || ||| || ||  ||| |||
+Query  34   ccttttttg-aattcgntttggngcncggntt-t-ttnncccgtgngcncg-naacactc  89
+
+Sbjct  60   ccgnntactatgatggacggtantggacaatgtggaagcttccnttgttcggatgcaccg  119
+            | |  |||| |||||| ||||| |||||| | ||||||||||| ||||||||||||||||
+Query  90   cng-gtactntgatggncggtactggacattntggaagcttccattgttcggatgcaccg  148
+
+Sbjct  120  actccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtaccctggcgccttca  179
+            ||||||||||||||||||||||| ||||||||||||||||||| ||||||||||||||||
+Query  149  actccgctcaagtgttgaaggaanttgaagaatgcaagaaggantaccctggcgccttca  208
+
+Sbjct  180  ttaggatcatcggatttcgacaacacccgtcaagtccaatgcatcagtttcattgcctac  239
+            |||||||||||||||| |||||||||||||||||||||||||||||||||||||||||||
+Query  209  ttaggatcatcggatt-cgacaacacccgtcaagtccaatgcatcagtttcattgcctac  267
+
+Sbjct  240  aagcccccaagcttcaccgaagcttaatcccctttctggaatattcagcgttgattattc  299
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  268  aagcccccaagcttcaccgaagcttaatcccctttctggaatattcagcgttgattattc  327
+
+Sbjct  300  tggaacccatttctatgtggtcaatncaaatttaagaaattatttgccgacttaaaagtt  359
+            ||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||||
+Query  328  tggaacccatttctatgtggtcaatgcaaatttaagaaattatttgccgacttaaaagtt  387
+
+Sbjct  360  gaggaactattgtttgaaagtgaaaatgttattcctatcagtttctct  407
+            ||||||||||||||||||||||||||||||||||||||||||||||||
+Query  388  gaggaactattgtttgaaagtgaaaatgttattcctatcagtttctct  435
+
+468 807 2 F 464 866 82 800 44 90.56
+Sbjct  2    ccaccatgagctttctcagccttgggacccggtgattgtccncgagag-cggtttagaga  60
+            ||||||||||||  ||||||||||| || || |||||| || |||||| || ||||||||
+Query  82   ccaccatgagct-actcagccttggaacncgatgattggccccgagaggcg-tttagaga  139
+
+Sbjct  61   gnccattggnccatgc-cctt-cgt-gcatctacaaggatcccac-tagatggttgccca  116
+            | |||| || |||||| |||| ||| |||||||||| ||| |||| |||||| |  ||||
+Query  140  gnccat-ggnccatgcncctttcgttgcatctacaangatnccacatagatgntn-ccca  197
+
+Sbjct  117  gcttctgtggaagcccaagtactgtgcccacacaaggccgcatgccctgggatcagaaag  176
+            ||| ||||||||||||| ||||||| |||||||||| |||||||   ||| ||||||| |
+Query  198  gct-ctgtggaagccca-gtactgt-cccacacaagcccgcatgtggtggaatcagaa-g  253
+
+Sbjct  177  agttccgtgacc-ttgacgctgaacaatggcgtcgtctcaaatgggttcgtatgaagtgg  235
+            | | |||||||| |||||||||| || |||||||||||||| ||||| ||||||||||||
+Query  254  antnccgtgacccttgacgctgacca-tggcgtcgtctcaa-tgggtccgtatgaagtgg  311
+
+Sbjct  236  accatctacaactactgtaccgaccggactaggttcccggttatgccagctgaatgtaaa  295
+             |||| |||||||||| |||||||||||||||||||||| ||||||||||||||| ||||
+Query  312  nccatntacaactactntaccgaccggactaggttcccgnttatgccagctgaatntaaa  371
+
+Sbjct  296  agggacagagacgcataagttactacccttgagggttttaatgaatttatgctatcatta  355
+            |||||||||||||| |||||||||||| ||||||||||||||||||||||||||||||||
+Query  372  agggacagagacgcntaagttactaccnttgagggttttaatgaatttatgctatcatta  431
+
+Sbjct  356  ttatttgaattatgcttgttcaagagattgatatatgtattgtttgttggcccatgatgt  415
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  432  ttatttgaattatgcttgttcaagagattgatatatgtattgtttgttggcccatgatgt  491
+
+Sbjct  416  ttatgctatatttgggcctaaaattacatgttataattcatatatgtattgatt  469
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  492  ttatgctatatttgggcctaaaattacatgttataattcatatatgtattgatt  545
+
+468 807 2 F 476 1212 57 824 40 91.53
+Sbjct  2    ccacc-atgagcttt-ctcagccttgggacccggtgattgtcc-ncgagagcggtttaga  58
+            ||||| ||| ||||| |||| |||| |||| ||||  ||| ||  || | ||||||||| 
+Query  57   ccaccnatgngctttnctcacccttnggacncggttgttggcccncgggggcggtttagg  116
+
+Sbjct  59   gagnccattggncca-tgccctt-cg-tgcatcta-caagg-atcccac-tagatggttg  112
+            ||| ||| ||| ||| ||||||| || |||||||  |||||  |||| | ||||||||| 
+Query  117  gagcccaatggnccaatgccctttcggtgcatcttncaagggntcccncatagatggttn  176
+
+Sbjct  113  cccagcttctgtggaagcccaagtactgtgcccacacaaggccgcatgccctgggatcag  172
+            ||  |||||||||||| || |||||||||||||||||||| |||||||   ||| |||||
+Query  177  ccangcttctgtggaancc-aagtactgtgcccacacaagnccgcatgtggtggnatcag  235
+
+Sbjct  173  aaagagttccgtgaccttgacgctgaacaatggcgtcgtctcaaatgggttcgtatgaag  232
+            ||||||||||||| ||||||||||||||||||||||||||||||||||||||||||||||
+Query  236  aaagagttccgtgcccttgacgctgaacaatggcgtcgtctcaaatgggttcgtatgaag  295
+
+Sbjct  233  tggaccatctacaactactgtaccgaccggactaggttcccggttatgccagctgaatgt  292
+            ||| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  296  tggnccatctacaactactgtaccgaccggactaggttcccggttatgccagctgaatgt  355
+
+Sbjct  293  aaaagggacagagacgcataagttactacccttgagggttttaatgaatttatgctatca  352
+            ||||||||||||||||||||||||||||| |||| |||||||||||||||||||||||||
+Query  356  aaaagggacagagacgcataagttactactcttgngggttttaatgaatttatgctatca  415
+
+Sbjct  353  ttattatttgaattatgcttgttcaagagattgatatatgtattgtttgttggcccatga  412
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  416  ttattatttgaattatgcttgttcaagagattgatatatgtattgtttgttggcccatga  475
+
+Sbjct  413  tgtttatgctatatttgggcctaaaattacatgttataattcatatatgtattgatt  469
+            |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  476  tgtttatgctatatttgggcctaaaattacatgttataattcatatatgtattgatt  532
+
+445 815 0 F 462 1699 0 778 43 90.52
+Sbjct  0    ggagatg-tctagccatggcccttancggataaat-ctcaacc-ntttccagaggcgtg-  56
+            ||||||| ||||||||||| ||| | || |||||| |||||||  | || ||||||||| 
+Query  0    ggagatggtctagccatggacctgatcg-ataaattctcaaccactgtc-agaggcgtgc  57
+
+Sbjct  57   ttccnctgttcagtaca-atacagacagtttaatagagaggttcaagg-aacgaccctcg  113
+            |||| |||||||||||| |||||||||||||||||||||||||||||| |||||||||||
+Query  58   ttcctctgttcagtacagatacagacagtttaatagagaggttcaagggaacgaccctcg  117
+
+Sbjct  114  aagcatatggttcttcagctaagtcgaggcttccgttncccccaacatcaggccagtgga  173
+            ||||||||||||||||||||||||||||||||||||| || |||||||||||||||||||
+Query  118  aagcatatggttcttcagctaagtcgaggcttccgttgcctccaacatcaggccagtgga  177
+
+Sbjct  174  atggcatggagccaaacacactcttacgtgttttgtgttaccgtaacgacgaatctgcca  233
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  178  atggcatggagccaaacacactcttacgtgttttgtgttaccgtaacgacgaatctgcca  237
+
+Sbjct  234  cgaggtttctcaagaagacatataatctacctaagaagctttagtaaacttacgg-ctac  292
+            ||||||||||||||||| ||||||||||||||||||||||||||||||||||||| ||||
+Query  238  cgaggtttctcaagaagncatataatctacctaagaagctttagtaaacttacgggctac  297
+
+Sbjct  293  tactgcaacgtataataacctcacaagatgaagagtgtgtgttccactt-gcaggaggg-  351
+            ||||||||||||||||||||||||||||||||||||||||||||||||| ||||||||| 
+Query  298  tactgcaacgtataataacctcacaagatgaagagtgtgtgttccactttgcaggagggn  357
+
+Sbjct  352  agcctccgag-atttgt-at-agtgagtttca--ttttttttg-tttta-tgg-tttttt  402
+            |||||||||| |||| | || |||||||||||  ||||||||| ||||| ||| ||||||
+Query  358  agcctccgagnattt-tgattagtgagtttcaanttttttttggttttaatgggtttttt  416
+
+Sbjct  403  ttctaata-ca-ttcctatacgtactat-ataattcatttatatc  444
+            |||||| | || | |||||| |  || | | ||| | ||| | ||
+Query  417  ttctaaaaacaatncctatanggncttttaaaatccntttttttc  461
+
+451 819 14 F 467 975 5 810 36 92.16
+Sbjct  14   aaccgttancc--aag-cggtn-cc-ggaca-tcnccc-aaccnc-atggtnc-acgtgg  64
+            |||||||  ||  ||| ||||  || ||| |  | ||| |||| | | ||| | ||||||
+Query  5    aaccgttnccccnaagacggtngcccggaaaancgccccaaccccnaaggttccacgtgg  64
+
+Sbjct  65   ngctacaccn-cc-tggtggactt-cagcgn-gct-cca-gaacccca-ccgttgctttc  117
+             ||||||||  || |||||||||| |||||  ||| ||| || ||||| |||||||||||
+Query  65   ggctacacccnccctggtggacttncagcggagcttccatga-ccccagccgttgctttc  123
+
+Sbjct  118  gg-cccnccgtcgtaagctggacgtggcccacccactgggtttactgggctggncctctt  176
+            || ||  |||||||||||||||||||| ||| ||||||||||||||||||||| ||||||
+Query  124  ggaccagccgtcgtaagctggacgtggaccaaccactgggtttactgggctggtcctctt  183
+
+Sbjct  177  attggtggtggactcgccggaattatctacgactttgtcttcatcgatgaaaatgcccac  236
+            ||| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  184  attngtggtggactcgccggaattatctacgactttgtcttcatcgatgaaaatgcccac  243
+
+Sbjct  237  gagcaattgcctaccaccgattactgaagacgtcaaattcaacgttgttaatctgatgaa  296
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  244  gagcaattgcctaccaccgattactgaagacgtcaaattcaacgttgttaatctgatgaa  303
+
+Sbjct  297  tttttcgtgatttgcttttttaatttgcatcgtaatgggtttctggccgttggatcattt  356
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  304  tttttcgtgatttgcttttttaatttgcatcgtaatgggtttctggccgttggatcattt  363
+
+Sbjct  357  ttagatgaatctttgtctattgattgatcatttatgtgtctttgggtttgttgttggagt  416
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  364  ttagatgaatctttgtctattgattgatcatttatgtgtctttgggtttgttgttggagt  423
+
+Sbjct  417  tgtaatatctctggaaggcttttgtgcaattgtattgtacggtttaat  464
+            ||||||||||||||||||||||||||||||||||||||||||||||||
+Query  424  tgtaatatctctggaaggcttttgtgcaattgtattgtacggtttaat  471
+
+418 819 76 F 443 1362 3 726 45 89.55
+Sbjct  76   ctggt-gg-acttcag-cg-ngctcca--gaacccc-a-ccgttgcttt-cgg-cccncc  125
+            ||||| ||  |||| | ||  | | ||  || |||| | ||||| |||| ||| ||| ||
+Query  3    ctggttggggcttccggcggngttncattga-ccccnagccgttncttttcggacccacc  61
+
+Sbjct  126  -gtcgtaagctggacgtgg-cccacccactgggttt-actgggc-tggn-cc-tctt-at  178
+              ||||||||||||||||| |||| ||| ||||||| ||||| | |||  || |||| ||
+Query  62   cttcgtaagctggacgtggncccanccantgggttttactggncctgggnccctctttat  121
+
+Sbjct  179  tgg-tgg-tggactc-gccggaatta-t-ctacgactttgtcttcatc-gatg-aaaatg  231
+            ||| ||| || ||||  ||||| ||| | |||||||||||||||| || |||| ||||||
+Query  122  tggntgggtgnactcnnccggatttaattctacgactttgtcttcntccgatggaaaatg  181
+
+Sbjct  232  ccc-acgagcaattgcctaccaccgatt-actgaagacgtcaaattcaacgttgttaatc  289
+            ||| |||||||||||||| ||||||||| |||||||||||||||||||||||||||||||
+Query  182  ccccacgagcaattgcctcccaccgatttactgaagacgtcaaattcaacgttgttaatc  241
+
+Sbjct  290  tgatgaatttttcgtgatttgcttttttaatttgcatcgtaatgggtttctggccgttgg  349
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  242  tgatgaatttttcgtgatttgcttttttaatttgcatcgtaatgggtttctggccgttgg  301
+
+Sbjct  350  atcatttttagatgaatctttgtctattgattgatcatttatgtgtctttgggtttgttg  409
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  302  atcatttttagatgaatctttgtctattgattgatcatttatgtgtctttgggtttgttg  361
+
+Sbjct  410  ttggagttgtaatatctctggaaggcttttgtgcaattgtattgtacggtttaataacta  469
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  362  ttggagttgtaatatctctggaaggcttttgtgcaattgtattgtacggtttaataacta  421
+
+Sbjct  470  taattgagaaaaccagggaatgtg  493
+            |||||||||||||||||| |||||
+Query  422  taattgagaaaaccagggtatgtg  445
+
+484 819 35 F 494 1500 8 882 32 93.46
+Sbjct  35   ggaca-tcncccaaccncat-ggtnc-acgtggngctaca-ccnc-ctggtgga-cttca  88
+            ||||| ||  |||  | | | ||| | |||||| |||||| || | | ||||||  ||||
+Query  8    ggacaatccnccantcnccttggttccacgtggggctacatccncgccggtggantttca  67
+
+Sbjct  89   gcgng-ct-cca-gaaccccaccgttgctttcgg-cccnccgtcgtaagctggacgtggc  144
+            | | | || ||| || |||||||||| ||||||| ||  ||||| ||| |||||||||||
+Query  68   gnggggcttccatga-ccccaccgttnctttcggaccnnccgtcttaanctggacgtggc  126
+
+Sbjct  145  ccacccactgggttt-actgggctggncctcttattggtggtggactcgccggaattatc  203
+            ||||||||||||||| |||||||||| |||||||||||||||||||||||||||||||||
+Query  127  ccacccactgggttttactgggctggncctcttattggtggtggactcgccggaattatc  186
+
+Sbjct  204  tacgactttgtcttcatcgatgaaaatgcccacgagcaattgcctaccaccgattactga  263
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  187  tacgactttgtcttcatcgatgaaaatgcccacgagcaattgcctaccaccgattactga  246
+
+Sbjct  264  agacgtcaaattcaacgttgttaatctgatgaatttttcgtgatttgcttttttaatttg  323
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  247  agacgtcaaattcaacgttgttaatctgatgaatttttcgtgatttgcttttttaatttg  306
+
+Sbjct  324  catcgtaatgggtttctggccgttggatcatttttagatgaatctttgtctattgattga  383
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  307  catcgtaatgggtttctggccgttggatcatttttagatgaatctttgtctattgattga  366
+
+Sbjct  384  tcatttatgtgtctttgggtttgttgttggagttgtaatatctctggaaggcttttgtgc  443
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  367  tcatttatgtgtctttgggtttgttgttggagttgtaatatctctggaaggcttttgtgc  426
+
+Sbjct  444  aattgtattgtacggtttaataactataattgagaaaaccagggaatgtgaattatgaaa  503
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  427  aattgtattgtacggtttaataactataattgagaaaaccagggaatgtgaattatgaaa  486
+
+Sbjct  504  atgattttttttgtt  518
+            |||| ||||||||||
+Query  487  atgaatttttttgtt  501
+
+432 825 27 F 441 1469 13 765 36 91.75
+Sbjct  27   tttgaccnag-ccc-ttttttaag-caatccngccttccnt-agggtgaa-gt-ggctcc  80
+            ||||||| || ||| |||||| || |||| | |  |||| | |||||||| ||  | |||
+Query  13   tttgacccagncccctttttttaggcaattccgntttcccttagggtgaaagttngttcc  72
+
+Sbjct  81   c-tggnggaatctttacccc-gcttaactttgcctcntac-gcaag-ag-cccaaggag-  135
+            | ||| |||||||||||||| | ||||||| | ||| | | ||||| || |||| |||| 
+Query  73   cctggtggaatctttacccccggttaacttnggctccttccgcaaggaggcccagggagg  132
+
+Sbjct  136  aaanagctagccaaacgggaggttggccgatgttggcattccttagggtttgtggttcaa  194
+            ||  ||||||| |  |||||||||||| |||||||| |||| ||||||||||||||||||
+Query  133  aaggagctagc-anccgggaggttggc-gatgttggnattc-ttagggtttgtggttcaa  189
+
+Sbjct  195  cacaatgtgactggaaaaggaccatttgagaatctgttgcagcacttgtctgacccatgg  254
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  190  cacaatgtgactggaaaaggaccatttgagaatctgttgcagcacttgtctgacccatgg  249
+
+Sbjct  255  cacaacactattgtccaaaccttcaactaaagagtgaagacagacttatgatctcatacc  314
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  250  cacaacactattgtccaaaccttcaactaaagagtgaagacagacttatgatctcatacc  309
+
+Sbjct  315  tatctatcttccatcactttcatgtctgtctgtgagtgtgtttcatcttagagttcttgg  374
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  310  tatctatcttccatcactttcatgtctgtctgtgagtgtgtttcatcttagagttcttgg  369
+
+Sbjct  375  tttttgagcttgaattattgttgaaccgttgtagctccatgaacaaatttggaatcttca  434
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  370  tttttgagcttgaattattgttgaaccgttgtagctccatgaacaaatttggaatcttca  429
+
+Sbjct  435  atgtacagaggaactaagttaatc  458
+            ||||||||||||||||||||||||
+Query  430  atgtacagaggaactaagttaatc  453
+
+467 826 14 F 463 912 0 873 19 95.91
+Sbjct  14   ctgcccttagtgncgttgaattggctagggaagttgcttcccttctccggcaacaagtgg  73
+            ||||| |||||| |||||| ||||||| |||  |||||||| ||| ||| ||||||||||
+Query  0    ctgcc-ttagtgccgttga-ttggctaaggagnttgcttcc-ttc-ccg-caacaagtgg  54
+
+Sbjct  74   at-ccttgtgttgaattcgagttggagcncggatttgtgtnccgtgagcacggaaacact  132
+            || ||||||||||||||||||||||||| ||||||| ||| ||||| |||||||| | ||
+Query  55   attccttgtgttgaattcgagttggagcacggatttntgtaccgtgggcacggaa-ccct  113
+
+Sbjct  133  cccggatactatgatggacgatactggacaatgtggaagcttcc-attgttcggatgcac  191
+            |||||||||||||||||||| ||||||||||||||||||||||| |||||||||||||||
+Query  114  cccggatactatgatggacggtactggacaatgtggaagcttcccattgttcggatgcac  173
+
+Sbjct  192  cgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtaccctggcgcctt  251
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  174  cgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtaccctggcgcctt  233
+
+Sbjct  252  cattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattgccta  311
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  234  cattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattgccta  293
+
+Sbjct  312  caagcccccaagcttcaccgaagcttaatcccctttctggaatattcagcgttgattatt  371
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  294  caagcccccaagcttcaccgaagcttaatcccctttctggaatattcagcgttgattatt  353
+
+Sbjct  372  ctggaacccatttctatgtggtcaatgcaaatttaagaaattatttgccgacttaacagt  431
+            |||||||||||||||||||||||||||||||||||||||||||||||||||||||| |||
+Query  354  ctggaacccatttctatgtggtcaatgcaaatttaagaaattatttgccgacttaaaagt  413
+
+Sbjct  432  tgaggaactattgtttgaaagtgaaaatgttattcctatcagtttctct  480
+            |||||||||||||||||||||||||||||||||||||||||||||||||
+Query  414  tgaggaactattgtttgaaagtgaaaatgttattcctatcagtttctct  462
+
+409 826 12 F 407 1049 0 702 38 90.69
+Sbjct  12   ccctgcccttagtgncgttgaattggctagggaagttgcttcccttctccggcaacaagt  71
+            || |||| ||  || ||| |||||| ||| |||||||||| || ||||||| |||||| |
+Query  0    ccttgccnttnntgccgtcgaattg-ctaaggaagttgctacc-ttctccg-caacaa-t  55
+
+Sbjct  72   ggatcc-ttgtgttgaattcgagttggagcncggatttgtgtnccgtgagcacggaaaca  130
+            |||||| |||||||||| |||||||||||| ||||||||||| |||||||||||||| ||
+Query  56   ggatcccttgtgttgaantcgagttggagcncggatttgtgtaccgtgagcacggaanca  115
+
+Sbjct  131  ctcccgg-atactatgatggacgatactggacaatgtggaagcttccattgttcggatgc  189
+            ||||||| |||||| |||||||| ||||||||||||||||||||||||||||||||||||
+Query  116  ctcccgggatactacgatggacggtactggacaatgtggaagcttccattgttcggatgc  175
+
+Sbjct  190  accgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtaccctggcgcc  249
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||| ||||||
+Query  176  accgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtacccgggcgcc  235
+
+Sbjct  250  ttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattgcc  309
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  236  ttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattgcc  295
+
+Sbjct  310  tacaagcccccaagcttcaccgaagcttaa-tcccctttctggaatattcagcgttgatt  368
+            |||||||||||||||||||| || |||||| |||  |||||||||||||||  ||||| |
+Query  296  tacaagcccccaagcttcactgatgcttaaatcc-ttttctggaatattcaatgttgact  354
+
+Sbjct  369  attctggaacccatttctatgtggtcaatgcaaatttaagaaattattt-gcc  420
+            || | |||||||| || | | ||||||||| ||||||||| |||||||| |||
+Query  355  at-ccggaacccaattttgtatggtcaatgtaaatttaagtaattattttgcc  406
+
+426 826 55 F 419 1120 0 743 34 91.95
+Sbjct  55   cttctccggcaacaagtggatccttgtgttgaattcgagttggagcncggatttgtgtnc  114
+            |||| ||| ||||| | || ||| || |||||||| | |||||  | ||| ||||| | |
+Query  0    cttc-ccg-caaca-g-gggtccctgggttgaattngngttgggncccggntttgtttcc  55
+
+Sbjct  115  cgtgagcacggaaacactcccggatactatgatggacgatactggacaatgtggaagctt  174
+            ||||  | ||||| | | ||||| | ||||| ||| || | |||| ||||||||||||| 
+Query  56   cgtggncccggaa-cccncccggntnctatgntggccggtnctggccaatgtggaagct-  114
+
+Sbjct  175  ccattgttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaag  234
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  115  ccattgttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaag  173
+
+Sbjct  235  gagtaccctggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgc  294
+            |||| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  174  gagtnccctggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgc  233
+
+Sbjct  295  atcagtttcattgcctacaagcccccaagcttcaccgaagcttaatcccctttctggaat  354
+            ||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||
+Query  234  atcagtttcattgcctacaagcccccaag-ttcaccgaagcttaatcccctttctggaat  292
+
+Sbjct  355  attcagcgttgattattctggaacccatttctatgtggtcaatgcaaatttaagaaatta  414
+            |||||||||||||||||||||||||| |||||||||||||||||||||||||||||||||
+Query  293  attcagcgttgattattctggaacccntttctatgtggtcaatgcaaatttaagaaatta  352
+
+Sbjct  415  tttgccgacttaacagttgaggaactattgtttgaaagtgaaaatgttattcctatcagt  474
+            ||||||||||| | ||||||||||||||||||||||||||||||||||||||||||||||
+Query  353  tttgccgacttnaaagttgaggaactattgtttgaaagtgaaaatgttattcctatcagt  412
+
+Sbjct  475  ttctct  480
+            ||||||
+Query  413  ttctct  418
+
+474 826 7 F 450 1297 0 801 41 91.13
+Sbjct  7    ttccnccctgcccttagtgncgttgaattggctagggaagttgcttcccttctccggcaa  66
+            |||| ||||||| |||| | ||| || | | ||||  | || ||| |  ||| ||| || 
+Query  0    ttcc-ccctgcc-ttag-g-cgt-ga-t-gnctagn-a-gt-gctnc--ttc-ccg-can  45
+
+Sbjct  67   caagtggatccttgtgttgaattcgagttggagcncggatttgtgtnccgtgagcacgga  126
+             | |||  ||||| |||||||| ||||| || || ||||||| | | ||||| ||||| |
+Query  46   -a-gtg-ntccttntgttgaat-cgagt-ggngcncggattt-ttttccgtgngcacgna  99
+
+Sbjct  127  aacactcccggatactatgatggacgatactggacaatgtggaagcttccattgttcgga  186
+            | ||||||||| | ||||||||| || ||||||| |||||||||||||||||||||||||
+Query  100  a-cactcccgg-tnctatgatggccggtactgga-aatgtggaagcttccattgttcgga  156
+
+Sbjct  187  tgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtaccctggc  246
+            |||||||| |||| ||||||||||||||||||||||||||||||||||||||||||||||
+Query  157  tgcaccga-tccgntcaagtgttgaaggaagttgaagaatgcaagaaggagtaccctggc  215
+
+Sbjct  247  gccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcatt  306
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  216  gccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcatt  275
+
+Sbjct  307  gcctacaagcccccaagcttcaccgaagcttaatcccctttctggaatattcagcgttga  366
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  276  gcctacaagcccccaagcttcaccgaagcttaatcccctttctggaatattcagcgttga  335
+
+Sbjct  367  ttattctggaacccatttctatgtggtcaatgcaaatttaagaaattatttgccgactta  426
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  336  ttattctggaacccatttctatgtggtcaatgcaaatttaagaaattatttgccgactta  395
+
+Sbjct  427  acagttgaggaactattgtttgaaagtgaaaatgttattcctatcagtttctct  480
+            | ||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  396  aaagttgaggaactattgtttgaaagtgaaaatgttattcctatcagtttctct  449
+
+446 826 35 F 436 1327 0 774 36 91.84
+Sbjct  35   tggctagggaagttg-cttcccttctccggcaacaagtggatccttgtgttgaattcgag  93
+            |||||||| || ||| || || ||| |||  ||||  ||| ||||| | |||||||||  
+Query  0    tggctagg-aa-ttgact-cc-ttc-ccg--aaca-ntggntcctt-ttttgaattcgnt  50
+
+Sbjct  94   ttggagcncggatttgtgtnccgtgagcacggaaacactcccggatactatgatggacga  153
+            |||| || ||| ||| |   ||||| || || || |||||| || |||| |||||| || 
+Query  51   ttggngcncggntttttnncccgtgngcncgnaa-cactccngg-tactntgatggncgg  108
+
+Sbjct  154  tactggacaatgtggaagcttccattgttcggatgcaccgactccgctcaagtgttgaag  213
+            ||||||||| | ||||||||||||||||||||||||||||||||||||||||||||||||
+Query  109  tactggacattntggaagcttccattgttcggatgcaccgactccgctcaagtgttgaag  168
+
+Sbjct  214  gaagttgaagaatgcaagaaggagtaccctggcgccttcattaggatcatcggattcgac  273
+            ||| ||||||||||||||||||| ||||||||||||||||||||||||||||||||||||
+Query  169  gaanttgaagaatgcaagaaggantaccctggcgccttcattaggatcatcggattcgac  228
+
+Sbjct  274  aacacccgtcaagtccaatgcatcagtttcattgcctacaagcccccaagcttcaccgaa  333
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  229  aacacccgtcaagtccaatgcatcagtttcattgcctacaagcccccaagcttcaccgaa  288
+
+Sbjct  334  gcttaatcccctttctggaatattcagcgttgattattctggaacccatttctatgtggt  393
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  289  gcttaatcccctttctggaatattcagcgttgattattctggaacccatttctatgtggt  348
+
+Sbjct  394  caatgcaaatttaagaaattatttgccgacttaacagttgaggaactattgtttgaaagt  453
+            |||||||||||||||||||||||||||||||||| |||||||||||||||||||||||||
+Query  349  caatgcaaatttaagaaattatttgccgacttaaaagttgaggaactattgtttgaaagt  408
+
+Sbjct  454  gaaaatgttattcctatcagtttctct  480
+            |||||||||||||||||||||||||||
+Query  409  gaaaatgttattcctatcagtttctct  435
+
+419 846 199 F 422 902 1 793 16 96.20
+Sbjct  199  ctaccttcaccg-canca-gtggattccctgtgttg-aattcg-agttagagc-acggat  253
+            || |||||  || || || |||||| || ||||||| ||| || | |||||||  |||||
+Query  1    cttccttcnncggcaacaagtggat-ccttgtgttggaat-cggatttagagcnccggat  58
+
+Sbjct  254  ttgtgtaccgtgagcacggaaacactcccggatactacgatggacggtactggacaatgt  313
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  59   ttgtgtaccgtgagcacggaaacactcccggatactacgatggacggtactggacaatgt  118
+
+Sbjct  314  ggaagcttccattgttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaat  373
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  119  ggaagcttccattgttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaat  178
+
+Sbjct  374  gcaagaaggantacccgggcgcnttcattaggatcatcggattcgacaacacccgtcaag  433
+            |||||||||| ||||||||||| |||||||||||||||||||||||||||||||||||||
+Query  179  gcaagaaggagtacccgggcgccttcattaggatcatcggattcgacaacacccgtcaag  238
+
+Sbjct  434  tccaatgcatcagtttcattgcctacaagcccccaagcttcaccgaagcttaatttcttt  493
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  239  tccaatgcatcagtttcattgcctacaagcccccaagcttcaccgaagcttaatttcttt  298
+
+Sbjct  494  tctaaaacattcttatgaattatctctgctcatttcatttcctattgtctgtgttctttt  553
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  299  tctaaaacattcttatgaattatctctgctcatttcatttcctattgtctgtgttctttt  358
+
+Sbjct  554  tctctttatgagacaatttctatcggattgtcaaatgtctgatttatgaatatgtaattt  613
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  359  tctctttatgagacaatttctatcggattgtcaaatgtctgatttatgaatatgtaattt  418
+
+Sbjct  614  atat  617
+            ||||
+Query  419  atat  422
+
+434 846 184 F 437 1100 6 772 33 92.42
+Sbjct  184  tggcna-ggaagttgactaccttcaccgcancagtggattccctgtgttgaattcgagtt  242
+            |||| | |||||||| || ||||| ||  |  || ||   |||||||||||||||| |||
+Query  6    tggctaaggaagttg-ctcccttc-ccngaaaaggggnccccctgtgttgaattcgngtt  63
+
+Sbjct  243  agagcacgg-atttg-tgtaccgtgagcac-ggaaacact-cccggatactacgatggac  298
+            || || ||| ||||| ||| ||  | || | |||| |||| ||||||||||||||||| |
+Query  64   agggcccgggatttggtgtncccngngccccggaancactncccggatactacgatggcc  123
+
+Sbjct  299  ggtactggacaatgtggaagcttccattgttcggatgcaccgactccgctcaagtgttga  358
+            |||||||||||||||||| ||||||||||| |||||||||||||||||||||||||||||
+Query  124  ggtactggacaatgtggangcttccattgtccggatgcaccgactccgctcaagtgttga  183
+
+Sbjct  359  aggaagttgaagaatgcaagaaggantacccgggcgcnttcattaggatcatcggattcg  418
+            ||||||||||||||||||||||||| ||||||||||| ||||||||||||||||||||||
+Query  184  aggaagttgaagaatgcaagaaggagtacccgggcgccttcattaggatcatcggattcg  243
+
+Sbjct  419  acaacacccgtcaagtccaatgcatcagtttcattgcctacaagcccccaagcttcaccg  478
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  244  acaacacccgtcaagtccaatgcatcagtttcattgcctacaagcccccaagcttcaccg  303
+
+Sbjct  479  aagcttaatttcttttctaaaacattcttatgaattatctctgctcatttcatttcctat  538
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  304  aagcttaatttcttttctaaaacattcttatgaattatctctgctcatttcatttcctat  363
+
+Sbjct  539  tgtctgtgttctttttctctttatgagacaatttctatcggattgtcaaatgtctgattt  598
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  364  tgtctgtgttctttttctctttatgagacaatttctatcggattgtcaaatgtctgattt  423
+
+Sbjct  599  atgaatatgtaatttatat  617
+            |||||||| | ||||||||
+Query  424  atgaatatnttatttatat  442
+
+454 846 164 F 456 1151 0 859 17 96.26
+Sbjct  164  cctgac-ttagtgacgtcgattggcnaggaagttgactaccttcaccgcanca-gtggat  221
+            |||| | |||||| || ||| |||| ||||||||| || ||||| ||||| || ||||||
+Query  0    cctgccnttagtgncgccgaatggctaggaagttg-cttccttctccgcaacaagtggat  58
+
+Sbjct  222  tccctgtgtt-gaattcgagttagagc-acggatttgtgtaccgtgagcacggaaacact  279
+             || |||||| |||||||||||||||| ||||||||||||||||||||||||||||||||
+Query  59   -ccttgtgtttgaattcgagttagagccacggatttgtgtaccgtgagcacggaaacact  117
+
+Sbjct  280  cccggatactacgatggacggtactggacaatgtggaagcttccattgttcggatgcacc  339
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  118  cccggatactacgatggacggtactggacaatgtggaagcttccattgttcggatgcacc  177
+
+Sbjct  340  gactccgctcaagtgttgaaggaagttgaagaatgcaagaaggantacccgggcgcnttc  399
+            |||||||||||||||||||||||||||||||||||||||||||| ||||||||||| |||
+Query  178  gactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtacccgggcgccttc  237
+
+Sbjct  400  attaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctac  459
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  238  attaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctac  297
+
+Sbjct  460  aagcccccaagcttcaccgaagcttaatttcttttctaaaacattcttatgaattatctc  519
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  298  aagcccccaagcttcaccgaagcttaatttcttttctaaaacattcttatgaattatctc  357
+
+Sbjct  520  tgctcatttcatttcctattgtctgtgttctttttctctttatgagacaatttctatcgg  579
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  358  tgctcatttcatttcctattgtctgtgttctttttctctttatgagacaatttctatcgg  417
+
+Sbjct  580  attgtcaaatgtctgatttatgaatatgtaatttatat  617
+            ||||||||||||||||||||||||||||||||||||||
+Query  418  attgtcaaatgtctgatttatgaatatgtaatttatat  455
+
+503 846 115 F 511 1230 2 879 45 91.12
+Sbjct  115  gaaggtgtngccacca-ttggaa-ga-gaagtntgagactctatcttacctccctgac-t  170
+            |||| ||   || ||| |||||| || ||| | || | || | |||| || ||||| | |
+Query  2    gaagntg--ccccccaattggaaagaagaantttgggccttt-tctt-ccnccctggcct  57
+
+Sbjct  171  t-agtgacgtcg-a-ttggcna-ggaagttgactaccttcaccgcanca-gtggattccc  225
+            | |||  | ||| | ||||| | ||||||||||| | ||| | ||| ||  ||| | |||
+Query  58   ttagtnccntcggaattggctaaggaagttgactccnttctcngcaacaaatggnt-ccc  116
+
+Sbjct  226  t-gtgttgaattcgagttagagcacggatttgtgtaccgtgagcacggaaacactcccgg  284
+            | |||||||||||||||||| || ||||||||||| |||||||| |||||||||||||||
+Query  117  ttgtgttgaattcgagttagggcncggatttgtgtcccgtgagcccggaaacactcccgg  176
+
+Sbjct  285  atactacgatggac-ggtactggacaat-gtggaagcttcc-attgttcggatgcaccga  341
+            |||||||||||||| ||||||||||||| |||||||||||| ||||||||||||||||||
+Query  177  atactacgatggaccggtactggacaattgtggaagcttcccattgttcggatgcaccga  236
+
+Sbjct  342  ctccgctcaagtgttgaaggaagttgaagaatgcaagaaggantacccgggcgcnttcat  401
+            |||||||||||||||||||||||||||||||||||||||||| ||||||||||| |||||
+Query  237  ctccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtacccgggcgccttcat  296
+
+Sbjct  402  taggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaa  461
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  297  taggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaa  356
+
+Sbjct  462  gcccccaagcttcaccgaagcttaatttcttttctaaaacattcttatgaattatctctg  521
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  357  gcccccaagcttcaccgaagcttaatttcttttctaaaacattcttatgaattatctctg  416
+
+Sbjct  522  ctcatttcatttcctattgtctgtgttctttttctctttatgagacaatttctatcggat  581
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  417  ctcatttcatttcctattgtctgtgttctttttctctttatgagacaatttctatcggat  476
+
+Sbjct  582  tgtcaaatgtctgatttatgaatatgtaatttatat  617
+            ||||||||||||||||||||||||||||||||||||
+Query  477  tgtcaaatgtctgatttatgaatatgtaatttatat  512
+
+410 846 204 F 414 1360 1 731 31 92.48
+Sbjct  204  ttcaccgcancag-tgg-attccct-g-tgttgaattcg-agttag-agcacggatttgt  257
+            ||| ||| | ||  ||| || |||| | |||| ||| || |||| |  ||||||||||||
+Query  1    ttc-ccgaaacaantgggat-cccttggtgttnaat-cggagtttggngcacggatttgt  57
+
+Sbjct  258  gtaccgtgagcacggaaac-actcccggatactacgatggacggtactggacaatgtgga  316
+            || |||||||||||| ||| ||||| ||||||||||||||||| ||||||||||||||||
+Query  58   gtnccgtgagcacggnaaccactccnggatactacgatggacgntactggacaatgtgga  117
+
+Sbjct  317  agcttccattgttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgca  376
+            |||||||||||| |||||||||||||||||||||||| |||||||||||||| |||||||
+Query  118  agcttccattgtncggatgcaccgactccgctcaagtnttgaaggaagttgangaatgca  177
+
+Sbjct  377  agaaggantacccgggcgcnttcattaggatcatcggattcgacaacacccgtcaagtcc  436
+            ||||||  ||||||||||| |||||| |||||||||||||||||||||||||||||||||
+Query  178  agaaggngtacccgggcgccttcattnggatcatcggattcgacaacacccgtcaagtcc  237
+
+Sbjct  437  aatgcatcagtttcattgcctacaagcccccaagcttcaccgaagcttaatttcttttct  496
+            |||||||| |||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  238  aatgcatcngtttcattgcctacaagcccccaagcttcaccgaagcttaatttcttttct  297
+
+Sbjct  497  aaaacattcttatgaattatctctgctcatttcatttcctattgtctgtgttctttttct  556
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  298  aaaacattcttatgaattatctctgctcatttcatttcctattgtctgtgttctttttct  357
+
+Sbjct  557  ctttatgagacaatttctatcggattgtcaaatgtctgatttatgaatatgtaattt  613
+            ||||||||||||||||||||||| ||||||||||||||||||||| |||||| ||||
+Query  358  ctttatgagacaatttctatcggnttgtcaaatgtctgatttatgnatatgtgattt  414
+
+447 848 138 F 476 1658 0 737 62 86.57
+Sbjct  138  ggaa-ccctntctgnt-cagcgatctt-ggtncnggaatcgtcnccgt-gctgcttctcc  193
+            |||| || | | || | |||| ||||| ||| | ||||||||| ||||  ||||||||||
+Query  0    ggaaaccatgtntgtttcagcaatctttggtaccggaatcgtcaccgttnctgcttctcc  59
+
+Sbjct  194  g-ttctccgcca-tttcaagtcccaaaattaggntaatggaggaggattagggatggtga  251
+            | |||||||||| ||| |||| |||||||| || ||||||||||||||||||||||||||
+Query  60   ggttctccgccaatttaaagttccaaaatt-gggtaatggaggaggattagggatggtga  118
+
+Sbjct  252  tagagtgttcgtcgaggccacagaagaa-tcgacggctcatcacaggaagacgag-ccga  309
+            |||||||||||||||||||||||||||| |||||||||||||||||||||||||| ||||
+Query  119  tagagtgttcgtcgaggccacagaagaaatcgacggctcatcacaggaagacgaggccga  178
+
+Sbjct  310  agaagactcagcct-gggacattaagagaa-gcctactgtttacgctcctcttcctcctc  367
+            |||||||||||||| || |||||||||||| ||||||||||||||||||| |||||||||
+Query  179  agaagactcagccttggnacattaagagaaagcctactgtttacgctcctnttcctcctc  238
+
+Sbjct  368  ttccggcggaatggagtccgttcactctcgcttctgacgacggtggtgctgccactgctg  427
+            ||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||
+Query  239  ttccggcggaatggagtccgttcactctcgcttctaacgacggtggtgctgccactgctg  298
+
+Sbjct  428  cgggagatttggtttca-ggcgctgcctagttggtatgagttatctgctgatttggttgt  486
+            |||| |||||||||||| ||||||||||||||||||| |  ||||| |||||||||||||
+Query  299  cgggngatttggtttcaaggcgctgcctagttggtatnanntatctcctgatttggttgt  358
+
+Sbjct  487  aatctagtttg-agaactttt-gtt-gttgttta-ctgtg-ttttca--gtttt-ctga-  538
+            ||||||||||  ||||||||| ||| |||| ||| ||||| |||| |  ||||| |  | 
+Query  359  aatctagttttnagaactttttgttngttggttanctgtggtttttaaagtttttcntan  418
+
+Sbjct  539  -tg-ttt-gtt-gtt-gggttt-gtttg-tgtttga-ttgg-tgaa-tgaatggacc  584
+             || ||| | | ||| ||| || |||||  |||| | |||| |||| | ||||| ||
+Query  419  ntggttttgntngttngggnttngtttggcgtttaaattgggtgaaataaatgggcc  475
+
+412 849 0 F 415 912 68 746 27 93.47
+Sbjct  0    aattcgagttggagcacggatttgtgtcaacgtgagcacggancactcccggatactatg  59
+            ||||||||||||||||||||||| ||| | |||| ||||||| | |||||||||||||||
+Query  68   aattcgagttggagcacggatttntgt-accgtgggcacggaaccctcccggatactatg  126
+
+Sbjct  60   ntggncgatactggacantgtgga-gctncn-att-nccggatgcaccgactccgctcaa  116
+             ||| || ||||||||| |||||| ||| |  |||   ||||||||||||||||||||||
+Query  127  atggacggtactggacaatgtggaagcttcccattgttcggatgcaccgactccgctcaa  186
+
+Sbjct  117  gtgttgaaggaagttgaagaatgcnagaaggngtnccctggcgccttcattnggatcatc  176
+            |||||||||||||||||||||||| |||||| || |||||||||||||||| ||||||||
+Query  187  gtgttgaaggaagttgaagaatgcaagaaggagtaccctggcgccttcattaggatcatc  246
+
+Sbjct  177  ggattcgncnacncccgtcaagtccaatgcatcagtttcattgcctacaagcccccaagc  236
+            ||||||| | || |||||||||||||||||||||||||||||||||||||||||||||||
+Query  247  ggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagcccccaagc  306
+
+Sbjct  237  ttcaccgaagctta-tcccctttcnggaatattcagcgttgattattctggaacccattt  295
+            |||||||||||||| ||||||||| |||||||||||||||||||||||||||||||||||
+Query  307  ttcaccgaagcttaatcccctttctggaatattcagcgttgattattctggaacccattt  366
+
+Sbjct  296  ctatgtggtcaatgcaaatttaagaaattatttgccgacttaacagttgaggaactattg  355
+            ||||||||||||||||||||||||||||||||||||||||||| ||||||||||||||||
+Query  367  ctatgtggtcaatgcaaatttaagaaattatttgccgacttaaaagttgaggaactattg  426
+
+Sbjct  356  tttgaaagtgaaaatgttattcctatcagtttctctataattatagttatcatttc  411
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  427  tttgaaagtgaaaatgttattcctatcagtttctctataattatagttatcatttc  482
+
+417 849 0 F 417 1120 27 705 43 89.69
+Sbjct  0    aattcgagttggagcacggatttgtgtcaacgtgagcacggancactcccggatactatg  59
+            |||| | |||||  | ||| ||||| ||  ||||  | |||| | | ||||| | |||||
+Query  27   aattngngttgggncccggntttgtttc-ccgtggncccggaacccncccggntnctatg  85
+
+Sbjct  60   ntggncgatactggacantgtgga-gctncnatt-nccggatgcaccgactccgctcaag  117
+             ||| || | |||| || |||||| ||| | |||   |||||||||||||||||||||||
+Query  86   ntggccggtnctggccaatgtggaagct-ccattgttcggatgcaccgactccgctcaag  144
+
+Sbjct  118  tgttgaaggaagttgaagaatgcnagaaggngtnccctggcgccttcattnggatcatcg  177
+            ||||||||||||||||||||||| |||||| || |||||||||||||||| |||||||||
+Query  145  tgttgaaggaagttgaagaatgcaagaaggagtnccctggcgccttcattaggatcatcg  204
+
+Sbjct  178  gattcgncnacncccgtcaagtccaatgcatcagtttcattgcctacaagcccccaagct  237
+            |||||| | || |||||||||||||||||||||||||||||||||||||||||||||| |
+Query  205  gattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagcccccaag-t  263
+
+Sbjct  238  tcaccgaagctta-tcccctttcnggaatattcagcgttgattattctggaacccatttc  296
+            ||||||||||||| ||||||||| ||||||||||||||||||||||||||||||| ||||
+Query  264  tcaccgaagcttaatcccctttctggaatattcagcgttgattattctggaacccntttc  323
+
+Sbjct  297  tatgtggtcaatgcaaatttaagaaattatttgccgacttaacagttgaggaactattgt  356
+            |||||||||||||||||||||||||||||||||||||||| | |||||||||||||||||
+Query  324  tatgtggtcaatgcaaatttaagaaattatttgccgacttnaaagttgaggaactattgt  383
+
+Sbjct  357  ttgaaagtgaaaatgttattcctatcagtttctctataattatagttatcatttcatttc  416
+            ||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||
+Query  384  ttgaaagtgaaaatgttattcctatcagtttctctntaattatagttatcatttcatttc  443
+
+417 849 0 F 413 1297 62 722 36 91.33
+Sbjct  0    aattcgagttggagcacggatttgtgtcaacgtgagcacggancactcccggatactatg  59
+            ||| ||||| || || ||||||| | ||  |||| ||||| | ||||||||| | |||||
+Query  62   aat-cgagt-ggngcncggatttttttc--cgtgngcacgnaacactcccgg-tnctatg  116
+
+Sbjct  60   ntggncgatactggacantgtgga-gctncnatt-nccggatgcaccgactccgctcaag  117
+             ||| || ||||||| | |||||| ||| | |||   |||||||||||| |||| |||||
+Query  117  atggccggtactgga-aatgtggaagcttccattgttcggatgcaccga-tccgntcaag  174
+
+Sbjct  118  tgttgaaggaagttgaagaatgcnagaaggngtnccctggcgccttcattnggatcatcg  177
+            ||||||||||||||||||||||| |||||| || |||||||||||||||| |||||||||
+Query  175  tgttgaaggaagttgaagaatgcaagaaggagtaccctggcgccttcattaggatcatcg  234
+
+Sbjct  178  gattcgncnacncccgtcaagtccaatgcatcagtttcattgcctacaagcccccaagct  237
+            |||||| | || ||||||||||||||||||||||||||||||||||||||||||||||||
+Query  235  gattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagcccccaagct  294
+
+Sbjct  238  tcaccgaagctta-tcccctttcnggaatattcagcgttgattattctggaacccatttc  296
+            ||||||||||||| ||||||||| ||||||||||||||||||||||||||||||||||||
+Query  295  tcaccgaagcttaatcccctttctggaatattcagcgttgattattctggaacccatttc  354
+
+Sbjct  297  tatgtggtcaatgcaaatttaagaaattatttgccgacttaacagttgaggaactattgt  356
+            |||||||||||||||||||||||||||||||||||||||||| |||||||||||||||||
+Query  355  tatgtggtcaatgcaaatttaagaaattatttgccgacttaaaagttgaggaactattgt  414
+
+Sbjct  357  ttgaaagtgaaaatgttattcctatcagtttctctataattatagttatcatttcatttc  416
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  415  ttgaaagtgaaaatgttattcctatcagtttctctataattatagttatcatttcatttc  474
+
+557 866 17 F 561 1212 0 884 78 86.05
+Sbjct  17   cgtttcttgtgacaactcccatccgacgt-caagaatgctaggatctgngatccgttccc  75
+            |||| |||||| ||  ||| | ||| | | || || | ||||| | || |  |||| |||
+Query  0    cgtt-cttgtg-cacntcc-aaccggccttca-ga-tcctagg-tntg-ggnccgt-ccc  51
+
+Sbjct  76   catcaaccacc-atgagct--actcagcctt-ggaacncgatgattggccc-cgagaggc  130
+              ||| ||||| ||| |||   |||| |||| ||| | || |  ||||||| || | |||
+Query  52   nttca-ccaccnatgngctttnctcacccttngga-cncggttgttggcccncg-ggggc  108
+
+Sbjct  131  g-tttagagagncca-tggncca-tgcncctttcgttgcatct-acaang-atnccacat  185
+            | ||||| ||| ||| ||| ||| ||| ||||||| |||||||  ||| |  | || |||
+Query  109  ggtttagggagcccaatggnccaatgc-cctttcggtgcatcttncaagggntcccncat  167
+
+Sbjct  186  agatgntnccca-gct-ctgtggaagcccagtactgt-cccacacaagcccgcatgtggt  242
+            ||||| |  ||| ||| |||||||| || |||||||| |||||||||| |||||||||||
+Query  168  agatggttnccangcttctgtggaanccaagtactgtgcccacacaagnccgcatgtggt  227
+
+Sbjct  243  ggaatcagaa-gantnccgtgacccttgacgctgacca-tggcgtcgtctcaa-tgggtc  299
+            || ||||||| || | ||||| ||||||||||||| || |||||||||||||| ||||| 
+Query  228  ggnatcagaaagagttccgtg-cccttgacgctgaacaatggcgtcgtctcaaatgggtt  286
+
+Sbjct  300  cgtatgaagtggnccatntacaactactntaccgaccggactaggttcccgnttatgcca  359
+            |||||||||||| |||| |||||||||| |||||||||||||||||||||| ||||||||
+Query  287  cgtatgaagtggnccatctacaactactgtaccgaccggactaggttcccggttatgcca  346
+
+Sbjct  360  gctgaatntaaaagggacagagacgcntaagttactaccnttgagggttttaatgaattt  419
+            ||||||| |||||||||||||||||| |||||||||||  ||| ||||||||||||||||
+Query  347  gctgaatgtaaaagggacagagacgcataagttactactcttgngggttttaatgaattt  406
+
+Sbjct  420  atgctatcattattatttgaattatgcttgttcaagagattgatatatgtattgtttgtt  479
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  407  atgctatcattattatttgaattatgcttgttcaagagattgatatatgtattgtttgtt  466
+
+Sbjct  480  ggcccatgatgtttatgctatatttgggcctaaaattacatgttataattcatatatgta  539
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  467  ggcccatgatgtttatgctatatttgggcctaaaattacatgttataattcatatatgta  526
+
+Sbjct  540  ttgattagctatgtattttcatatgttatgatct  573
+            ||||||||||||||||||||||||||||||||||
+Query  527  ttgattagctatgtattttcatatgttatgatct  560
+
+405 867 233 F 417 1602 0 708 38 90.75
+Sbjct  233  ccgcttggtaacttcatggatcaa-gagacgcttcc-tcaaagagaagctcgcgagtgtt  290
+            ||||||||||||||||||| |||| ||||||||||| |||||||||||||||| ||| ||
+Query  0    ccgcttggtaacttcatggntcaaagagacgcttccatcaaagagaagctcgcnagtttt  59
+
+Sbjct  291  aaggacacttcgactgaagtaa-ggagctcgatgagcaagccgccgccgtgatgagagca  349
+            |||||||||||||||||||||| |||||||||||||||||||||||||||||||||||||
+Query  60   aaggacacttcgactgaagtaaaggagctcgatgagcaagccgccgccgtgatgagagca  119
+
+Sbjct  350  gctagggctgagatcgccgccgcgcttaacaagatgaagaaggagactcaggttgaagtc  409
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  120  gctagggctgagatcgccgccgcgcttaacaagatgaagaaggagactcaggttgaagtc  179
+
+Sbjct  410  gaggagaagctagcggagggaaggaagaaggtggaggaagagctaaaagaagctttggcg  469
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  180  gaggagaagctagcggagggaaggaagaaggtggaggaagagctaaaagaagctttggcg  239
+
+Sbjct  470  agcttggagagtcagaaagaagaaaccattaaagctttggattctcagattgctgctctt  529
+            ||||| |||||||||||||||| |||||||||||||||||||||||||||||||||||||
+Query  240  agcttngagagtcagaaagaaggaaccattaaagctttggattctcagattgctgctctt  299
+
+Sbjct  530  agtgaa-gacattgt-caagaaggttctt-ccttcttaaattatatttttgttaac--tg  584
+            |||||| | |||| | ||||||||| ||| ||| ||||||||| |||||| || ||   |
+Query  300  agtgaaagncatttttcaagaaggt-ctttcctncttaaattaaatttttttttaccncg  358
+
+Sbjct  585  tgtaattctctgtct-ctc-tatctcaaaacttatttac-aag-aaattactg-taaa  637
+             ||||||| |||  | | | || | |||||||| ||| | ||| || || |||  |||
+Query  359  ngtaattccctgnnttcccntancncaaaactttttttccaaggaanttcctgnnaaa  416
+
+421 884 0 F 427 890 8 770 26 93.87
+Sbjct  0    tacg-gnagnccctaaaccg-ggacag-tcatggttncccnaca-ggnttgcttcattnc  55
+            |||| | |  || | ||||  |||||| |||| |||  ||  || || |||||||||| |
+Query  8    tacgtgca-nccatcaacccaggacagntcatngttttcccccaaggcttgcttcatttc  66
+
+Sbjct  56   c-agatcaacgcgggaaaatcctctgcttccagcccgtgtc-actttcaacagcgctaat  113
+            | | |||||||||||||||||||||||||||| ||  |||| |||||||||| |||||||
+Query  67   ccanatcaacgcgggaaaatcctctgcttccancc-ttgtccactttcaacancgctaat  125
+
+Sbjct  114  cc-gggtctgcagattctcgact-cgcactctttgctaacagtcttcccactgaactcgt  171
+            || |||||||||||||||||||| ||||||||||||||||||||||||||||||||||||
+Query  126  cccgggtctgcagattctcgacttcgcactctttgctaacagtcttcccactgaactcgt  185
+
+Sbjct  172  cgtgggtactactttccttgacgccactacagtcaagaagctaaagggtgttcttggagg  231
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  186  cgtgggtactactttccttgacgccactacagtcaagaagctaaagggtgttcttggagg  245
+
+Sbjct  232  aactggctaaaaaaagacttaggactactccttgactaaaacaccaaaacctgtttcttc  291
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  246  aactggctaaaaaaagacttaggactactccttgactaaaacaccaaaacctgtttcttc  305
+
+Sbjct  292  atctttttttctctttaattgattcttgtcttctctgttttgtgtgccttgtaattcttc  351
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  306  atctttttttctctttaattgattcttgtcttctctgttttgtgtgccttgtaattcttc  365
+
+Sbjct  352  aaaacctgtcaaaattgttacattgtatgtgagttttttcaattaagatcctgagttggt  411
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  366  aaaacctgtcaaaattgttacattgtatgtgagttttttcaattaagatcctgagttggt  425
+
+Sbjct  412  cacaccgtt  420
+            |||||||||
+Query  426  cacaccgtt  434
+
+424 892 0 F 420 1300 64 772 24 94.31
+Sbjct  0    caatccaaggctgagaag-cttagggagaanctctgtctgatcagtttgaggctaagagg  58
+            || || |||||| | ||| ||  |||| || |||| ||| |||| ||||||||| |  ||
+Query  64   cagtcnaaggctta-aaggct--ggganaagctctttctaatcantttgaggctnanngg  120
+
+Sbjct  59   ncgaagnaccaaggcttagcccgagaaaggaagcatgctaggagagagga-cgtttagct  117
+             ||||| |||||||||||||| ||||||| | |||||||||||||||||| |||||||||
+Query  121  gcgaaggaccaaggcttagcc-gagaaagna-gcatgctaggagagaggagcgtttagct  178
+
+Sbjct  118  taagggtcccggtggagatgttgcgcctgtagctgctccagcacctgctgctacacctgc  177
+             |||| ||||| ||||||||||||||||||||||||||||||||||||||||||||||||
+Query  179  -aaggttcccgntggagatgttgcgcctgtagctgctccagcacctgctgctacacctgc  237
+
+Sbjct  178  tccaactgcagctgtaccgaagaagaagtctaagaagtgaagaggatatatagtgtgaag  237
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  238  tccaactgcagctgtaccgaagaagaagtctaagaagtgaagaggatatatagtgtgaag  297
+
+Sbjct  238  ctatatcgatcatcagttcacggattagactctgaagaaggttttgaatgttttatcgaa  297
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  298  ctatatcgatcatcagttcacggattagactctgaagaaggttttgaatgttttatcgaa  357
+
+Sbjct  298  tgcgtttgtggaataacttttattttcgcaaagaacataacttatgtcagttaatcttta  357
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  358  tgcgtttgtggaataacttttattttcgcaaagaacataacttatgtcagttaatcttta  417
+
+Sbjct  358  tgctttcagatttttagcttacagtgtttcaacagacctactttgcaagttgttcttttt  417
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  418  tgctttcagatttttagcttacagtgtttcaacagacctactttgcaagttgttcttttt  477
+
+Sbjct  418  ttggtt  423
+            ||||||
+Query  478  ttggtt  483
+
+423 902 0 F 423 1100 20 747 33 92.20
+Sbjct  0    gcttccttcnncggcaacaagtggatcc-ttgtgttggaat-cg-gatttagagcnccgg  56
+            ||| |||||  | | || ||| ||  ||  ||||||| ||| || | || || || ||||
+Query  20   gctcccttc-ccng-aa-aaggggnccccctgtgttg-aattcgng-tt-agggc-ccgg  72
+
+Sbjct  57   -atttg-tgtaccgtgagcac-ggaaacact-cccggatactacgatggacggtactgga  112
+             ||||| ||| ||  | || | |||| |||| ||||||||||||||||| ||||||||||
+Query  73   gatttggtgtncccngngccccggaancactncccggatactacgatggccggtactgga  132
+
+Sbjct  113  caatgtggaagcttccattgttcggatgcaccgactccgctcaagtgttgaaggaagttg  172
+            ||||||||| ||||||||||| ||||||||||||||||||||||||||||||||||||||
+Query  133  caatgtggangcttccattgtccggatgcaccgactccgctcaagtgttgaaggaagttg  192
+
+Sbjct  173  aagaatgcaagaaggagtacccgggcgccttcattaggatcatcggattcgacaacaccc  232
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  193  aagaatgcaagaaggagtacccgggcgccttcattaggatcatcggattcgacaacaccc  252
+
+Sbjct  233  gtcaagtccaatgcatcagtttcattgcctacaagcccccaagcttcaccgaagcttaat  292
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  253  gtcaagtccaatgcatcagtttcattgcctacaagcccccaagcttcaccgaagcttaat  312
+
+Sbjct  293  ttcttttctaaaacattcttatgaattatctctgctcatttcatttcctattgtctgtgt  352
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  313  ttcttttctaaaacattcttatgaattatctctgctcatttcatttcctattgtctgtgt  372
+
+Sbjct  353  tctttttctctttatgagacaatttctatcggattgtcaaatgtctgatttatgaatatg  412
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 
+Query  373  tctttttctctttatgagacaatttctatcggattgtcaaatgtctgatttatgaatatn  432
+
+Sbjct  413  taatttatat  422
+            | ||||||||
+Query  433  ttatttatat  442
+
+409 902 14 F 409 1143 0 728 30 92.67
+Sbjct  14   caacaagtggatccttgtgttggaat-cggatttagagcnccggatttgtgtacc-gtga  71
+            ||| ||| || ||| || |||| ||| ||| ||  | || |||||||||||| || ||| 
+Query  0    caa-aag-ggntccctg-gttg-aattcgg-tt-ngngccccggatttgtgtncccgtgn  53
+
+Sbjct  72   gcac-ggaaacactcccggatactac-gatggac-ggtactggacaatgtggaagcttcc  128
+            || | |||| ||| ||| | |||| | ||||||| |||||||| ||||||||||| ||||
+Query  54   gccccggaaccacccccnggtacttccgatggaccggtactggccaatgtggaagnttcc  113
+
+Sbjct  129  -attgttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaagg  187
+             |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  114  cattgttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaagg  173
+
+Sbjct  188  agtacccgggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgca  247
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  174  agtacccgggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgca  233
+
+Sbjct  248  tcagtttcattgcctacaagcccccaagcttcaccgaagcttaatttcttttctaaaaca  307
+            ||||||||||||||||||||||||||||||||||||||||||||| ||||||||||||||
+Query  234  tcagtttcattgcctacaagcccccaagcttcaccgaagcttaatntcttttctaaaaca  293
+
+Sbjct  308  ttcttatgaattatctctgctcatttcatttcctattgtctgtgttctttttctctttat  367
+             |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  294  ntcttatgaattatctctgctcatttcatttcctattgtctgtgttctttttctctttat  353
+
+Sbjct  368  gagacaatttctatcggattgtcaaatgtctgatttatgaatatgtaatttatat  422
+            |||||||||||||||||||||||||||||||||||||||||||||| ||||||||
+Query  354  gagacaatttctatcggattgtcaaatgtctgatttatgaatatgtnatttatat  408
+
+423 902 0 F 422 1151 34 818 9 97.87
+Sbjct  0    gcttccttcnncggcaacaagtggatccttgtgttggaat-cggatttagagcnccggat  58
+            |||||||||  || ||||||||||||||||||||| |||| || | |||||||  |||||
+Query  34   gcttccttctccg-caacaagtggatccttgtgtttgaattcg-agttagagccacggat  91
+
+Sbjct  59   ttgtgtaccgtgagcacggaaacactcccggatactacgatggacggtactggacaatgt  118
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  92   ttgtgtaccgtgagcacggaaacactcccggatactacgatggacggtactggacaatgt  151
+
+Sbjct  119  ggaagcttccattgttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaat  178
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  152  ggaagcttccattgttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaat  211
+
+Sbjct  179  gcaagaaggagtacccgggcgccttcattaggatcatcggattcgacaacacccgtcaag  238
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  212  gcaagaaggagtacccgggcgccttcattaggatcatcggattcgacaacacccgtcaag  271
+
+Sbjct  239  tccaatgcatcagtttcattgcctacaagcccccaagcttcaccgaagcttaatttcttt  298
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  272  tccaatgcatcagtttcattgcctacaagcccccaagcttcaccgaagcttaatttcttt  331
+
+Sbjct  299  tctaaaacattcttatgaattatctctgctcatttcatttcctattgtctgtgttctttt  358
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  332  tctaaaacattcttatgaattatctctgctcatttcatttcctattgtctgtgttctttt  391
+
+Sbjct  359  tctctttatgagacaatttctatcggattgtcaaatgtctgatttatgaatatgtaattt  418
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  392  tctctttatgagacaatttctatcggattgtcaaatgtctgatttatgaatatgtaattt  451
+
+Sbjct  419  atat  422
+            ||||
+Query  452  atat  455
+
+420 902 3 F 422 1230 91 785 19 95.49
+Sbjct  3    tcc-ttcnncggcaacaagtggatcc-ttgtgttggaat-cggatttagagcnccggatt  59
+            ||| |||  | ||||||| ||| ||| |||||||| ||| || | |||| || | |||||
+Query  91   tccnttc-tcngcaacaaatggntcccttgtgttg-aattcg-agttagggcnc-ggatt  146
+
+Sbjct  60   tgtgtaccgtgagcacggaaacactcccggatactacgatggac-ggtactggacaat-g  117
+            ||||| |||||||| ||||||||||||||||||||||||||||| ||||||||||||| |
+Query  147  tgtgtcccgtgagcccggaaacactcccggatactacgatggaccggtactggacaattg  206
+
+Sbjct  118  tggaagcttcc-attgttcggatgcaccgactccgctcaagtgttgaaggaagttgaaga  176
+            ||||||||||| ||||||||||||||||||||||||||||||||||||||||||||||||
+Query  207  tggaagcttcccattgttcggatgcaccgactccgctcaagtgttgaaggaagttgaaga  266
+
+Sbjct  177  atgcaagaaggagtacccgggcgccttcattaggatcatcggattcgacaacacccgtca  236
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  267  atgcaagaaggagtacccgggcgccttcattaggatcatcggattcgacaacacccgtca  326
+
+Sbjct  237  agtccaatgcatcagtttcattgcctacaagcccccaagcttcaccgaagcttaatttct  296
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  327  agtccaatgcatcagtttcattgcctacaagcccccaagcttcaccgaagcttaatttct  386
+
+Sbjct  297  tttctaaaacattcttatgaattatctctgctcatttcatttcctattgtctgtgttctt  356
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  387  tttctaaaacattcttatgaattatctctgctcatttcatttcctattgtctgtgttctt  446
+
+Sbjct  357  tttctctttatgagacaatttctatcggattgtcaaatgtctgatttatgaatatgtaat  416
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  447  tttctctttatgagacaatttctatcggattgtcaaatgtctgatttatgaatatgtaat  506
+
+Sbjct  417  ttatat  422
+            ||||||
+Query  507  ttatat  512
+
+404 902 15 F 407 1360 8 736 25 93.83
+Sbjct  15   aacaagtgg-atcc-ttg-tgttggaatcgga-tttagagcnccggatttgtgtaccgtg  70
+            ||||| ||| |||| ||| ||||  ||||||| ||| | || | |||||||||| |||||
+Query  8    aacaantgggatcccttggtgtt-naatcggagtttggngcac-ggatttgtgtnccgtg  65
+
+Sbjct  71   agcacggaaac-actcccggatactacgatggacggtactggacaatgtggaagcttcca  129
+            ||||||| ||| ||||| ||||||||||||||||| ||||||||||||||||||||||||
+Query  66   agcacggnaaccactccnggatactacgatggacgntactggacaatgtggaagcttcca  125
+
+Sbjct  130  ttgttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggag  189
+            |||| |||||||||||||||||||||||| |||||||||||||| ||||||||||||| |
+Query  126  ttgtncggatgcaccgactccgctcaagtnttgaaggaagttgangaatgcaagaaggng  185
+
+Sbjct  190  tacccgggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatc  249
+            |||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||
+Query  186  tacccgggcgccttcattnggatcatcggattcgacaacacccgtcaagtccaatgcatc  245
+
+Sbjct  250  agtttcattgcctacaagcccccaagcttcaccgaagcttaatttcttttctaaaacatt  309
+             |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  246  ngtttcattgcctacaagcccccaagcttcaccgaagcttaatttcttttctaaaacatt  305
+
+Sbjct  310  cttatgaattatctctgctcatttcatttcctattgtctgtgttctttttctctttatga  369
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  306  cttatgaattatctctgctcatttcatttcctattgtctgtgttctttttctctttatga  365
+
+Sbjct  370  gacaatttctatcggattgtcaaatgtctgatttatgaatatgtaattt  418
+            ||||||||||||||| ||||||||||||||||||||| |||||| ||||
+Query  366  gacaatttctatcggnttgtcaaatgtctgatttatgnatatgtgattt  414
+
+438 905 0 F 451 1693 83 730 53 88.08
+Sbjct  0    ccgggaagctcaa-gccgccaacggatccnaggaaacggattgtgatagacttcactgca  58
+            ||| ||||||||| |||||||||| |||| || |||| ||||||||||||||||||||||
+Query  83   ccgagaagctcaaagccgccaacgaatccaag-aaactgattgtgatagacttcactgca  141
+
+Sbjct  59   acatggtgccccaccttgccgtttcat-gccacccgtctttgctgacttagcccaagaag  117
+            ||||||||||| ||||||||||||||| || |||||||||||||||||||||| ||||||
+Query  142  acatggtgccc-accttgccgtttcattgc-acccgtctttgctgacttagcc-aagaag  198
+
+Sbjct  118  caccttgacgtagtcttcttcaaggtcgatgttgacgaattgaacactgttgctgaggag  177
+            ||||| |||||||  |||||||||||||||||||||||||||||||||||||||||||||
+Query  199  cacctcgacgtagntttcttcaaggtcgatgttgacgaattgaacactgttgctgaggag  258
+
+Sbjct  178  tttaaagttcaggcaatgccaac-gtttatcttcatgaaagaaggagagatcaaggagac  236
+            ||||||||||||||||||||||| ||||||||||||||||||||||||||||||||||||
+Query  259  tttaaagttcaggcaatgccaaccgtttatcttcatgaaagaaggagagatcaaggagac  318
+
+Sbjct  237  tgtggttggtgctgcgaaagaagaaatcatt-gccaa-tctcg-agaagcacaagac-ag  292
+            ||||||||||||||| ||||||| ||||||| ||||| |||||  ||||| |||| | ||
+Query  319  tgtggttggtgctgctaaagaaggaatcatttgccaaatctcggngaagcccaagnccag  378
+
+Sbjct  293  tt-gttgc-tgctgctt-gattt-gcttttc-tc-tctta-cctatttt-gctaaaat-a  343
+            || ||||| |||||||| ||||| ||||||  || ||||| |||||||| |||||||  |
+Query  379  tttgttgcctgctgctttgattttgctttttntcctcttancctatttttgctaaaaana  438
+
+Sbjct  344  tg-tttggtgttttaa-taaatcc-tttgttcgcccgagtcttttcaccttaaat-gtgc  399
+            || ||||| | ||||| |||| || ||||||||||||||  ||||||||| |||| || |
+Query  439  tggtttgggggtttaaataaanccctttgttcgcccgagn-ttttcacct-aaatngtcc  496
+
+Sbjct  400  tcttatg-tgtggtggtgaataaatgttgttgcaaactt  437
+            ||||||| ||| | || | | || |||||| ||||||||
+Query  497  tcttatggtgttggggggnanaa-tgttgt-gcaaactt  533
+
+403 912 9 F 407 988 0 648 54 86.67
+Sbjct  9    tgccgttga-ttggctaaggagnttgcttccttc-ccgcaa-caagtggattccttgtgt  65
+            ||| || || ||||| | |||| || || ||||| ||| || || | ||   ||| ||||
+Query  0    tgc-gtcgaattggcnanggag-ttactaccttctccgnaaacagggggncccctggtgt  57
+
+Sbjct  66   tgaattcgagtt-ggagcacgg-at-ttntgtaccgtgggcacggaaccctcccggatac  122
+             || |||||||| ||||||||| || || ||||||||| ||||||||| |||||||||||
+Query  58   ngacttcgagtttggagcacgggatcttgtgtaccgtgagcacggaacactcccggatac  117
+
+Sbjct  123  tatgatggacggtactggacaatgtggaagcttcccattgttcggatgcaccgactccgc  182
+            || |||||||||||||||||||||||||||||||| ||||||||||||||||||||| ||
+Query  118  tacgatggacggtactggacaatgtggaagcttcc-attgttcggatgcaccgactctgc  176
+
+Sbjct  183  tcaagtgttgaaggaagttgaagaatgcaagaaggagtaccctggcgccttcattaggat  242
+            |||||| ||||||||||||||||||||||||||||||||||| |||||||||||||||||
+Query  177  tcaagtattgaaggaagttgaagaatgcaagaaggagtacccgggcgccttcattaggat  236
+
+Sbjct  243  catcggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagccccc  302
+            |||||||||||||||||||||||||||||| |||||||||||||||||||||||||||||
+Query  237  catcggattcgacaacacccgtcaagtccagtgcatcagtttcattgcctacaagccccc  296
+
+Sbjct  303  aagcttcaccgaagcttaa-tcccctttctggaatattcagcgttgattattctggaacc  361
+            ||||||||| || |||||| |||  |||||||||||||||  ||||| ||| | ||||||
+Query  297  aagcttcactgatgcttaaatcc-ttttctggaatattcaatgttgactat-ccggaacc  354
+
+Sbjct  362  catttctatgtggtcaatgcaaatttaagaaattattt-gccga-cttaaaa  411
+            || || | | |||||||||   ||||||| |||||||| ||| |  | ||||
+Query  355  caattttgtatggtcaatgtnnatttaagtaattattttgccaaagtgaaaa  406
+
+411 912 1 F 414 1049 3 696 43 89.58
+Sbjct  1    tgcc-ttagtgccgttga-ttggctaaggagnttgcttccttc-ccgcaacaagtggatt  57
+            |||| ||  |||||| || ||| |||||||  ||||| ||||| ||||||||| ||||| 
+Query  3    tgccnttnntgccgtcgaattg-ctaaggaagttgctaccttctccgcaacaa-tggatc  60
+
+Sbjct  58   ccttgtgttgaattcgagttggagcacggatttntgtaccgtgggcacggaacc-ctccc  116
+            |||||||||||| |||||||||||| ||||||| ||||||||| |||||||| | |||||
+Query  61   ccttgtgttgaantcgagttggagcncggatttgtgtaccgtgagcacggaancactccc  120
+
+Sbjct  117  gg-atactatgatggacggtactggacaatgtggaagcttcccattgttcggatgcaccg  175
+            || |||||| |||||||||||||||||||||||||||||||| |||||||||||||||||
+Query  121  gggatactacgatggacggtactggacaatgtggaagcttcc-attgttcggatgcaccg  179
+
+Sbjct  176  actccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtaccctggcgccttca  235
+            ||||||||||||||||||||||||||||||||||||||||||||||||| ||||||||||
+Query  180  actccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtacccgggcgccttca  239
+
+Sbjct  236  ttaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctaca  295
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  240  ttaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctaca  299
+
+Sbjct  296  agcccccaagcttcaccgaagcttaa-tcccctttctggaatattcagcgttgattattc  354
+            |||||||||||||||| || |||||| |||  |||||||||||||||  ||||| ||| |
+Query  300  agcccccaagcttcactgatgcttaaatcc-ttttctggaatattcaatgttgactat-c  357
+
+Sbjct  355  tggaacccatttctatgtggtcaatgcaaatttaagaaattattt-gccga-cttaaaa  411
+             |||||||| || | | ||||||||| ||||||||| |||||||| ||| |  | ||||
+Query  358  cggaacccaattttgtatggtcaatgtaaatttaagtaattattttgccaaagtgaaaa  416
+
+445 912 38 F 439 1120 0 791 31 92.99
+Sbjct  38   cttcccgcaacaagtggattccttgtgttgaattcgagttggagcacggatttntgtacc  97
+            |||||||||||| | || | ||| | |||||||| | |||||  | ||| ||| | | ||
+Query  0    cttcccgcaaca-g-gggtccct-gggttgaattngngttgggncccggntttgtttccc  56
+
+Sbjct  98   gtgggcacggaaccctcccggatactatgatggacggtactggacaatgtggaagcttcc  157
+            |||| | |||||||| ||||| | ||||| ||| |||| |||| ||||||||||||| ||
+Query  57   gtggncccggaacccncccggntnctatgntggccggtnctggccaatgtggaagct-cc  115
+
+Sbjct  158  cattgttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaagg  217
+             |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  116  -attgttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaagg  174
+
+Sbjct  218  agtaccctggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgca  277
+            ||| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  175  agtnccctggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgca  234
+
+Sbjct  278  tcagtttcattgcctacaagcccccaagcttcaccgaagcttaatcccctttctggaata  337
+            |||||||||||||||||||||||||||| |||||||||||||||||||||||||||||||
+Query  235  tcagtttcattgcctacaagcccccaag-ttcaccgaagcttaatcccctttctggaata  293
+
+Sbjct  338  ttcagcgttgattattctggaacccatttctatgtggtcaatgcaaatttaagaaattat  397
+            ||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||||
+Query  294  ttcagcgttgattattctggaacccntttctatgtggtcaatgcaaatttaagaaattat  353
+
+Sbjct  398  ttgccgacttaaaagttgaggaactattgtttgaaagtgaaaatgttattcctatcagtt  457
+            |||||||||| |||||||||||||||||||||||||||||||||||||||||||||||||
+Query  354  ttgccgacttnaaagttgaggaactattgtttgaaagtgaaaatgttattcctatcagtt  413
+
+Sbjct  458  tctctataattatagttatcatttc  482
+            ||||| |||||||||||||||||||
+Query  414  tctctntaattatagttatcatttc  438
+
+483 912 0 F 464 1297 6 842 35 92.61
+Sbjct  0    ctgccttagtgccgttgattggctaaggagnttgcttccttcccgcaacaagtggattcc  59
+            ||||||||| || || ||| | ||| | || | ||| | ||||||||   ||||  | ||
+Query  6    ctgccttag-gc-gt-gat-gncta-gnag-t-gctnc-ttcccgca--nagtgn-t-cc  53
+
+Sbjct  60   ttgtgttgaattcgagttggagcacggatttntgtaccgtgggcacggaaccctcccgga  119
+            || |||||||| ||||| || || ||||||| | | ||||| ||||| ||| ||||||| 
+Query  54   ttntgttgaat-cgagt-ggngcncggattt-ttttccgtgngcacgnaacactcccgg-  110
+
+Sbjct  120  tactatgatggacggtactggacaatgtggaagcttcccattgttcggatgcaccgactc  179
+            | ||||||||| |||||||||| ||||||||||||||| |||||||||||||||||| ||
+Query  111  tnctatgatggccggtactgga-aatgtggaagcttcc-attgttcggatgcaccga-tc  166
+
+Sbjct  180  cgctcaagtgttgaaggaagttgaagaatgcaagaaggagtaccctggcgccttcattag  239
+            || |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  167  cgntcaagtgttgaaggaagttgaagaatgcaagaaggagtaccctggcgccttcattag  226
+
+Sbjct  240  gatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagcc  299
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  227  gatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagcc  286
+
+Sbjct  300  cccaagcttcaccgaagcttaatcccctttctggaatattcagcgttgattattctggaa  359
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  287  cccaagcttcaccgaagcttaatcccctttctggaatattcagcgttgattattctggaa  346
+
+Sbjct  360  cccatttctatgtggtcaatgcaaatttaagaaattatttgccgacttaaaagttgagga  419
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  347  cccatttctatgtggtcaatgcaaatttaagaaattatttgccgacttaaaagttgagga  406
+
+Sbjct  420  actattgtttgaaagtgaaaatgttattcctatcagtttctctataattatagttatcat  479
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  407  actattgtttgaaagtgaaaatgttattcctatcagtttctctataattatagttatcat  466
+
+Sbjct  480  ttc  482
+            |||
+Query  467  ttc  469
+
+444 912 19 F 436 1327 0 778 34 92.27
+Sbjct  19   tggctaaggagnttg-cttccttcccgcaacaagtggattccttgtgttgaattcgagtt  77
+            |||||| |||  ||| || |||||||| ||||  ||| | |||| | |||||||||  ||
+Query  0    tggcta-gga-attgact-ccttcccg-aaca-ntggnt-cctt-ttttgaattcgnttt  52
+
+Sbjct  78   ggagcacggatttntgtaccgtgggcacggaaccctcccggatactatgatggacggtac  137
+            || || ||| ||| |   ||||| || || ||| |||| || |||| |||||| ||||||
+Query  53   ggngcncggntttttnncccgtgngcncgnaacactccngg-tactntgatggncggtac  111
+
+Sbjct  138  tggacaatgtggaagcttcccattgttcggatgcaccgactccgctcaagtgttgaagga  197
+            |||||| | ||||||||||| |||||||||||||||||||||||||||||||||||||||
+Query  112  tggacattntggaagcttcc-attgttcggatgcaccgactccgctcaagtgttgaagga  170
+
+Sbjct  198  agttgaagaatgcaagaaggagtaccctggcgccttcattaggatcatcggattcgacaa  257
+            | ||||||||||||||||||| ||||||||||||||||||||||||||||||||||||||
+Query  171  anttgaagaatgcaagaaggantaccctggcgccttcattaggatcatcggattcgacaa  230
+
+Sbjct  258  cacccgtcaagtccaatgcatcagtttcattgcctacaagcccccaagcttcaccgaagc  317
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  231  cacccgtcaagtccaatgcatcagtttcattgcctacaagcccccaagcttcaccgaagc  290
+
+Sbjct  318  ttaatcccctttctggaatattcagcgttgattattctggaacccatttctatgtggtca  377
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  291  ttaatcccctttctggaatattcagcgttgattattctggaacccatttctatgtggtca  350
+
+Sbjct  378  atgcaaatttaagaaattatttgccgacttaaaagttgaggaactattgtttgaaagtga  437
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  351  atgcaaatttaagaaattatttgccgacttaaaagttgaggaactattgtttgaaagtga  410
+
+Sbjct  438  aaatgttattcctatcagtttctct  462
+            |||||||||||||||||||||||||
+Query  411  aaatgttattcctatcagtttctct  435
+
+396 975 76 F 417 1362 0 687 42 89.67
+Sbjct  76   cc-ctggt-gg-acttncagcggagcttccat-gacccc-agccgttgcttt-cggacc-  129
+            || ||||| ||  ||| | |||| | || ||| |||||| ||||||| |||| |||||| 
+Query  0    ccgctggttggggcttccggcggng-ttncattgaccccnagccgttncttttcggaccc  58
+
+Sbjct  130  agccgtcgtaagctggacgtggacc-aaccactgggttt-actgggc-tggt-cc-tctt  183
+            | || ||||||||||||||||| || | ||| ||||||| ||||| | |||  || ||||
+Query  59   acccttcgtaagctggacgtggncccanccantgggttttactggncctgggnccctctt  118
+
+Sbjct  184  -attng-tgg-tggactc-gccggaatta-t-ctacgactttgtcttcatc-gatg-aaa  235
+             ||| | ||| || ||||  ||||| ||| | |||||||||||||||| || |||| |||
+Query  119  tattggntgggtgnactcnnccggatttaattctacgactttgtcttcntccgatggaaa  178
+
+Sbjct  236  atgccc-acgagcaattgcctaccaccgatt-actgaagacgtcaaattcaacgttgtta  293
+            |||||| |||||||||||||| ||||||||| ||||||||||||||||||||||||||||
+Query  179  atgccccacgagcaattgcctcccaccgatttactgaagacgtcaaattcaacgttgtta  238
+
+Sbjct  294  atctgatgaatttttcgtgatttgcttttttaatttgcatcgtaatgggtttctggccgt  353
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  239  atctgatgaatttttcgtgatttgcttttttaatttgcatcgtaatgggtttctggccgt  298
+
+Sbjct  354  tggatcatttttagatgaatctttgtctattgattgatcatttatgtgtctttgggtttg  413
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  299  tggatcatttttagatgaatctttgtctattgattgatcatttatgtgtctttgggtttg  358
+
+Sbjct  414  ttgttggagttgtaatatctctggaaggcttttgtgcaattgtattgtacggtttaat  471
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  359  ttgttggagttgtaatatctctggaaggcttttgtgcaattgtattgtacggtttaat  416
+
+419 975 53 F 419 1500 29 781 19 95.47
+Sbjct  53   ggttccacgtggggctacacccnccctggtggacttncagcggagcttccatgaccccag  112
+            ||||||||||||||||||| || | | |||||| || ||| || ||||||||||||||| 
+Query  29   ggttccacgtggggctacatccncgccggtggantttcagnggggcttccatgacccca-  88
+
+Sbjct  113  ccgttgctttcggaccagccgtcgtaagctggacgtggaccaaccactgggttt-actgg  171
+            ||||| ||||||||||  ||||| ||| |||||||||| ||| ||||||||||| |||||
+Query  89   ccgttnctttcggaccnnccgtcttaanctggacgtggcccacccactgggttttactgg  147
+
+Sbjct  172  gctggtcctcttattngtggtggactcgccggaattatctacgactttgtcttcatcgat  231
+            ||||| ||||||||| ||||||||||||||||||||||||||||||||||||||||||||
+Query  148  gctggncctcttattggtggtggactcgccggaattatctacgactttgtcttcatcgat  207
+
+Sbjct  232  gaaaatgcccacgagcaattgcctaccaccgattactgaagacgtcaaattcaacgttgt  291
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  208  gaaaatgcccacgagcaattgcctaccaccgattactgaagacgtcaaattcaacgttgt  267
+
+Sbjct  292  taatctgatgaatttttcgtgatttgcttttttaatttgcatcgtaatgggtttctggcc  351
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  268  taatctgatgaatttttcgtgatttgcttttttaatttgcatcgtaatgggtttctggcc  327
+
+Sbjct  352  gttggatcatttttagatgaatctttgtctattgattgatcatttatgtgtctttgggtt  411
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  328  gttggatcatttttagatgaatctttgtctattgattgatcatttatgtgtctttgggtt  387
+
+Sbjct  412  tgttgttggagttgtaatatctctggaaggcttttgtgcaattgtattgtacggtttaat  471
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  388  tgttgttggagttgtaatatctctggaaggcttttgtgcaattgtattgtacggtttaat  447
+
+426 988 0 F 424 1049 12 766 28 93.41
+Sbjct  0    tgc-gtcgaattggcnangga-gttactaccttctccgnaaacagggggncccctggtgt  57
+            ||| ||||||||| | | ||| ||| |||||||||||| || ||  ||  ||| || |||
+Query  12   tgccgtcgaattg-ctaaggaagttgctaccttctccgcaa-caatggatcccttg-tgt  68
+
+Sbjct  58   ngacttcgagtttggagcacgggatcttgtgtaccgtgagcacggaa-cactcccgg-at  115
+             ||  ||||||| ||||| ||| || ||||||||||||||||||||| ||||||||| ||
+Query  69   tgaantcgagtt-ggagcncgg-at-ttgtgtaccgtgagcacggaancactcccgggat  125
+
+Sbjct  116  actacgatggacggtactggacaatgtggaagcttccattgttcggatgcaccgactctg  175
+            |||||||||||||||||||||||||||||||||||||||||||||||||||||||||| |
+Query  126  actacgatggacggtactggacaatgtggaagcttccattgttcggatgcaccgactccg  185
+
+Sbjct  176  ctcaagtattgaaggaagttgaagaatgcaagaaggagtacccgggcgccttcattagga  235
+            ||||||| ||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  186  ctcaagtgttgaaggaagttgaagaatgcaagaaggagtacccgggcgccttcattagga  245
+
+Sbjct  236  tcatcggattcgacaacacccgtcaagtccagtgcatcagtttcattgcctacaagcccc  295
+            ||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||
+Query  246  tcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagcccc  305
+
+Sbjct  296  caagcttcactgatgcttaaatccttttctggaatattcaatgttgactatccggaaccc  355
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  306  caagcttcactgatgcttaaatccttttctggaatattcaatgttgactatccggaaccc  365
+
+Sbjct  356  aattttgtatggtcaatgtnnatttaagtaattattttgccaaagtgaaaaaactgaagg  415
+            |||||||||||||||||||  |||||||||||||||||||||||||||||||||||||||
+Query  366  aattttgtatggtcaatgtaaatttaagtaattattttgccaaagtgaaaaaactgaagg  425
+
+Sbjct  416  tttgtttttc  425
+            ||||||||||
+Query  426  tttgtttttc  435
+
+433 1049 0 F 413 1297 4 630 72 82.98
+Sbjct  0    ccttgccnttnntgccgtcgaattgctaaggaagttgctaccttctccgcaacaatggat  59
+            || |||| ||   || || || |  ||| | | || ||| | ||| |||||  | ||  |
+Query  4    ccctgcc-ttag-gc-gt-ga-tgncta-gna-gt-gctnc-ttc-ccgca-nagtgn-t  51
+
+Sbjct  60   cccttgtgttgaantcgagttggagcncggatttgtgtaccgtgagcacggaancactcc  119
+            || || ||||||| |||||| || || ||||||| | | ||||| ||||| || ||||||
+Query  52   cc-ttntgttgaa-tcgagt-ggngcncggattt-ttttccgtgngcacgnaa-cactcc  106
+
+Sbjct  120  cgggatactacgatggacggtactggacaatgtggaagcttccattgttcggatgcaccg  179
+            |||  | ||| ||||| |||||||||| ||||||||||||||||||||||||||||||||
+Query  107  cgg--tnctatgatggccggtactgga-aatgtggaagcttccattgttcggatgcaccg  163
+
+Sbjct  180  actccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtacccgggcgccttca  239
+            | |||| |||||||||||||||||||||||||||||||||||||||||| ||||||||||
+Query  164  a-tccgntcaagtgttgaaggaagttgaagaatgcaagaaggagtaccctggcgccttca  222
+
+Sbjct  240  ttaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctaca  299
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  223  ttaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctaca  282
+
+Sbjct  300  agcccccaagcttcactgatgcttaaatcc-ttttctggaatattcaatgttgactat-c  357
+            |||||||||||||||| || |||||| |||  |||||||||||||||  ||||| ||| |
+Query  283  agcccccaagcttcaccgaagcttaa-tcccctttctggaatattcagcgttgattattc  341
+
+Sbjct  358  cggaacccaattttgtatggtcaatgtaaatttaagtaattattttgccaaagtgaaaaa  417
+             |||||||| || | | ||||||||| ||||||||| |||||||| ||| |  | |||| 
+Query  342  tggaacccatttctatgtggtcaatgcaaatttaagaaattattt-gccga-cttaaaag  399
+
+Sbjct  418  actgaagg---t-ttgttt  432
+              ||| ||   | ||||||
+Query  400  t-tga-ggaactattgttt  416
+
+409 1049 24 F 401 1327 2 615 65 83.95
+Sbjct  24   gctaaggaagttg-ctaccttctccgcaacaatggatcccttgtgttgaantcgagttgg  82
+            |||| |||| ||| || ||||| ||| |||| ||| ||| || | ||||| |||  ||||
+Query  2    gcta-ggaa-ttgact-ccttc-ccg-aacantggntcc-tt-ttttgaattcgntttgg  54
+
+Sbjct  83   agcncggatttgtgtaccgtgagcacggaancactcccgggatactacgatggacggtac  142
+             || ||| ||| |   ||||| || || || |||||| ||  ||||  ||||| ||||||
+Query  55   ngcncggntttttnncccgtgngcncgnaa-cactccngg--tactntgatggncggtac  111
+
+Sbjct  143  tggacaatgtggaagcttccattgttcggatgcaccgactccgctcaagtgttgaaggaa  202
+            |||||| | |||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  112  tggacattntggaagcttccattgttcggatgcaccgactccgctcaagtgttgaaggaa  171
+
+Sbjct  203  gttgaagaatgcaagaaggagtacccgggcgccttcattaggatcatcggattcgacaac  262
+             ||||||||||||||||||| ||||| |||||||||||||||||||||||||||||||||
+Query  172  nttgaagaatgcaagaaggantaccctggcgccttcattaggatcatcggattcgacaac  231
+
+Sbjct  263  acccgtcaagtccaatgcatcagtttcattgcctacaagcccccaagcttcactgatgct  322
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||| || |||
+Query  232  acccgtcaagtccaatgcatcagtttcattgcctacaagcccccaagcttcaccgaagct  291
+
+Sbjct  323  taaatcc-ttttctggaatattcaatgttgactat-ccggaacccaattttgtatggtca  380
+            ||| |||  |||||||||||||||  ||||| ||| | |||||||| || | | ||||||
+Query  292  taa-tcccctttctggaatattcagcgttgattattctggaacccatttctatgtggtca  350
+
+Sbjct  381  atgtaaatttaagtaattattttgccaaagtgaaaaaactgaagg---t-ttgttt  432
+            ||| ||||||||| |||||||| ||| |  | ||||   ||| ||   | ||||||
+Query  351  atgcaaatttaagaaattattt-gccga-cttaaaagt-tga-ggaactattgttt  402
+
+409 1097 23 F 417 1806 1 721 35 91.53
+Sbjct  23   ctg-ttgctggnganaaa-gggaggaaaccgntccgatca-ggggntggtaga-ccagnt  78
+            ||| |||| || || ||| | || |||| || | |||||| | || || |||| | || |
+Query  1    ctgattgcnggtgaaaaaagagaagaaaacggtgcgatcaagaggatgatagaacaagat  60
+
+Sbjct  79   aa-ggctcttcggattttttcacgtccggtgcaaatttaccgtttgtgaatcttgatgan  137
+            || |||||||||||||||||||||| ||||||||||||| ||||||| ||||||||||| 
+Query  61   aaaggctcttcggattttttcacgtacggtgcaaatttaacgtttgtnaatcttgatgaa  120
+
+Sbjct  138  atagatatgtatgaacttgagatcaacggagggaagccggatttcgtaaactacacgatt  197
+            |||||||||||||| |||||||||||||||||||||||||||||||||||||||||||||
+Query  121  atagatatgtatgancttgagatcaacggagggaagccggatttcgtaaactacacgatt  180
+
+Sbjct  198  catggggtcggagacaaaggtgttgttttggtttttcccaagcaaaactttgcaaggatt  257
+            ||||||||||||| ||||||||||||||||||||| ||||||||||||||||||||||||
+Query  181  catggggtcggag-caaaggtgttgttttggttttncccaagcaaaactttgcaaggatt  239
+
+Sbjct  258  gtaagtgtagtgatgcctgaagaagnccttgcaaaactcaaggaggaggtgactnatatg  317
+            |||||||||||||||||||| |||| |||||||||||||||||||||||||||| |||||
+Query  240  gtaagtgtagtgatgcctgangaagaccttgcaaaactcaaggaggaggtgactaatatg  299
+
+Sbjct  318  attatataactttgtatcttcttcttgttgttatacataaatgctgtttttt-ac-tctt  375
+            ||||||||||||||||||| |||||||||||||||||||||||||||||||| || ||||
+Query  300  attatataactttgtatctccttcttgttgttatacataaatgctgttttttnacctctt  359
+
+Sbjct  376  tgtaatttcattatcg-aattgttgggaagcctatcaataaa-ttgtttgaactgttt  431
+            |||||||||||||||| ||||||||||||||||||||||||| |||||||| ||| ||
+Query  360  tgtaatttcattatcgnaattgttgggaagcctatcaataaaattgtttgacctgntt  417
+
+410 1100 33 F 408 1143 1 725 31 92.42
+Sbjct  33   aaaaggggnccccctgtgttgaattcgngttagggcccgggatttggtgtnccc-ngngc  91
+            |||||||  |||  || |||||||||| ||| | |||| ||||||| ||| |||  | ||
+Query  1    aaaagggntccc--tg-gttgaattcg-gttngngccccggatttg-tgtncccgtgngc  55
+
+Sbjct  92   cccggaancactncccggatactac-gatgg-ccggtactggacaatgtggangcttcc-  149
+            ||||||| |||  ||| | |||| | ||||| |||||||||| ||||||||| | |||| 
+Query  56   cccggaaccac-ccccnggtacttccgatggaccggtactggccaatgtggaagnttccc  114
+
+Sbjct  150  attgtccggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaagga  208
+            ||||| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  115  attgttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaagga  174
+
+Sbjct  209  gtacccgggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcat  268
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  175  gtacccgggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcat  234
+
+Sbjct  269  cagtttcattgcctacaagcccccaagcttcaccgaagcttaatttcttttctaaaacat  328
+            |||||||||||||||||||||||||||||||||||||||||||| |||||||||||||| 
+Query  235  cagtttcattgcctacaagcccccaagcttcaccgaagcttaatntcttttctaaaacan  294
+
+Sbjct  329  tcttatgaattatctctgctcatttcatttcctattgtctgtgttctttttctctttatg  388
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  295  tcttatgaattatctctgctcatttcatttcctattgtctgtgttctttttctctttatg  354
+
+Sbjct  389  agacaatttctatcggattgtcaaatgtctgatttatgaatatnttatttatat  442
+            ||||||||||||||||||||||||||||||||||||||||||| | ||||||||
+Query  355  agacaatttctatcggattgtcaaatgtctgatttatgaatatgtnatttatat  408
+
+442 1100 1 F 440 1151 16 789 31 92.97
+Sbjct  1    ccaaatggctaaggaagttgctcccttcccng-aa-aaggggnccccctgtgtt-gaatt  57
+            || |||||||| |||||||||| ||||| | | || ||| ||  ||  |||||| |||||
+Query  16   ccgaatggcta-ggaagttgcttccttctccgcaacaagtggatcc-ttgtgtttgaatt  73
+
+Sbjct  58   cgngttagggcc-cgggatttggtgtncccngngccccggaancactncccggatactac  116
+            || ||||| ||| ||| ||||| ||| ||  | || | |||| |||| ||||||||||||
+Query  74   cgagttagagccacgg-atttg-tgtaccgtgagcac-ggaaacact-cccggatactac  129
+
+Sbjct  117  gatggccggtactggacaatgtggangcttccattgtccggatgcaccgactccgctcaa  176
+            ||||| ||||||||||||||||||| ||||||||||| ||||||||||||||||||||||
+Query  130  gatggacggtactggacaatgtggaagcttccattgttcggatgcaccgactccgctcaa  189
+
+Sbjct  177  gtgttgaaggaagttgaagaatgcaagaaggagtacccgggcgccttcattaggatcatc  236
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  190  gtgttgaaggaagttgaagaatgcaagaaggagtacccgggcgccttcattaggatcatc  249
+
+Sbjct  237  ggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagcccccaagc  296
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  250  ggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagcccccaagc  309
+
+Sbjct  297  ttcaccgaagcttaatttcttttctaaaacattcttatgaattatctctgctcatttcat  356
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  310  ttcaccgaagcttaatttcttttctaaaacattcttatgaattatctctgctcatttcat  369
+
+Sbjct  357  ttcctattgtctgtgttctttttctctttatgagacaatttctatcggattgtcaaatgt  416
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  370  ttcctattgtctgtgttctttttctctttatgagacaatttctatcggattgtcaaatgt  429
+
+Sbjct  417  ctgatttatgaatatnttatttatat  442
+            ||||||||||||||| | ||||||||
+Query  430  ctgatttatgaatatgtaatttatat  455
+
+440 1100 3 F 442 1230 71 792 30 93.20
+Sbjct  3    aaatggctaaggaagttg-ctcccttcccng-aa-aaggggnccccctgtgttgaattcg  59
+            || ||||||||||||||| |||| ||| | | || ||  ||  ||| |||||||||||||
+Query  71   aattggctaaggaagttgactccnttctcngcaacaaatggntcccttgtgttgaattcg  130
+
+Sbjct  60   ngttagggcccgggatttggtgtncccngngccccggaancactncccggatactacgat  119
+             |||||||| ||| ||||| ||| ||  | |||| |||| |||| |||||||||||||||
+Query  131  agttagggcncgg-atttg-tgtcccgtgagccc-ggaaacact-cccggatactacgat  186
+
+Sbjct  120  gg-ccggtactggacaat-gtggangcttcc-attgtccggatgcaccgactccgctcaa  176
+            || ||||||||||||||| ||||| |||||| ||||| ||||||||||||||||||||||
+Query  187  ggaccggtactggacaattgtggaagcttcccattgttcggatgcaccgactccgctcaa  246
+
+Sbjct  177  gtgttgaaggaagttgaagaatgcaagaaggagtacccgggcgccttcattaggatcatc  236
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  247  gtgttgaaggaagttgaagaatgcaagaaggagtacccgggcgccttcattaggatcatc  306
+
+Sbjct  237  ggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagcccccaagc  296
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  307  ggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaagcccccaagc  366
+
+Sbjct  297  ttcaccgaagcttaatttcttttctaaaacattcttatgaattatctctgctcatttcat  356
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  367  ttcaccgaagcttaatttcttttctaaaacattcttatgaattatctctgctcatttcat  426
+
+Sbjct  357  ttcctattgtctgtgttctttttctctttatgagacaatttctatcggattgtcaaatgt  416
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  427  ttcctattgtctgtgttctttttctctttatgagacaatttctatcggattgtcaaatgt  486
+
+Sbjct  417  ctgatttatgaatatnttatttatat  442
+            ||||||||||||||| | ||||||||
+Query  487  ctgatttatgaatatgtaatttatat  512
+
+413 1100 26 F 414 1360 1 704 41 90.08
+Sbjct  26   ttcccngaaa-a--ggggnccccctg-tgttgaattcg-ngttagg-gcccgggatttgg  79
+            ||||| |||| |   |||  ||| || |||| ||| ||  ||| || || ||| ||||| 
+Query  1    ttccc-gaaacaantgggatcccttggtgttnaat-cggagtttggngcacgg-atttg-  57
+
+Sbjct  80   tgtncccngngccccggaancactncccggatactacgatggccggtactggacaatgtg  139
+            ||| ||  | || | | || |||| || |||||||||||||| || ||||||||||||||
+Query  58   tgtnccgtgagcacggnaaccact-ccnggatactacgatggacgntactggacaatgtg  115
+
+Sbjct  140  gangcttccattgtccggatgcaccgactccgctcaagtgttgaaggaagttgaagaatg  199
+            || ||||||||||| |||||||||||||||||||||||| |||||||||||||| |||||
+Query  116  gaagcttccattgtncggatgcaccgactccgctcaagtnttgaaggaagttgangaatg  175
+
+Sbjct  200  caagaaggagtacccgggcgccttcattaggatcatcggattcgacaacacccgtcaagt  259
+            |||||||| ||||||||||||||||||| |||||||||||||||||||||||||||||||
+Query  176  caagaaggngtacccgggcgccttcattnggatcatcggattcgacaacacccgtcaagt  235
+
+Sbjct  260  ccaatgcatcagtttcattgcctacaagcccccaagcttcaccgaagcttaatttctttt  319
+            |||||||||| |||||||||||||||||||||||||||||||||||||||||||||||||
+Query  236  ccaatgcatcngtttcattgcctacaagcccccaagcttcaccgaagcttaatttctttt  295
+
+Sbjct  320  ctaaaacattcttatgaattatctctgctcatttcatttcctattgtctgtgttcttttt  379
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  296  ctaaaacattcttatgaattatctctgctcatttcatttcctattgtctgtgttcttttt  355
+
+Sbjct  380  ctctttatgagacaatttctatcggattgtcaaatgtctgatttatgaatatnttattt  438
+            ||||||||||||||||||||||||| ||||||||||||||||||||| |||| | ||||
+Query  356  ctctttatgagacaatttctatcggnttgtcaaatgtctgatttatgnatatgtgattt  414
+
+444 1120 0 F 439 1297 36 772 37 91.62
+Sbjct  0    cttcccgcaacaggggtccctgggttgaattngngttgggncccggntttgtttcccgtg  59
+            |||||||||  || | ||| |  |||||||  | || ||  | ||| ||| ||||| |||
+Query  36   cttcccgca-nagtgntccttntgttgaat-cgagt-ggngcncggatttttttcc-gtg  91
+
+Sbjct  60   gncccggaacccncccggntnctatgntggccggtnctggccaatgtggaagct-ccatt  118
+              | || ||| | ||||| | ||||| |||||||| ||||  |||||||||||| |||||
+Query  92   ngcacgnaacactcccgg-tnctatgatggccggtactgg-aaatgtggaagcttccatt  149
+
+Sbjct  119  gttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtn  178
+            ||||||||||||||| |||| |||||||||||||||||||||||||||||||||||||| 
+Query  150  gttcggatgcaccga-tccgntcaagtgttgaaggaagttgaagaatgcaagaaggagta  208
+
+Sbjct  179  ccctggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcag  238
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  209  ccctggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcag  268
+
+Sbjct  239  tttcattgcctacaagcccccaag-ttcaccgaagcttaatcccctttctggaatattca  297
+            |||||||||||||||||||||||| |||||||||||||||||||||||||||||||||||
+Query  269  tttcattgcctacaagcccccaagcttcaccgaagcttaatcccctttctggaatattca  328
+
+Sbjct  298  gcgttgattattctggaacccntttctatgtggtcaatgcaaatttaagaaattatttgc  357
+            ||||||||||||||||||||| ||||||||||||||||||||||||||||||||||||||
+Query  329  gcgttgattattctggaacccatttctatgtggtcaatgcaaatttaagaaattatttgc  388
+
+Sbjct  358  cgacttnaaagttgaggaactattgtttgaaagtgaaaatgttattcctatcagtttctc  417
+            |||||| |||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  389  cgacttaaaagttgaggaactattgtttgaaagtgaaaatgttattcctatcagtttctc  448
+
+Sbjct  418  tntaattatagttatcatttcatttc  443
+            | ||||||||||||||||||||||||
+Query  449  tataattatagttatcatttcatttc  474
+
+419 1120 0 F 419 1327 17 715 41 90.21
+Sbjct  0    cttcccgcaaca-ggggtccctgggttgaattngngttgggncccggntttgtttcccgt  58
+            ||||||| ||||  || ||| |   ||||||| |  ||||  | ||| ||| |  |||||
+Query  17   cttcccg-aacantggntcc-ttttttgaattcgntttggngcncggntttttnncccgt  74
+
+Sbjct  59   ggncccggaacccncccggntnctatgntggccggtnctggccaatgtggaagct-ccat  117
+            |  | || ||| | || || | || || ||| |||| |||| || | |||||||| ||||
+Query  75   gngcncgnaacactccngg-tactntgatggncggtactggacattntggaagcttccat  133
+
+Sbjct  118  tgttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagt  177
+            |||||||||||||||||||||||||||||||||||||| ||||||||||||||||||| |
+Query  134  tgttcggatgcaccgactccgctcaagtgttgaaggaanttgaagaatgcaagaaggant  193
+
+Sbjct  178  nccctggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatca  237
+             |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  194  accctggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatca  253
+
+Sbjct  238  gtttcattgcctacaagcccccaag-ttcaccgaagcttaatcccctttctggaatattc  296
+            ||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||||
+Query  254  gtttcattgcctacaagcccccaagcttcaccgaagcttaatcccctttctggaatattc  313
+
+Sbjct  297  agcgttgattattctggaacccntttctatgtggtcaatgcaaatttaagaaattatttg  356
+            |||||||||||||||||||||| |||||||||||||||||||||||||||||||||||||
+Query  314  agcgttgattattctggaacccatttctatgtggtcaatgcaaatttaagaaattatttg  373
+
+Sbjct  357  ccgacttnaaagttgaggaactattgtttgaaagtgaaaatgttattcctatcagtttct  416
+            ||||||| ||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  374  ccgacttaaaagttgaggaactattgtttgaaagtgaaaatgttattcctatcagtttct  433
+
+Sbjct  417  ct  418
+            ||
+Query  434  ct  435
+
+409 1143 0 F 409 1151 47 734 28 93.15
+Sbjct  0    caa-aag-ggntccctg-gtt-gaattcg-gttngngccccggatttgtgtncccgtgng  54
+            ||| ||| || ||| || ||| ||||||| ||| | ||| ||||||||||| || ||| |
+Query  47   caacaagtggatccttgtgtttgaattcgagttagagccacggatttgtgtacc-gtgag  105
+
+Sbjct  55   ccccggaaccacccccnggtacttccgatggaccggtactggccaatgtggaagnttccc  114
+            | | |||| ||| ||| | |||| | ||||||| |||||||| ||||||||||| |||| 
+Query  106  cac-ggaaacactcccggatactac-gatggac-ggtactggacaatgtggaagcttcc-  162
+
+Sbjct  115  attgttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaagga  174
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  163  attgttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaagga  221
+
+Sbjct  175  gtacccgggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcat  234
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  222  gtacccgggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcat  281
+
+Sbjct  235  cagtttcattgcctacaagcccccaagcttcaccgaagcttaatntcttttctaaaacan  294
+            |||||||||||||||||||||||||||||||||||||||||||| |||||||||||||| 
+Query  282  cagtttcattgcctacaagcccccaagcttcaccgaagcttaatttcttttctaaaacat  341
+
+Sbjct  295  tcttatgaattatctctgctcatttcatttcctattgtctgtgttctttttctctttatg  354
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  342  tcttatgaattatctctgctcatttcatttcctattgtctgtgttctttttctctttatg  401
+
+Sbjct  355  agacaatttctatcggattgtcaaatgtctgatttatgaatatgtnatttatat  408
+            ||||||||||||||||||||||||||||||||||||||||||||| ||||||||
+Query  402  agacaatttctatcggattgtcaaatgtctgatttatgaatatgtaatttatat  455
+
+407 1143 2 F 407 1230 106 742 24 94.10
+Sbjct  2    aaagggntccct-g-gttgaattcg-gttngngccccggatttgtgtncccgtgngcccc  58
+            ||| || ||||| | |||||||||| ||| | || | |||||||||| |||||| |||| 
+Query  106  aaatggntcccttgtgttgaattcgagttagggcnc-ggatttgtgt-cccgtgagccc-  163
+
+Sbjct  59   ggaaccacccccnggtacttccgatggaccggtactggccaat-gtggaagnttcccatt  117
+            |||| ||| ||| | |||| | |||||||||||||||| |||| ||||||| ||||||||
+Query  164  ggaaacactcccggatactac-gatggaccggtactggacaattgtggaagcttcccatt  221
+
+Sbjct  118  gttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagta  177
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  222  gttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagta  281
+
+Sbjct  178  cccgggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcag  237
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  282  cccgggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcag  341
+
+Sbjct  238  tttcattgcctacaagcccccaagcttcaccgaagcttaatntcttttctaaaacantct  297
+            ||||||||||||||||||||||||||||||||||||||||| |||||||||||||| |||
+Query  342  tttcattgcctacaagcccccaagcttcaccgaagcttaatttcttttctaaaacattct  401
+
+Sbjct  298  tatgaattatctctgctcatttcatttcctattgtctgtgttctttttctctttatgaga  357
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  402  tatgaattatctctgctcatttcatttcctattgtctgtgttctttttctctttatgaga  461
+
+Sbjct  358  caatttctatcggattgtcaaatgtctgatttatgaatatgtnatttatat  408
+            |||||||||||||||||||||||||||||||||||||||||| ||||||||
+Query  462  caatttctatcggattgtcaaatgtctgatttatgaatatgtaatttatat  512
+
+405 1143 0 F 405 1360 10 681 43 89.38
+Sbjct  0    caaaagggntccct-ggt-t-gaattcgg--ttng-ngccccggatttgtgtncccgtgn  53
+            |||  ||| ||||| ||| |  ||| |||  || |  || | |||||||||| || ||| 
+Query  10   caantgggatcccttggtgttnaat-cggagtttggngcac-ggatttgtgtncc-gtga  66
+
+Sbjct  54   gccccggaaccacccccnggtacttccgatggaccggtactggccaatgtggaagnttcc  113
+            || | | |||||| ||  | |||| | ||||||| | |||||| ||||||||||| ||||
+Query  67   gcacggnaaccactccnggatactac-gatggac-gntactggacaatgtggaagcttcc  124
+
+Sbjct  114  cattgttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaagg  173
+             ||||| |||||||||||||||||||||||| |||||||||||||| |||||||||||||
+Query  125  -attgtncggatgcaccgactccgctcaagtnttgaaggaagttgangaatgcaagaagg  183
+
+Sbjct  174  agtacccgggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgca  233
+             ||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||
+Query  184  ngtacccgggcgccttcattnggatcatcggattcgacaacacccgtcaagtccaatgca  243
+
+Sbjct  234  tcagtttcattgcctacaagcccccaagcttcaccgaagcttaatntcttttctaaaaca  293
+            || |||||||||||||||||||||||||||||||||||||||||| ||||||||||||||
+Query  244  tcngtttcattgcctacaagcccccaagcttcaccgaagcttaatttcttttctaaaaca  303
+
+Sbjct  294  ntcttatgaattatctctgctcatttcatttcctattgtctgtgttctttttctctttat  353
+             |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  304  ttcttatgaattatctctgctcatttcatttcctattgtctgtgttctttttctctttat  363
+
+Sbjct  354  gagacaatttctatcggattgtcaaatgtctgatttatgaatatgtnattt  404
+            ||||||||||||||||| ||||||||||||||||||||| |||||| ||||
+Query  364  gagacaatttctatcggnttgtcaaatgtctgatttatgnatatgtgattt  414
+
+456 1151 0 F 463 1230 50 844 25 94.56
+Sbjct  0    cctg-ccnttagtgncgccg-aat-ggcta-ggaagttg-cttccttctccgcaacaagt  54
+            |||| || |||||  |  || ||| ||||| |||||||| || | ||||| ||||||| |
+Query  50   cctggcctttagtnccntcggaattggctaaggaagttgactccnttctcngcaacaaat  109
+
+Sbjct  55   ggatcc-ttgtgtttgaattcgagttagagccacggatttgtgtaccgtgagcacggaaa  113
+            || ||| ||||||| ||||||||||||| ||  ||||||||||| |||||||| ||||||
+Query  110  ggntcccttgtgtt-gaattcgagttagggc-ncggatttgtgtcccgtgagcccggaaa  167
+
+Sbjct  114  cactcccggatactacgatggac-ggtactggacaat-gtggaagcttcc-attgttcgg  170
+            ||||||||||||||||||||||| ||||||||||||| |||||||||||| |||||||||
+Query  168  cactcccggatactacgatggaccggtactggacaattgtggaagcttcccattgttcgg  227
+
+Sbjct  171  atgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtacccggg  230
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  228  atgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtacccggg  287
+
+Sbjct  231  cgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcat  290
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  288  cgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcat  347
+
+Sbjct  291  tgcctacaagcccccaagcttcaccgaagcttaatttcttttctaaaacattcttatgaa  350
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  348  tgcctacaagcccccaagcttcaccgaagcttaatttcttttctaaaacattcttatgaa  407
+
+Sbjct  351  ttatctctgctcatttcatttcctattgtctgtgttctttttctctttatgagacaattt  410
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  408  ttatctctgctcatttcatttcctattgtctgtgttctttttctctttatgagacaattt  467
+
+Sbjct  411  ctatcggattgtcaaatgtctgatttatgaatatgtaatttatat  455
+            |||||||||||||||||||||||||||||||||||||||||||||
+Query  468  ctatcggattgtcaaatgtctgatttatgaatatgtaatttatat  512
+
+412 1151 40 F 414 1360 1 742 28 93.22
+Sbjct  40   ttctccgcaacaagtgg-atcc-ttg-tgtttgaattcg-agttag-agccacggatttg  94
+            ||| ||| ||||| ||| |||| ||| ||||  ||| || |||| |  || |||||||||
+Query  1    ttc-ccgaaacaantgggatcccttggtgttn-aat-cggagtttggngc-acggatttg  56
+
+Sbjct  95   tgtaccgtgagcacggaaac-actcccggatactacgatggacggtactggacaatgtgg  153
+            ||| |||||||||||| ||| ||||| ||||||||||||||||| |||||||||||||||
+Query  57   tgtnccgtgagcacggnaaccactccnggatactacgatggacgntactggacaatgtgg  116
+
+Sbjct  154  aagcttccattgttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgc  213
+            ||||||||||||| |||||||||||||||||||||||| |||||||||||||| ||||||
+Query  117  aagcttccattgtncggatgcaccgactccgctcaagtnttgaaggaagttgangaatgc  176
+
+Sbjct  214  aagaaggagtacccgggcgccttcattaggatcatcggattcgacaacacccgtcaagtc  273
+            ||||||| ||||||||||||||||||| ||||||||||||||||||||||||||||||||
+Query  177  aagaaggngtacccgggcgccttcattnggatcatcggattcgacaacacccgtcaagtc  236
+
+Sbjct  274  caatgcatcagtttcattgcctacaagcccccaagcttcaccgaagcttaatttcttttc  333
+            ||||||||| ||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  237  caatgcatcngtttcattgcctacaagcccccaagcttcaccgaagcttaatttcttttc  296
+
+Sbjct  334  taaaacattcttatgaattatctctgctcatttcatttcctattgtctgtgttctttttc  393
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  297  taaaacattcttatgaattatctctgctcatttcatttcctattgtctgtgttctttttc  356
+
+Sbjct  394  tctttatgagacaatttctatcggattgtcaaatgtctgatttatgaatatgtaattt  451
+            |||||||||||||||||||||||| ||||||||||||||||||||| |||||| ||||
+Query  357  tctttatgagacaatttctatcggnttgtcaaatgtctgatttatgnatatgtgattt  414
+
+436 1210 50 F 431 1516 1 786 27 93.77
+Sbjct  50   cccnatcgcaaccggttccattgttggngccnaacatcttagctgggaggagctttctct  109
+            ||| |||| || ||||| ||||||| | |||  |  |||||| ||| |||||||| | ||
+Query  1    ccccatcg-aancggtttcattgttngngccncan-tcttag-tgg-aggagctt-ccct  55
+
+Sbjct  110  gggagcctcccatgaatccccgccgtggcttt-cggaccagcggtggtgagctggacat-  168
+             | ||||||| ||||||||||||| | ||||| ||| ||| ||||| ||||||| |||| 
+Query  56   tg-agcctcc-atgaatccccgccttngcttttcggnccancggtgttgagctgnacatn  113
+
+Sbjct  169  ggcccaaccactgggtctactgggccggacctctcgtcggcggtggaatcgctggactca  227
+            || ||||||||||| |||||||||||||||||||||||||||||||||||||||||||||
+Query  114  ggaccaaccactggntctactgggccggacctctcgtcggcggtggaatcgctggactca  173
+
+Sbjct  228  tctacgaagttttcttcatcaacaccacacacgagcagctcccaaccacagactactgaa  287
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  174  tctacgaagttttcttcatcaacaccacacacgagcagctcccaaccacagactactgaa  233
+
+Sbjct  288  ttaatctctctttttctctcttgtgtaattttattcgactttgaatttgaattttaatgt  347
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  234  ttaatctctctttttctctcttgtgtaattttattcgactttgaatttgaattttaatgt  293
+
+Sbjct  348  ctttttaatttccgtttgtgtaatttcgaatcatcaaggggtttatgatcgttcgatctt  407
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  294  ctttttaatttccgtttgtgtaatttcgaatcatcaaggggtttatgatcgttcgatctt  353
+
+Sbjct  408  ttagatgaatccttgtccgttggtttcaagagtggccattgcaatttcgactatataatg  467
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  354  ttagatgaatccttgtccgttggtttcaagagtggccattgcaatttcgactatataatg  413
+
+Sbjct  468  tgaattatgtatcaatct  485
+            ||||||||||||||||||
+Query  414  tgaattatgtatcaatct  431
+
+443 1226 5 F 421 1296 26 732 44 89.81
+Sbjct  5    ggtggaaggattaagttccngaagggttttttaccgntgntgaaacccgggacccngttt  64
+            |||||| | || | ||||| || |  ||||  || | || ||||||| | ||||  | ||
+Query  26   ggtgga-g-atna-gttcc-ga-g-nttttn-ac-g-tgttgaaacc-g-gacc--gntt  72
+
+Sbjct  65   gggggaaaagcttcgnggccattacccgggaggaccggtttnacagtatccagccncaa-  124
+            || | ||| ||||||   |  | || |||| |||| ||||| |||||||| || | ||| 
+Query  73   ggng-aaa-gcttcg-nncngt-actcggg-ggac-ggtttaacagtatc-agtctcaaa  125
+
+Sbjct  125  ctggatgccaggatgc-gtcgttgccaggtcaatggtgatccaagatgagagaggcttaa  182
+            ||| |||| || |||| |||||||| |||||||||||||| |||||||||||||||||||
+Query  126  ctg-atgcaag-atgccgtcgttgc-aggtcaatggtgatacaagatgagagaggcttaa  182
+
+Sbjct  183  tctgtgtccactcnccagtctggaagattgaatcaaagggatgcaaatctttcttaattt  242
+            |||||||| |||| ||||||||||||||||||||||||||||||||||||||||||||||
+Query  183  tctgtgtc-actcaccagtctggaagattgaatcaaagggatgcaaatctttcttaattt  241
+
+Sbjct  243  cttaatttttatcttcttgggttgctttttttttatgncaccacgattaaagctttttag  302
+            ||||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||
+Query  242  cttaatttttatcttcttgggttgctttttttttatgacaccacgattaaagctttttag  301
+
+Sbjct  303  gcatataaagttgtaagagttgtgtgtttgatatcctggctaatgagcgagctgagtatg  362
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  302  gcatataaagttgtaagagttgtgtgtttgatatcctggctaatgagcgagctgagtatg  361
+
+Sbjct  363  gggatcaagagagaaaaaccgtgttggcctttggctgtgtgtagatattttgtataatct  422
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  362  gggatcaagagagaaaaaccgtgttggcctttggctgtgtgtagatattttgtataatct  421
+
+Sbjct  423  tgtgttgataaaagataatatcatc  447
+            |||||||||||||||||||||||||
+Query  422  tgtgttgataaaagataatatcatc  446
+
+414 1230 95 F 414 1360 1 735 31 92.51
+Sbjct  95   ttctcngcaacaaatggn-tcccttg-tgttgaattcg-agttagg-gcncggatttgtg  150
+            ||| | | ||||| |||  ||||||| |||| ||| || |||| || || ||||||||||
+Query  1    ttc-ccgaaacaantgggatcccttggtgttnaat-cggagtttggngcacggatttgtg  58
+
+Sbjct  151  tcccgtgagcccggaaac-actcccggatactacgatggaccggtactggacaattgtgg  209
+            | |||||||| ||| ||| ||||| |||||||||||||||| | ||||||||||| ||||
+Query  59   tnccgtgagcacggnaaccactccnggatactacgatggac-gntactggacaat-gtgg  116
+
+Sbjct  210  aagcttcccattgttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatg  269
+            |||||||| ||||| |||||||||||||||||||||||| |||||||||||||| |||||
+Query  117  aagcttcc-attgtncggatgcaccgactccgctcaagtnttgaaggaagttgangaatg  175
+
+Sbjct  270  caagaaggagtacccgggcgccttcattaggatcatcggattcgacaacacccgtcaagt  329
+            |||||||| ||||||||||||||||||| |||||||||||||||||||||||||||||||
+Query  176  caagaaggngtacccgggcgccttcattnggatcatcggattcgacaacacccgtcaagt  235
+
+Sbjct  330  ccaatgcatcagtttcattgcctacaagcccccaagcttcaccgaagcttaatttctttt  389
+            |||||||||| |||||||||||||||||||||||||||||||||||||||||||||||||
+Query  236  ccaatgcatcngtttcattgcctacaagcccccaagcttcaccgaagcttaatttctttt  295
+
+Sbjct  390  ctaaaacattcttatgaattatctctgctcatttcatttcctattgtctgtgttcttttt  449
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  296  ctaaaacattcttatgaattatctctgctcatttcatttcctattgtctgtgttcttttt  355
+
+Sbjct  450  ctctttatgagacaatttctatcggattgtcaaatgtctgatttatgaatatgtaattt  508
+            ||||||||||||||||||||||||| ||||||||||||||||||||| |||||| ||||
+Query  356  ctctttatgagacaatttctatcggnttgtcaaatgtctgatttatgnatatgtgattt  414
+
+404 1268 97 F 411 1627 3 746 23 94.36
+Sbjct  97   gaagagaggaactncaat-gttaatca-tcaaagnga-gtaaganaa-tngcag-ttcta  151
+            ||||| || |||| |||| |||||||| |||||| || |||||| || | |||| |||||
+Query  3    gaaga-agaaactacaatagttaatcaatcaaagagaagtaagagaaatggcagattcta  61
+
+Sbjct  152  actgtggatgtggctcntcctgcaaatgtggtgactcttgcagttgcgagaagaactaca  211
+            |||||||||||||||| |||||||||| ||||||||||||||||||||||||||||||||
+Query  62   actgtggatgtggctcctcctgcaaatntggtgactcttgcagttgcgagaagaactaca  121
+
+Sbjct  212  acaaggagtgcgacaactgtagctgtggatcaaactgcagctgtgggtcaaactgtaact  271
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  122  acaaggagtgcgacaactgtagctgtggatcaaactgcagctgtgggtcaaactgtaact  181
+
+Sbjct  272  gttgatgaaattattatggtctaaaatcatatatatggcagaaaaattggggaaaatatg  331
+             |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  182  nttgatgaaattattatggtctaaaatcatatatatggcagaaaaattggggaaaatatg  241
+
+Sbjct  332  tgttttatgctaagagatgtgtgtgtgttgttggaataaagacgtgaccgttgtgttgcg  391
+            |||||||||||||||||||||||||| |||||||||||||| ||||||||||||||||||
+Query  242  tgttttatgctaagagatgtgtgtgtnttgttggaataaaggcgtgaccgttgtgttgcg  301
+
+Sbjct  392  tatcaactctcttaagctttgacttttcccagctttgtattttcctatgtatggtaatng  451
+            ||||||||||||||||||||||||||||||||||||||||||||| |||||||||||| |
+Query  302  tatcaactctcttaagctttgacttttcccagctttgtattttccnatgtatggtaatgg  361
+
+Sbjct  452  tgtgattgtgtaatg-ttttcatatgtaac-gtaaaaaaaatatttat-gtg  500
+            ||||||||| ||||| |||||||||||||| ||||||||||||||| | |||
+Query  362  tgtgattgtntaatggttttcatatgtaaccgtaaaaaaaatattttttgtg  413
+
+395 1268 101 F 405 1747 0 713 29 92.75
+Sbjct  101  agaggaactncaat-gttaatca-tcaaagnga-gtaaganaa-tngcag-ttctaactg  155
+            |||  |||| |||| |||||||| |||||| || |||||| || | |||| |||||||||
+Query  0    aga--aactacaatagttaatcaatcaaagagaagtaagagaaatggcagattctaactg  57
+
+Sbjct  156  tggatgtggctcntcctgcaaatgtggtgactcttgcagttgcgagaagaactacaacaa  215
+            |||||||||||| |||||||||||||||||||||||||||||||||||||||||||||||
+Query  58   tggatgtggctcctcctgcaaatgtggtgactcttgcagttgcgagaagaactacaacaa  117
+
+Sbjct  216  ggagtgcgacaactgtagctgtggatcaaactgcagctgtgggtcaaactgtaactgttg  275
+            |||||||||||||||||||||||||||||||||||||||||||||||||||||||| |||
+Query  118  ggagtgcgacaactgtagctgtggatcaaactgcagctgtgggtcaaactgtaactnttg  177
+
+Sbjct  276  atgaaattattatggtctaaaatcatatatatggcagaaaaattggggaaaatatgtgtt  335
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  178  atgaaattattatggtctaaaatcatatatatggcagaaaaattggggaaaatatgtgtt  237
+
+Sbjct  336  ttatgctaagagatgtgtgtgtgttgttggaataaagacgtgaccgttgtgttgcgtatc  395
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  238  ttatgctaagagatgtgtgtgtgttgttggaataaagacgtgaccgttgtgttgcgtatc  297
+
+Sbjct  396  aactctcttaagctttgacttttcccagcttt-gtattttcctatg-tatgg-taatng-  452
+            |||||||||||||||||||||||||||||||| |||||| || ||| ||||| |||| | 
+Query  298  aactctcttaagctttgacttttcccagcttttgtatttncccatggtatgggtaatngg  357
+
+Sbjct  453  tgtgatt-gtgtaa-tgttttcata-tgtaac-gtaaaaaaaatattt  495
+            ||||||| ||||||  ||||||| | || ||| | |||||||| ||||
+Query  358  tgtgatttgtgtaanngttttcanaatggaaccgnaaaaaaaa-attt  404
+
+451 1294 10 F 463 1786 0 740 58 87.31
+Sbjct  10   ccgggn-cca-ctngcgggtnna-tcaact-tnaagcaatggcatcnatnnccatg-ccg  64
+            ||| |  ||| || ||| ||  | |||||| | ||||||||||||| ||  ||||| |||
+Query  0    ccgagagccaactagcgagtagaatcaactatcaagcaatggcatcgatgaccatgaccg  59
+
+Sbjct  65   ct-ccttcttcccggcc-tcgccaaggt-ccntnagccaccgncg-ncgaaggct-tccg  119
+            || |||| ||||||||| |||||||||| || | |||||||| ||  |||||||| ||||
+Query  60   ctaccttnttcccggccgtcgccaaggttccctcagccaccggcggacgaaggctctccg  119
+
+Sbjct  120  tagtcag-gcctccacgagcgacaacacacccagcttagaagtcaaggaacagagcagca  178
+            ||||||| ||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  120  tagtcagagcctccacgagcgacaacacacccagcttagaagtcaaggaacagagcagca  179
+
+Sbjct  179  ccacaatgaggagggacctcatgttcacgg-tgcagctgcagcggtttgttctttggcta  237
+            |||||||||||||||||||||||||||||| |||||||||| |||||||| |||||||||
+Query  180  ccacaatgaggagggacctcatgttcacggctgcagctgcancggtttgtnctttggcta  239
+
+Sbjct  238  aggtagccatggctgaagaagaagagcccaagcgagggacagaggcggccaagaagaaat  297
+            ||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||
+Query  240  aggtagccatggctgaagaagaagagcccaagcnagggacagaggcggccaagaagaaat  299
+
+Sbjct  298  acgcacaagtttgtgtcacnaat--ntacggccaagatctgccgctactgattcaacaac  355
+            |||||||||||||| |||| |||   |||||||||||||||||| |||||||||||||||
+Query  300  acgcacaagtttgtttcac-aatgcctacggccaagatctgccggtactgattcaacaac  358
+
+Sbjct  356  ctaccttctgcatgtctatctctctctttcaa-tttcggtaaattttctcaa-ttaagtt  413
+            | |||||||  |||| |||||  || ||| || |||||||||||||| | || |||||||
+Query  359  ccaccttcttgatgtttatctnnctnttttaaatttcggtaaatttt-tnaaattaagtt  417
+
+Sbjct  414  tggtctgtaatcgtatatttgatcatcaatttaccaaaagccctttt  460
+            ||| ||| ||||| || |||| | || ||||| ||||| ||| ||||
+Query  418  tgggctgnaatcgnatntttg-tnat-aatttnccaaaggccttttt  462
+
+429 1297 21 F 436 1327 0 754 37 91.45
+Sbjct  21   tgnctagnagt-g-ctncttcccgcanagtg-ntccttntgttgaat-cgagt-ggngcn  75
+            || |||| | | | || ||||||| | | ||  ||||| | |||||| ||  | || || 
+Query  0    tggctaggaattgactccttcccgaacantggntcctt-ttttgaattcgntttggngcn  58
+
+Sbjct  76   cggatttttttcc-gtgngcacgnaacactcccggtnctatgatggccggtactggaaat  134
+            ||| |||||  || ||| || || |||||||| ||| || |||||| |||||||||| ||
+Query  59   cggntttttnncccgtgngcncgnaacactccnggtactntgatggncggtactggacat  118
+
+Sbjct  135  g-tggaagcttccattgttcggatgcaccga-tccgntcaagtgttgaaggaagttgaag  192
+              ||||||||||||||||||||||||||||| |||| |||||||||||||||| ||||||
+Query  119  tntggaagcttccattgttcggatgcaccgactccgctcaagtgttgaaggaanttgaag  178
+
+Sbjct  193  aatgcaagaaggagtaccctggcgccttcattaggatcatcggattcgacaacacccgtc  252
+            ||||||||||||| ||||||||||||||||||||||||||||||||||||||||||||||
+Query  179  aatgcaagaaggantaccctggcgccttcattaggatcatcggattcgacaacacccgtc  238
+
+Sbjct  253  aagtccaatgcatcagtttcattgcctacaagcccccaagcttcaccgaagcttaatccc  312
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  239  aagtccaatgcatcagtttcattgcctacaagcccccaagcttcaccgaagcttaatccc  298
+
+Sbjct  313  ctttctggaatattcagcgttgattattctggaacccatttctatgtggtcaatgcaaat  372
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  299  ctttctggaatattcagcgttgattattctggaacccatttctatgtggtcaatgcaaat  358
+
+Sbjct  373  ttaagaaattatttgccgacttaaaagttgaggaactattgtttgaaagtgaaaatgtta  432
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  359  ttaagaaattatttgccgacttaaaagttgaggaactattgtttgaaagtgaaaatgtta  418
+
+Sbjct  433  ttcctatcagtttctct  449
+            |||||||||||||||||
+Query  419  ttcctatcagtttctct  435
+
+445 1362 1 F 425 1500 52 732 46 89.43
+Sbjct  1    cgctggttggggcttccggcggngttncattgaccccnagccgttncttttcggacccac  60
+            ||| ||| ||   ||| |  ||  || ||| |||||| | ||||| ||| |||||||  |
+Query  52   cgccggt-ggantttcagnggggcttccat-gacccc-a-ccgttnctt-tcggaccnnc  106
+
+Sbjct  61   ccttcgtaagctggacgtggncccanccantgggttttactggncctgggnccctcttta  120
+            | | | ||| |||||||||| |||| ||| ||||||||||||| | |||  || |||| |
+Query  107  cgt-cttaanctggacgtgg-cccacccactgggttttactgggc-tggn-cc-tctt-a  160
+
+Sbjct  121  ttggntgggtgnactcnnccggatttaattctacgactttgtcttcntccgatggaaaat  180
+            |||| ||| || ||||  ||||| ||| | |||||||||||||||| || |||| |||||
+Query  161  ttgg-tgg-tggactc-gccggaatta-t-ctacgactttgtcttcatc-gatg-aaaat  213
+
+Sbjct  181  gccccacgagcaattgcctcccaccgatttactgaagacgtcaaattcaacgttgttaat  240
+            |||| |||||||||||||| ||||||||| ||||||||||||||||||||||||||||||
+Query  214  gccc-acgagcaattgcctaccaccgatt-actgaagacgtcaaattcaacgttgttaat  271
+
+Sbjct  241  ctgatgaatttttcgtgatttgcttttttaatttgcatcgtaatgggtttctggccgttg  300
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  272  ctgatgaatttttcgtgatttgcttttttaatttgcatcgtaatgggtttctggccgttg  331
+
+Sbjct  301  gatcatttttagatgaatctttgtctattgattgatcatttatgtgtctttgggtttgtt  360
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  332  gatcatttttagatgaatctttgtctattgattgatcatttatgtgtctttgggtttgtt  391
+
+Sbjct  361  gttggagttgtaatatctctggaaggcttttgtgcaattgtattgtacggtttaataact  420
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  392  gttggagttgtaatatctctggaaggcttttgtgcaattgtattgtacggtttaataact  451
+
+Sbjct  421  ataattgagaaaaccagggtatgtg  445
+            ||||||||||||||||||| |||||
+Query  452  ataattgagaaaaccagggaatgtg  476
+
+477 1620 0 F 478 1796 6 832 41 91.41
+Sbjct  0    agagagaccaaaaagagatcggaagagatggcttctacctccgcgatgtcattggtcaca  59
+            |||||||||||||||||||||||||||||||||||||||||||| |||||||||||||||
+Query  6    agagagaccaaaaagagatcggaagagatggcttctacctccgcaatgtcattggtcaca  65
+
+Sbjct  60   ccacttaaccagacccgttcgtntcctttcctcaagccattacctctgaaaccatccaag  119
+            |||||||||||||||||||||| |||||||||||||||||||||||||||||||||||||
+Query  66   ccacttaaccagacccgttcgtntcctttcctcaagccattacctctgaaaccatccaag  125
+
+Sbjct  120  gctttggttgcaactggaggcagagcacagaggcttcaagttaaggccctcaagatggac  179
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  126  gctttggttgcaactggaggcagagcacagaggcttcaagttaaggccctcaagatggac  185
+
+Sbjct  180  aaggctttgaccggtatctccgcggctgctcttactgcttcgatggtgattccggagata  239
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  186  aaggctttgaccggtatctccgcggctgctcttactgcttcgatggtgattccggagata  245
+
+Sbjct  240  gctgaagctgctggttctggaatctntccttccctcaagaatttnttgctcagcattgct  299
+            ||||||||||||||||||||||||| |||||||||||||||||| |||||||||||||||
+Query  246  gctgaagctgctggttctggaatctntccttccctcaagaatttnttgctcagcattgct  305
+
+Sbjct  300  ttctggtggcctcgtcctcacttgtcatcattggtgtcgtcgtcggcgtctccaactttt  359
+            | |||||||||||||||||||| || |||||||||||||||||||| |||| ||||||| 
+Query  306  t-ctggtggcctcgtcctcact-gtnatcattggtgtcgtcgtcggngtcttcaacttt-  363
+
+Sbjct  360  gaccc-tgtcaagagaacctaagncctata-taatctttntttac-atnaataatgnaat  416
+             |||| ||||||||| ||||||| |||||| || ||||| ||||| || | || || || 
+Query  364  nacccctgtcaagagnacctaagacctataata-tctttttttaccatcattattggaaa  421
+
+Sbjct  417  ncng-tctncctcctg-ggaattcgnt-naaattttgcagnaatnnacttttttgggnaa  473
+             | |  |  ||||||| |||||||| |  |||| ||| || |||  || |||| ||| ||
+Query  422  cctggnccccctcctgnggaattcggttcaaatgttgnagcaattnacctttt-gggnaa  480
+
+Sbjct  474  aag  476
+            |||
+Query  481  aag  483
+
+446 1620 20 F 439 1937 0 762 41 90.73
+Sbjct  20   ggaagagatggcttctacctccgcgatgtcattggtcacaccacttaaccagacccgttc  79
+            ||||| ||||||||| ||||||||||||||| ||| ||||||||||||||||||||||||
+Query  0    ggaagngatggcttcnacctccgcgatgtcantggncacaccacttaaccagacccgttc  59
+
+Sbjct  80   gtntcctttcctcaagccattacctctgaaaccatccaaggctttggttgcaactggagg  139
+            || ||||||||| |||||||||||||||||||||||||||||||||||||||||||||||
+Query  60   gtctcctttccttaagccattacctctgaaaccatccaaggctttggttgcaactggagg  119
+
+Sbjct  140  cagagcacagaggcttcaagttaaggccctcaagatggacaaggctttgaccggtatctc  199
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 
+Query  120  cagagcacagaggcttcaagttaaggccctcaagatggacaaggctttgaccggtatctn  179
+
+Sbjct  200  cgcggctgctcttactgcttcgatggtgattccggagatagctgaagctgctggttctgg  259
+            ||||||||||||||||| ||||||||||||||||||||||||||||||||||||||||||
+Query  180  cgcggctgctcttactgnttcgatggtgattccggagatagctgaagctgctggttctgg  239
+
+Sbjct  260  aatctntccttccctcaagaatttnttgctcagcattgctttctggtggcctcgtcctca  319
+            ||||| |||||||||||||||||| |||||||||||| ||| |||||||||||  |||||
+Query  240  aatctntccttccctcaagaatttnttgctcagcattnctt-ctggtggcctcnncctca  298
+
+Sbjct  320  cttgtcatcattggtgtcgtcgtcggcgtctccaacttttgaccctgtcaagagaaccta  379
+            || |||||||||||||||||||||||||||||||||||| |||||||||||| |||||||
+Query  299  ct-gtcatcattggtgtcgtcgtcggcgtctccaacttt-gaccctgtcaagngaaccta  356
+
+Sbjct  380  agncctatataatc-tttntttacatnaataatgnaatncng-tctncctcctg-ggaat  436
+            || |||||||| || ||| || |||| | || || ||| | | ||| ||| ||| ||| |
+Query  357  agncctatata-tcntttctt-acatcattattgtaat-ctggtct-ccttctgtgga-t  411
+
+Sbjct  437  tcgntnaaattttgcagnaatnnactttt  465
+            ||| | || |  ||||| |||  ||||||
+Query  412  tcgttcaa-tggtgcag-aatgaactttt  438
+
+403 1627 8 F 408 1747 0 754 19 95.31
+Sbjct  8    agaaactacaatagttaatcaatcaaagagaagtaagagaaatggcagattctaactgtg  67
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  0    agaaactacaatagttaatcaatcaaagagaagtaagagaaatggcagattctaactgtg  59
+
+Sbjct  68   gatgtggctcctcctgcaaatntggtgactcttgcagttgcgagaagaactacaacaagg  127
+            ||||||||||||||||||||| ||||||||||||||||||||||||||||||||||||||
+Query  60   gatgtggctcctcctgcaaatgtggtgactcttgcagttgcgagaagaactacaacaagg  119
+
+Sbjct  128  agtgcgacaactgtagctgtggatcaaactgcagctgtgggtcaaactgtaactnttgat  187
+            |||||||||||||||||||||||||||||||||||||||||||||||||||||| |||||
+Query  120  agtgcgacaactgtagctgtggatcaaactgcagctgtgggtcaaactgtaactnttgat  179
+
+Sbjct  188  gaaattattatggtctaaaatcatatatatggcagaaaaattggggaaaatatgtgtttt  247
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  180  gaaattattatggtctaaaatcatatatatggcagaaaaattggggaaaatatgtgtttt  239
+
+Sbjct  248  atgctaagagatgtgtgtgtnttgttggaataaaggcgtgaccgttgtgttgcgtatcaa  307
+            |||||||||||||||||||| |||||||||||||| ||||||||||||||||||||||||
+Query  240  atgctaagagatgtgtgtgtgttgttggaataaagacgtgaccgttgtgttgcgtatcaa  299
+
+Sbjct  308  ctctcttaagctttgacttttcccagcttt-gtattttccnatg-tatgg-taat-ggtg  363
+            |||||||||||||||||||||||||||||| |||||| || ||| ||||| |||| ||||
+Query  300  ctctcttaagctttgacttttcccagcttttgtatttncccatggtatgggtaatnggtg  359
+
+Sbjct  364  tgatt-gtntaatggttttcata-tgtaaccgtaaaaaaaatatttttt  410
+            ||||| || |||  ||||||| | || ||||| |||||||| |||||||
+Query  360  tgatttgtgtaanngttttcanaatggaaccgnaaaaaaaa-atttttt  407
+
+415 1663 0 F 414 1893 27 700 43 89.63
+Sbjct  0    attacttcgtctctncccctgtaatggcgcttccacacgtagtctcttcaccttcttcaa  59
+            |||||||||||||| |||||||||||||||||||||||||||||||||||||||||||||
+Query  27   attacttcgtctctncccctgtaatggcgcttccacacgtagtctcttcaccttcttcaa  86
+
+Sbjct  60   cttcattatctccttccttcaaatccaaaccaccgtttnantcccttagatcttnatnac  119
+            |||||||||||||||||||||||||||||||||||||| | ||||||||||||| || ||
+Query  87   cttcattatctccttccttcaaatccaaaccaccgtttcactcccttagatctttatcac  146
+
+Sbjct  120  cgacggttgataatcgccggcgttgtaaactcaacagttccttccgatgttcatcttctt  179
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  147  cgacggttgataatcgccggcgttgtaaactcaacagttccttccgatgttcatcttctt  206
+
+Sbjct  180  nattctccgagaagcatcacaacgcgaaatctccaaaatccgatgatatcgtcgagcttc  239
+             |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  207  nattctccgagaagcatcacaacgcgaaatctccaaaatccgatgatatcgtcgagcttc  266
+
+Sbjct  240  ctctgtttccactcccactcgttctctt-ccccgggagcaatncttcctcttt-agatct  297
+            ||||||||| ||| |||||||||||||| |||||| |||||| |||||||||| ||||||
+Query  267  ctctgtttc-actnccactcgttctctttccccgg-agcaatccttcctctttcagatct  324
+
+Sbjct  298  tcggaattnc-gttaccgtatcaatgatgcacacgggtcttccaatntg-attctacggn  355
+            ||| |||| | |||||||||||| |||||||||||| || |||||| || || ||| |  
+Query  325  tcg-aatttccgttaccgtatca-tgatgcacacgg-tcctccaatctgnat-ctang-n  379
+
+Sbjct  356  ttnngggcgtaggtttantccgntt-ccgtntt-t-gggntccgccgca-gaagtaaggg  411
+            ||  ||  |||| |||  |||| || |||  || | ||| || || ||| |||| |||| 
+Query  380  tttcggnngtag-tttnctccgatttccggnttntngggttc-gcggcaagaaggaaggn  437
+
+Sbjct  412  ttt  414
+            |||
+Query  438  ttt  440
+
+438 1696 0 F 439 1781 23 748 43 90.19
+Sbjct  0    aaaggtttgagtgaagatgtcttcagatcggaaggttctaagttttgaagaagtttcaaa  59
+            ||||||||||||||||||||||||||||||||||||||||||||| ||||||||||||||
+Query  23   aaaggtttgagtgaagatgtcttcagatcggaaggttctaagtttngaagaagtttcaaa  82
+
+Sbjct  60   gcacaacaaaactaaggattgtnggctnatnatttccggcaaggtgtatgatgtgacncc  119
+            |||||||||||||||||||||| |||| || |||||||||||||||||||||||||| ||
+Query  83   gcacaacaaaactaaggattgtnggcttatnatttccggcaaggtgtatgatgtgactcc  142
+
+Sbjct  120  attcatggatgatcatcctggaggcgatgaagtcttgtngtcctcaacagggaaagatgc  179
+            |||||||||||||||||||||||||||||||||||||| |||||||||||||||||||||
+Query  143  attcatggatgatcatcctggaggcgatgaagtcttgttgtcctcaacagggaaagatgc  202
+
+Sbjct  180  tacaaatnattttaaagacgttggtcacagcgacactgcaagggacatgatggacaaata  239
+            ||||||| ||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  203  tacaaatnattttaaagacgttggtcacagcgacactgcaagggacatgatggacaaata  262
+
+Sbjct  240  tttcattggtgagattgattcgtctagtgttccagcaactagggcatacgttgcaccnca  299
+            ||||||||||||||||||||||||||||||||||||||||||| |||||| |||||| ||
+Query  263  tttcattggtgagattgattcgtctagtgttccagcaactaggncatacgntgcaccaca  322
+
+Sbjct  300  gnaaccagccttcaaccaaggcaaggcacctg-nttcattttcaagatttttcca-gtcc  357
+            | ||||||||| |||||||||||||||||| |  |||||| |||||||| ||||| || |
+Query  323  gcaaccagcctacaaccaaggcaaggcaccagaattcattatcaagattcttccaagttc  382
+
+Sbjct  358  ctttgttccgatctttntccttggg-attgggttcttt-tcggcccgnnactttttc-nt  414
+            ||| |||||||||||  || |||||  || || ||||| ||| || |  ||| || |   
+Query  383  ctt-gttccgatcttaatc-ttgggggtttggctctttgtcgncc-gtaactnttnccaa  439
+
+Sbjct  415  gganggnttgnaggaggcnaaag  437
+            ||| || ||| | || || ||||
+Query  440  gganggcttg-angaagccaaag  461
+
+433 1745 0 F 427 1764 1 776 28 93.49
+Sbjct  0    caaganctcaaacacttcataactaaaacatcctttaaagccttttcaaaaactcaatca  59
+            ||||| |||||||||||||||||||||||||||||||| ||||||  |||||||||||||
+Query  1    caagaactcaaacacttcataactaaaacatcctttaangcctttnnaaaaactcaatca  60
+
+Sbjct  60   tgtcaagcaactgcggaagctgcgactgtnctgacaagacccagtgcgtaaagaagggaa  119
+            |||||||||||| |||||||||||||||| ||||||||||||||||||||||||||||||
+Query  61   tgtcaagcaactncggaagctgcgactgtcctgacaagacccagtgcgtaaagaagggaa  120
+
+Sbjct  120  ccagctacaccttcgacatcgtcgagactcaggagagctacaaggaggccatgatcatgg  179
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  121  ccagctacaccttcgacatcgtcgagactcaggagagctacaaggaggccatgatcatgg  180
+
+Sbjct  180  acgttggtgccgaggagaacaacgcaaattgcaagtgcaagtgcggctcctcttgcagct  239
+            |||||||||||||||||||||||||||||||||||| ||||| |||||||||||||||||
+Query  181  acgttggtgccgaggagaacaacgcaaattgcaagtncaagtncggctcctcttgcagct  240
+
+Sbjct  240  gcgtcaactgcacttgctgccccaactaatgaagcttctttaatcaaaatgtaatatgna  299
+            |||||||||||||||||||||||||||||||| ||||||||||||||||||||||||| |
+Query  241  gcgtcaactgcacttgctgccccaactaatgangcttctttaatcaaaatgtaatatgaa  300
+
+Sbjct  300  taaaagttgatgtgggctcatctattgagctcatgtctctcttattacctactctctagt  359
+            |||||||||||||||||||||||||||||||||||| ||| ||||||| |||||||||||
+Query  301  taaaagttgatgtgggctcatctattgagctcatgtntctnttattac-tactctctagt  359
+
+Sbjct  360  attggtgtgatgtaatgggttattgncccttnttttccnttnccctntaaa-cntaangg  418
+            || |||||||||||||||||||| | ||||| ||| || || |||| |||| |  || ||
+Query  360  at-ggtgtgatgtaatgggttat-gacccttcttt-ccctt-ccctataaaactnaa-gg  414
+
+Sbjct  419  aaactttcaaggtt  432
+            |  ||| |||||||
+Query  415  a-ncttgcaaggtt  427
+
+458 1745 0 F 455 1767 0 829 28 93.87
+Sbjct  0    caaganctcaaacacttcataactaaaacatcctttaaagccttttcaaaaactcaatca  59
+            ||||| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  0    caaganctcaaacacttcataactaaaacatcctttaaagccttttcaaaaactcaatca  59
+
+Sbjct  60   tgtcaagcaactgcggaagctgcgactgtnctgacaagacccagtgcgtaaagaagggaa  119
+            ||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||
+Query  60   tgtcaagcaactgcggaagctgcgactgtnctgacaagacccagtgcgtaaagaagggaa  119
+
+Sbjct  120  ccagctacaccttcgacatcgtcgagactcaggagagctacaaggaggccatgatcatgg  179
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  120  ccagctacaccttcgacatcgtcgagactcaggagagctacaaggaggccatgatcatgg  179
+
+Sbjct  180  acgttggtgccgaggagaacaacgcaaattgcaagtgcaagtgcggctcctcttgcagct  239
+            |||||||||||||||||||||||||||||||||||||||||| |||||||||||||||||
+Query  180  acgttggtgccgaggagaacaacgcaaattgcaagtgcaagtncggctcctcttgcagct  239
+
+Sbjct  240  gcgtcaactgcacttgctgccccaactaatgaagcttctttaatcaaaatgtaatatgna  299
+            |||||||||||||||||||||||||||||||||||||||||||||||||||||||||| |
+Query  240  gcgtcaactgcacttgctgccccaactaatgaagcttctttaatcaaaatgtaatatgaa  299
+
+Sbjct  300  taaaagttgatgtgggctcatctattgagctcatgtctctcttatt-acctactctc-ta  357
+            |||||||||||||||||||||||||||||||||||||||| ||||| || ||||||| ||
+Query  300  taaaagttgatgtgggctcatctattgagctcatgtctctnttatttac-tactctccta  358
+
+Sbjct  358  gtattggtgtgatgtaatggg-ttattgncccttnttttccnttnccctnt-aaacntaa  415
+            |||| |||||||||||||||| |||| | ||||| ||| || || |||| | |||| |||
+Query  359  gtatgggtgtgatgtaatggggttat-gacccttcttt-ccctt-ccctattaaacctaa  415
+
+Sbjct  416  nggaaactttcaaggtta-tttgnaaagggtnggtttcttttt  457
+             |||| |||||||||||| || | ||||  | |||| ||||||
+Query  416  nggaa-ctttcaaggttaattng-aaag-atgggtt-cttttt  454
+
+450 1745 9 F 443 1882 0 809 28 93.73
+Sbjct  9    aaacacttcataactaaaacatcctttaaagccttttcaaaaactcaatcatgtcaagca  68
+            |||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||
+Query  0    aaacacttcataactaaa-catcctttaaagccttttcaaaaactcaatcatgtcaagca  58
+
+Sbjct  69   actgcggaagctgcgactgtnctgacaagacccagtgcgtaaagaagggaaccagctaca  128
+            |||||||||| ||||||||| |||||||||||||||||||||||||||||||||||||||
+Query  59   actgcggaagttgcgactgtnctgacaagacccagtgcgtaaagaagggaaccagctaca  118
+
+Sbjct  129  ccttcgacatcgtcgagactcaggagagctacaaggaggccatgatcatggacgttggtg  188
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  119  ccttcgacatcgtcgagactcaggagagctacaaggaggccatgatcatggacgttggtg  178
+
+Sbjct  189  ccgaggagaacaacgcaaattgcaagtgcaagtgcggctcctcttgcagctgcgtcaact  248
+            ||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||
+Query  179  ccgaggagaacaacgcaaattgcaagtgcaagtncggctcctcttgcagctgcgtcaact  238
+
+Sbjct  249  gcacttgctgccccaactaatgaagcttctttaatcaaaatgtaatatgnataaaagttg  308
+            ||||||||||||||||||||||||||||||||||||||||||||||||| ||||||||||
+Query  239  gcacttgctgccccaactaatgaagcttctttaatcaaaatgtaatatgaataaaagttg  298
+
+Sbjct  309  atgtgggctcatctattgagctcatgtctctcttattacctactctctagtattggtgtg  368
+            ||||||||||||||||||||||||||||||||||||||| ||||||||||||| ||||||
+Query  299  atgtgggctcatctattgagctcatgtctctcttattac-tactctctagtat-ggtgtg  356
+
+Sbjct  369  atgtaatgggttattgncccttnttttccnttnccctntaaacntaanggaaactttcaa  428
+            |||||||||||||| | ||||| ||| || || |||| ||||  ||| | | |||| |||
+Query  357  atgtaatgggttat-gacccttctttccc-tt-ccctataaaactaaag-anacttgcaa  412
+
+Sbjct  429  ggttatttgnaaagggtnggtttct-ttt-tt  458
+            || || ||| ||||  | ||||||| ||| ||
+Query  413  ggataattgaaaaga-t-ggtttctntttatt  442
+
+427 1764 1 F 432 1767 0 796 21 95.11
+Sbjct  1    caagaactcaaacacttcataactaaaacatcctttaangcctttnnaaaaactcaatca  60
+            ||||| |||||||||||||||||||||||||||||||| ||||||  |||||||||||||
+Query  0    caaganctcaaacacttcataactaaaacatcctttaaagccttttcaaaaactcaatca  59
+
+Sbjct  61   tgtcaagcaactncggaagctgcgactgtcctgacaagacccagtgcgtaaagaagggaa  120
+            |||||||||||| |||||||||||||||| ||||||||||||||||||||||||||||||
+Query  60   tgtcaagcaactgcggaagctgcgactgtnctgacaagacccagtgcgtaaagaagggaa  119
+
+Sbjct  121  ccagctacaccttcgacatcgtcgagactcaggagagctacaaggaggccatgatcatgg  180
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  120  ccagctacaccttcgacatcgtcgagactcaggagagctacaaggaggccatgatcatgg  179
+
+Sbjct  181  acgttggtgccgaggagaacaacgcaaattgcaagtncaagtncggctcctcttgcagct  240
+            |||||||||||||||||||||||||||||||||||| ||||| |||||||||||||||||
+Query  180  acgttggtgccgaggagaacaacgcaaattgcaagtgcaagtncggctcctcttgcagct  239
+
+Sbjct  241  gcgtcaactgcacttgctgccccaactaatgangcttctttaatcaaaatgtaatatgaa  300
+            |||||||||||||||||||||||||||||||| |||||||||||||||||||||||||||
+Query  240  gcgtcaactgcacttgctgccccaactaatgaagcttctttaatcaaaatgtaatatgaa  299
+
+Sbjct  301  taaaagttgatgtgggctcatctattgagctcatgtntctnttatt-actactctc-tag  358
+            |||||||||||||||||||||||||||||||||||| ||| ||||| ||||||||| |||
+Query  300  taaaagttgatgtgggctcatctattgagctcatgtctctnttatttactactctcctag  359
+
+Sbjct  359  tatgg-tgtgatgtaatggg-ttatgacccttctttcccttccctataaaac-tnaagga  415
+            ||||| |||||||||||||| |||||||||||||||||||||||||| |||| | | |||
+Query  360  tatgggtgtgatgtaatggggttatgacccttctttcccttccctattaaacctaangga  419
+
+Sbjct  416  ncttgcaaggtt  427
+             ||| |||||||
+Query  420  actttcaaggtt  431
+
+416 1764 10 F 415 1882 0 783 16 96.15
+Sbjct  10   aaacacttcataactaaaacatcctttaangcctttnnaaaaactcaatcatgtcaagca  69
+            |||||||||||||||||| |||||||||| ||||||  ||||||||||||||||||||||
+Query  0    aaacacttcataactaaa-catcctttaaagccttttcaaaaactcaatcatgtcaagca  58
+
+Sbjct  70   actncggaagctgcgactgtcctgacaagacccagtgcgtaaagaagggaaccagctaca  129
+            ||| |||||| ||||||||| |||||||||||||||||||||||||||||||||||||||
+Query  59   actgcggaagttgcgactgtnctgacaagacccagtgcgtaaagaagggaaccagctaca  118
+
+Sbjct  130  ccttcgacatcgtcgagactcaggagagctacaaggaggccatgatcatggacgttggtg  189
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  119  ccttcgacatcgtcgagactcaggagagctacaaggaggccatgatcatggacgttggtg  178
+
+Sbjct  190  ccgaggagaacaacgcaaattgcaagtncaagtncggctcctcttgcagctgcgtcaact  249
+            ||||||||||||||||||||||||||| ||||| ||||||||||||||||||||||||||
+Query  179  ccgaggagaacaacgcaaattgcaagtgcaagtncggctcctcttgcagctgcgtcaact  238
+
+Sbjct  250  gcacttgctgccccaactaatgangcttctttaatcaaaatgtaatatgaataaaagttg  309
+            ||||||||||||||||||||||| ||||||||||||||||||||||||||||||||||||
+Query  239  gcacttgctgccccaactaatgaagcttctttaatcaaaatgtaatatgaataaaagttg  298
+
+Sbjct  310  atgtgggctcatctattgagctcatgtntctnttattactactctctagtatggtgtgat  369
+            ||||||||||||||||||||||||||| ||| ||||||||||||||||||||||||||||
+Query  299  atgtgggctcatctattgagctcatgtctctcttattactactctctagtatggtgtgat  358
+
+Sbjct  370  gtaatgggttatgacccttctttcccttccctataaaactnaaggancttgcaagg  425
+            |||||||||||||||||||||||||||||||||||||||| |||   |||||||||
+Query  359  gtaatgggttatgacccttctttcccttccctataaaactaaaganacttgcaagg  414
+
+403 1764 7 F 417 1896 0 700 40 90.24
+Sbjct  7    ctcaaacacttcataactaaaacatcctttaangcctttnnaaaaactcaatcatgtcaa  66
+            ||||||||||||||||||||| |||||||||| ||||||  |||||||||||||||||||
+Query  0    ctcaaacacttcataactaaa-catcctttaaagccttttcaaaaactcaatcatgtcaa  58
+
+Sbjct  67   gcaactncggaagctgcgactgtcctgacaagacccagtgcgtaaagaagggaaccagct  126
+            |||||| |||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  59   gcaactgcggaagctgcgactgtcctgacaagacccagtgcgtaaagaagggaaccagct  118
+
+Sbjct  127  acaccttcgacatcgtcgagactcaggagagctacaaggaggccatgatcatggacgttg  186
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  119  acaccttcgacatcgtcgagactcaggagagctacaaggaggccatgatcatggacgttg  178
+
+Sbjct  187  gtgccgaggagaacaacgcaaattgcaagtncaagtncggctcctcttgcagctgcgtca  246
+            |||||||||||||||||||||||||||||| ||||| ||||||||||||||||||||| |
+Query  179  gtgccgaggagaacaacgcaaattgcaagtncaagtncggctcctcttgcagctgcgtna  238
+
+Sbjct  247  actgcacttgctgcccc-aactaatgangcttctttaatcaaaatgtaatatgaataaaa  305
+            ||||||||||||||||| ||||||||| |||||||||||||||||||||||||  |||||
+Query  239  actgcacttgctgcccccaactaatgangcttctttaatcaaaatgtaatatgnntaaaa  298
+
+Sbjct  306  gttg-atgt-ggg-ctcatc-tatt-gag-ctcatg-tntctntt-attactac-tctct  356
+            |||  |||| ||| |||||| |||| ||| |||||| | ||| || ||||||||  ||||
+Query  299  gtttnatgtnggggctcatcctatttgagnctcatggtttctctttattactaccnctct  358
+
+Sbjct  357  agta-tggtg-tgatgtaatggg-ttatgaccc-ttctttcccttccctataaaa-ct  409
+             ||| ||| | |||||||||||| || | ||||  |||| || | |||  ||||| ||
+Query  359  ngtaatgggggtgatgtaatggggttnttaccccntcttcccntncccnttaaaaact  416
+
+446 1767 9 F 440 1882 0 826 20 95.49
+Sbjct  9    aaacacttcataactaaaacatcctttaaagccttttcaaaaactcaatcatgtcaagca  68
+            |||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||
+Query  0    aaacacttcataactaaa-catcctttaaagccttttcaaaaactcaatcatgtcaagca  58
+
+Sbjct  69   actgcggaagctgcgactgtnctgacaagacccagtgcgtaaagaagggaaccagctaca  128
+            |||||||||| ||||||||| |||||||||||||||||||||||||||||||||||||||
+Query  59   actgcggaagttgcgactgtnctgacaagacccagtgcgtaaagaagggaaccagctaca  118
+
+Sbjct  129  ccttcgacatcgtcgagactcaggagagctacaaggaggccatgatcatggacgttggtg  188
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  119  ccttcgacatcgtcgagactcaggagagctacaaggaggccatgatcatggacgttggtg  178
+
+Sbjct  189  ccgaggagaacaacgcaaattgcaagtgcaagtncggctcctcttgcagctgcgtcaact  248
+            ||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||
+Query  179  ccgaggagaacaacgcaaattgcaagtgcaagtncggctcctcttgcagctgcgtcaact  238
+
+Sbjct  249  gcacttgctgccccaactaatgaagcttctttaatcaaaatgtaatatgaataaaagttg  308
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  239  gcacttgctgccccaactaatgaagcttctttaatcaaaatgtaatatgaataaaagttg  298
+
+Sbjct  309  atgtgggctcatctattgagctcatgtctctnttatttactactctcctagtatgggtgt  368
+            ||||||||||||||||||||||||||||||| ||||| ||||||||| |||||||| |||
+Query  299  atgtgggctcatctattgagctcatgtctctcttatt-actactctc-tagtatgg-tgt  355
+
+Sbjct  369  gatgtaatggggttatgacccttctttcccttccctattaaacctaanggaactttcaag  428
+            ||||||||||| |||||||||||||||||||||||||| |||| ||| |  |||| ||||
+Query  356  gatgtaatggg-ttatgacccttctttcccttccctataaaac-taaaganacttgcaag  413
+
+Sbjct  429  gttaattngaaa-gatgggttcttttt  454
+            | ||||| |||| ||||| |||| |||
+Query  414  gataatt-gaaaagatggtttctnttt  439
+
+405 1767 6 F 413 1896 0 710 36 91.20
+Sbjct  6    ctcaaacacttcataactaaaacatcctttaaagccttttcaaaaactcaatcatgtcaa  65
+            ||||||||||||||||||||| ||||||||||||||||||||||||||||||||||||||
+Query  0    ctcaaacacttcataactaaa-catcctttaaagccttttcaaaaactcaatcatgtcaa  58
+
+Sbjct  66   gcaactgcggaagctgcgactgtnctgacaagacccagtgcgtaaagaagggaaccagct  125
+            ||||||||||||||||||||||| ||||||||||||||||||||||||||||||||||||
+Query  59   gcaactgcggaagctgcgactgtcctgacaagacccagtgcgtaaagaagggaaccagct  118
+
+Sbjct  126  acaccttcgacatcgtcgagactcaggagagctacaaggaggccatgatcatggacgttg  185
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  119  acaccttcgacatcgtcgagactcaggagagctacaaggaggccatgatcatggacgttg  178
+
+Sbjct  186  gtgccgaggagaacaacgcaaattgcaagtgcaagtncggctcctcttgcagctgcgtca  245
+            |||||||||||||||||||||||||||||| ||||| ||||||||||||||||||||| |
+Query  179  gtgccgaggagaacaacgcaaattgcaagtncaagtncggctcctcttgcagctgcgtna  238
+
+Sbjct  246  actgcacttgctgcccc-aactaatgaagcttctttaatcaaaatgtaatatgaataaaa  304
+            ||||||||||||||||| ||||||||| |||||||||||||||||||||||||  |||||
+Query  239  actgcacttgctgcccccaactaatgangcttctttaatcaaaatgtaatatgnntaaaa  298
+
+Sbjct  305  gttg-atgt-ggg-ctcatc-tatt-gag-ctcatg-tctctntt-atttactac-tctc  355
+            |||  |||| ||| |||||| |||| ||| |||||| | ||| || ||| |||||  |||
+Query  299  gtttnatgtnggggctcatcctatttgagnctcatggtttctctttatt-actaccnctc  357
+
+Sbjct  356  ctagta-tgggtgtgatgtaatggggttatgaccc-ttctttcccttccctattaaa  410
+             | ||| |||| |||||||||||||||| | ||||  |||| ||| | ||  |||||
+Query  358  -tngtaatgggggtgatgtaatggggttnttaccccntctt-cccntncccnttaaa  412
+
+494 1788 0 F 499 1850 9 882 37 92.55
+Sbjct  0    gaaaatggcttccaagactttccttcttttgggtctctttgcatttntttncatcgtctc  59
+            |||||||||||||||||||||||||||||||||||||||||||||| ||| |||||||||
+Query  9    gaaaatggcttccaagactttccttcttttgggtctctttgcatttntttncatcgtctc  68
+
+Sbjct  60   agaaatggctgcngcgggcacggtgaagtcagagagtgaggaaactntgaaacctgaaca  119
+            |||||||||||| ||||||||||||||||||||||||||||||||| |||||||||||||
+Query  69   agaaatggctgccgcgggcacggtgaagtcagagagtgaggaaactntgaaacctgaaca  128
+
+Sbjct  120  acatggtggtggattcggtgacaatggaggaggaagataccaaggaggaggcggccatgg  179
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  129  acatggtggtggattcggtgacaatggaggaggaagataccaaggaggaggcggccatgg  188
+
+Sbjct  180  tggccacggagggggaggataccaaggaggaggaggacgataccaaggaggcggtgggcg  239
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  189  tggccacggagggggaggataccaaggaggaggaggacgataccaaggaggcggtgggcg  248
+
+Sbjct  240  acaaggaggagggggaagttactnccgccacggctgctgctacaaaggttaccatggctg  299
+            ||||||||||||||||||||||| ||||||||||||||||||||||||||||||||||||
+Query  249  acaaggaggagggggaagttactgccgccacggctgctgctacaaaggttaccatggctg  308
+
+Sbjct  300  ctcaaggtgttgttcatatgccggagaagcggttcanactcagtctngtcactaaatctn  359
+            |||||||||||||||||||||||||||||||||||| ||||||||| |||||||||||| 
+Query  309  ctcaaggtgttgttcatatgccggagaagcggttcanactcagtctggtcactaaatcta  368
+
+Sbjct  360  cataatttttcaanccaccatgagtgtacggtttcatttntatatacacttacgggtgta  419
+            |||||| | |||| |||||||||||||||| |||||||| |||||||||||||| |||||
+Query  369  cataatatatcaa-ccaccatgagtgtacgatttcatttatatatacacttacgtgtgta  427
+
+Sbjct  420  tgt-antattgccaataca-cttncggtt-taaatnaagtnccttaa-gttttag-gg-g  473
+            ||| | ||| | ||||||| ||| || || ||| | |||| |||||| |||| || ||  
+Query  428  tgtna-tat-gacaatacaacttacgtttgtaa-tgaagtgccttaaagtttaagaggnn  484
+
+Sbjct  474  gnaacttn-cgg-attaa-gttt  493
+            | | |||  ||| | ||| ||||
+Query  485  gaancttatcgggaataaagttt  507
+
+449 1796 26 F 439 1937 0 759 43 90.32
+Sbjct  26   ggaagagatggcttctacctccgcaatgtcattggtcacaccacttaaccagacccgttc  85
+            ||||| ||||||||| |||||||| |||||| ||| ||||||||||||||||||||||||
+Query  0    ggaagngatggcttcnacctccgcgatgtcantggncacaccacttaaccagacccgttc  59
+
+Sbjct  86   gtntcctttcctcaagccattacctctgaaaccatccaaggctttggttgcaactggagg  145
+            || ||||||||| |||||||||||||||||||||||||||||||||||||||||||||||
+Query  60   gtctcctttccttaagccattacctctgaaaccatccaaggctttggttgcaactggagg  119
+
+Sbjct  146  cagagcacagaggcttcaagttaaggccctcaagatggacaaggctttgaccggtatctc  205
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 
+Query  120  cagagcacagaggcttcaagttaaggccctcaagatggacaaggctttgaccggtatctn  179
+
+Sbjct  206  cgcggctgctcttactgcttcgatggtgattccggagatagctgaagctgctggttctgg  265
+            ||||||||||||||||| ||||||||||||||||||||||||||||||||||||||||||
+Query  180  cgcggctgctcttactgnttcgatggtgattccggagatagctgaagctgctggttctgg  239
+
+Sbjct  266  aatctntccttccctcaagaatttnttgctcagcattgcttctggtggcctcgtcctcac  325
+            ||||| |||||||||||||||||| |||||||||||| ||||||||||||||  ||||||
+Query  240  aatctntccttccctcaagaatttnttgctcagcattncttctggtggcctcnncctcac  299
+
+Sbjct  326  tgtnatcattggtgtcgtcgtcggngtcttcaactttnacccctgtcaagagnacctaag  385
+            ||| |||||||||||||||||||| |||| ||||||| |||| ||||||| | |||||||
+Query  300  tgtcatcattggtgtcgtcgtcggcgtctccaactttgaccc-tgtcaagngaacctaag  358
+
+Sbjct  386  acctataatatctttttttaccatcattattggaaacctggnccccctcctgnggaattc  445
+             |||||| |||| ||| |||| |||||||||| || | ||| | || || || ||| |||
+Query  359  ncctata-tatcntttcttac-atcattattgtaatc-tggtctccttc-tgtgga-ttc  413
+
+Sbjct  446  ggttcaaatgttgnagcaattnacctttt  474
+            | ||||| || || || |||  || ||||
+Query  414  g-ttcaa-tggtgcag-aatgaac-tttt  438
+
+458 1802 3 F 471 1877 0 827 34 92.68
+Sbjct  3    attaagatgacatctactatggttctattcctccttcttcttcttgtgtttccgcatatg  62
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  0    attaagatgacatctactatggttctattcctccttcttcttcttgtgtttccgcatatg  59
+
+Sbjct  63   gataaagccctaggcgcacacgaggaatcccagaaacaaggtgcagaaaagacttaccat  122
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  60   gataaagccctaggcgcacacgaggaatcccagaaacaaggtgcagaaaagacttaccat  119
+
+Sbjct  123  gatgcacgctttactattcctattaagccaaaatatattcctaaggttatacgccctacg  182
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  120  gatgcacgctttactattcctattaagccaaaatatattcctaaggttatacgccctacg  179
+
+Sbjct  183  ccaaaagatccgcctattccggaatgtcttcgaaaaggcacatgtagtcgtcttcattta  242
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  180  ccaaaagatccgcctattccggaatgtcttcgaaaaggcacatgtagtcgtcttcattta  239
+
+Sbjct  243  tctcctcctccgccccagaggtctttcaaaggcacaaacgnacctggtcattgacctcaa  302
+            |||||||||||| ||||||||||||||||||||||||||| |||||||||||||||||||
+Query  240  tctcctcctccgncccagaggtctttcaaaggcacaaacgaacctggtcattgacctcaa  299
+
+Sbjct  303  tctagcttcgaat-gcgtgtgtgtgtgcatgtttcttaca-nngtggtttggttt-gtgg  359
+            ||||||||||||| ||||||||||||||||||||||||||   |||||||||||| ||||
+Query  300  tctagcttcgaattgcgtgtgtgtgtgcatgtttcttacatttgtggtttggttttgtgg  359
+
+Sbjct  360  cntctgtcttttgtttaccc-atgc-atgtgtttgtca-aatttt-ataggtttgt--cg  413
+            | ||| || ||||||||||  ||||  |||||| |||| |||||| | | |||| |  ||
+Query  360  cttctntcntttgtttaccnnatgcnntgtgttngtcanaattttnanaagtttttntcg  419
+
+Sbjct  414  aaccgggccgct-ataatnaaataaaa-c-tt-gnatttccctttt-gtgtt  460
+            ||  ||||||||  | || |||||||| | || | ||||||||||| | |||
+Query  420  aa-ngggccgctnntnattaaataaaaaccttnggatttcccttttngggtt  470
+
+435 1828 6 F 446 1947 0 734 49 88.88
+Sbjct  6    gagaagaatagtttgatcatcttgtgagaaaaataatggctgcttcantnatgctatctt  65
+            ||||||||||||||||||||||||||||||||||||||||||||||| | ||||||||||
+Query  0    gagaagaatagtttgatcatcttgtgagaaaaataatggctgcttcagtnatgctatctt  59
+
+Sbjct  66   cggtgacattgaaaccagctggtttcacggtggagaagacggcggctagaggattaccgt  125
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  60   cggtgacattgaaaccagctggtttcacggtggagaagacggcggctagaggattaccgt  119
+
+Sbjct  126  cgctcacaagagctcgtccctccttcaaaattntcgccagtggcgtcaagaagatcaaga  185
+            |||||||||||||||||||||||||||||||| |||||||||||||||||||||||||||
+Query  120  cgctcacaagagctcgtccctccttcaaaattntcgccagtggcgtcaagaagatcaaga  179
+
+Sbjct  186  ccgacaagcccttcggaattaacggcagcatggacttgagggacggcgtcgacgcttccg  245
+            ||||||||||||||||||||| ||||||||||||||||||||||||||||||||| ||||
+Query  180  ccgacaagcccttcggaattancggcagcatggacttgagggacggcgtcgacgcctccg  239
+
+Sbjct  246  gcagaaagggcaagggatacggtgtttacaagtacggtcgacaagtatggagctaac-gt  304
+            |||||||||||||||||||||||||||||||||||| ||| |||||||||||||||| ||
+Query  240  gcagaaagggcaagggatacggtgtttacaagtacg-tcggcaagtatggagctaaccgt  298
+
+Sbjct  305  cgatgg-atacagtcct-atttacaa-cggngaacgangtggtcaagcgagtnggt-gac  360
+            |||||| |||||||||| |||| ||| ||| || ||  || ||||| ||| | |||   |
+Query  299  cgatgggatacagtccttattttcaaacggggaccg-ngttgtcaaccga-ttggttnnc  356
+
+Sbjct  361  gtgtac-anggg-tggngtcacc-ggatttgncaattttg-gg-cgg-taa-ctnt-cgc  412
+            || | | | |||  || |||||| || || | |||||||  || ||| ||| || | |||
+Query  357  gttttccaagggnnggngtcacccggntt-ggcaattttttggncgggtaancttttcgc  415
+
+Sbjct  413  cggaatttttttcccggnnggtgc--tttt  440
+            ||| |||| |||||| |  ||| |  ||||
+Query  416  cggnatttntttccccgnnggtnccntttt  445
+
+399 1882 0 F 414 1896 3 705 36 91.14
+Sbjct  0    aaacacttcataactaaacatcctttaaagccttttcaaaaactcaatcatgtcaagcaa  59
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  3    aaacacttcataactaaacatcctttaaagccttttcaaaaactcaatcatgtcaagcaa  62
+
+Sbjct  60   ctgcggaagttgcgactgtnctgacaagacccagtgcgtaaagaagggaaccagctacac  119
+            ||||||||| ||||||||| ||||||||||||||||||||||||||||||||||||||||
+Query  63   ctgcggaagctgcgactgtcctgacaagacccagtgcgtaaagaagggaaccagctacac  122
+
+Sbjct  120  cttcgacatcgtcgagactcaggagagctacaaggaggccatgatcatggacgttggtgc  179
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  123  cttcgacatcgtcgagactcaggagagctacaaggaggccatgatcatggacgttggtgc  182
+
+Sbjct  180  cgaggagaacaacgcaaattgcaagtgcaagtncggctcctcttgcagctgcgtcaactg  239
+            |||||||||||||||||||||||||| ||||| ||||||||||||||||||||| |||||
+Query  183  cgaggagaacaacgcaaattgcaagtncaagtncggctcctcttgcagctgcgtnaactg  242
+
+Sbjct  240  cacttgctgcccc-aactaatgaagcttctttaatcaaaatgtaatatgaataaaagtt-  298
+            ||||||||||||| ||||||||| |||||||||||||||||||||||||  |||||||| 
+Query  243  cacttgctgcccccaactaatgangcttctttaatcaaaatgtaatatgnntaaaagttt  302
+
+Sbjct  299  gatgt-ggg-ctcatc-tatt-gag-ctcatg-tctctctt-attactac-tctctagta  349
+             |||| ||| |||||| |||| ||| |||||| | |||||| ||||||||  |||| |||
+Query  303  natgtnggggctcatcctatttgagnctcatggtttctctttattactaccnctctngta  362
+
+Sbjct  350  -tggtg-tgatgtaatggg-ttatgaccc-ttctttcccttccctataaaa-ct  398
+             ||| | |||||||||||| || | ||||  |||| || | |||  ||||| ||
+Query  363  atgggggtgatgtaatggggttnttaccccntcttcccntncccnttaaaaact  416
+
+414 299 0 P 420 883 20 729 35 91.61
+Sbjct  0    aaaagttttgaaactcttctatacacatacattctccggatgtggttgttactaacttca  59
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  28   aaaagttttgaaactcttctatacacatacattctccggatgtggttgttactaacttca  87
+
+Sbjct  60   aaatataaaaatttaacaaaacaattgttatcatcatttcctacgagtcattaaacccaa  119
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  88   aaatataaaaatttaacaaaacaattgttatcatcatttcctacgagtcattaaacccaa  147
+
+Sbjct  120  tcccactcgccgtcgccggaaaacacctcggaaaatcagccaccgaaaacgatctccagg  179
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  148  tcccactcgccgtcgccggaaaacacctcggaaaatcagccaccgaaaacgatctccagg  207
+
+Sbjct  180  cacaaaaacccaacgacgactgagacgaat-aaa-ttaccaaaagacccttgactcctag  237
+            |||||||||||||||||||||||||||||  ||| |||||||||||||||||||||||||
+Query  208  cacaaaaacccaacgacgactgagacgaagcaaaattaccaaaagacccttgactcctag  267
+
+Sbjct  238  gatacaacggaggaagcttcttcatctg-atgttgatgatgatgtagctgcctcggagga  296
+            |||||||||||||||||||||||||||| |||||||||||||||||||||||||||||||
+Query  268  gatacaacggaggaagcttcttcatctggatgttgatgatgatgtagctgcctcggagga  327
+
+Sbjct  297  gatccagaagtcgtcgg-nnttgatcccggcgacg-agtcacctccgg-aag-aagatcc  352
+            |||||||||||||||||   ||||| ||||||| | |||||||||||| ||| |||||  
+Query  328  gatccagaagtcgtcgggacttgatnccggcgaagnagtcacctccgggaaggaagatnn  387
+
+Sbjct  353  ttctccggtcatcacaccagc-ggcaacagctnatngctagng-tcaaagcgtttctgct  410
+            ||||| ||  |||| || ||| || || |    || | ||| | || ||| |||| || |
+Query  388  ttctcgggngatcaaacnagccggnaa-a-nncatagntagcggtccaagngttt-tgnt  444
+
+Sbjct  411  aag  413
+             ||
+Query  445  tag  447
+
diff --git a/testdata/see-ext-at1MB-400-cigar.matches b/testdata/see-ext-at1MB-400-cigar.matches
new file mode 100644
index 0000000..71ae209
--- /dev/null
+++ b/testdata/see-ext-at1MB-400-cigar.matches
@@ -0,0 +1,230 @@
+# Options: -ii at1MB -l 400 -outfmt cigar -minidentity 80 -history 60
+# Fields: s. len, s. seqnum, s. start, strand, q. len, q. seqnum, q. start, score, editdist, % identity, cigar
+597 1 0 F 592 4 7 898 97 83.68 34M1D1M1I96M1D4M1I19M1I3M2I59M1D2M1I81M1I5M1D46M1I2M1I4M1D1M1D89M1D54M1D2M1I24M1I2M1D4M1I2M1D3M1D16M1D5M1D3M1D4M1D1M1D9M1D5M
+538 1 9 F 523 47 0 779 94 82.28 123M1D4M1I19M1I3M2I59M1D2M1I81M1I5M1D46M1I2M1I4M1D1M1D6M1I3M1D44M1D1M1I6M1D4M1D15M1I1M2D1M1D1M1D11M1D15M1D9M2D3M1D7M1D2M2D7M1D2M1D2M1D1M1D4M1D6M1D5M1I6M
+577 2 72 F 606 3 0 916 89 84.95 56M1D2M1I374M1I4M1I5M1I10M2I10M1I15M1I4M1I4M1I8M1I5M2I4M1I2M1I15M1I6M1I3M1I5M1I5M2I3M1I5M1I8M1I2M1I4M1I4M1I1M1I1M1I6M1I5M
+626 2 34 F 656 5 0 1063 73 88.61 94M1D2M1I373M1I5M1I5M1I10M1I10M1I15M1I4M1I4M1I7M1I7M1I2M1I3M1I13M1I8M1I3M1I5M1I5M1I3M1I5M1I9M1I1M1I5M1I3M1I1M1I2M1I5M1I5M1I1M1I3M1I1M1I6M
+484 2 176 F 513 6 104 730 89 82.15 25M1I15M1D1M1I287M1I4M1I5M1I10M1I10M1I15M1I4M1I4M1I8M1I5M1I4M1I2M1I9M1I6M1I6M1I3M1I5M1I5M1I3M1I5M1I9M1I1M1I4M1I4M1I1M1I1M1I8M1I8M1I6M
+706 2 0 F 749 16 84 1269 62 91.48 504M1I5M1I5M1I10M1I10M1I15M1I4M1I4M1I7M1I7M1I2M1I3M1I13M1I8M1I3M1I5M1I5M1I3M1I5M1I9M1I1M1I5M1I3M1I1M1I2M1I5M1I5M1I1M1I3M1I1M1I7M1I3M1I3M1I2M1I3M1I4M1D2M1I2M1I4M3I3M1I1M1I2M1I3M1I12M
+660 2 0 F 687 39 0 1065 94 86.04 128M1D2M1I374M1I4M1I5M1I10M1I10M1I15M1I4M1I4M1I8M1I5M1I4M1I2M1I15M1I6M1I3M1I5M1I5M1I3M1I5M1I9M1I1M1I4M1I4M1I1M1I1M1I8M1I8M1I6M
+668 3 0 F 660 5 38 1139 63 90.51 179M1I2M1D234M1D3M1I35M1D45M1I1M1D6M1D47M1D26M1D3M1I25M1D8M1D9M1I1M2D3M1I17M2D3M1D7M
+639 3 14 F 631 6 14 1063 69 89.13 114M1I327M1D51M1D19M1I30M1D28M1D3M1I20M4D18M3D18M
+655 3 0 F 650 16 156 1047 86 86.82 56M1I2M1D357M1D3M1I35M1D45M1I1M1D6M1D47M1D26M1D3M1I25M1D8M1D7M1D7M1I17M
+653 3 0 F 643 39 72 1203 31 95.22 455M1D51M1D49M1D28M1D3M1I20M4D18M3D18M
+613 4 16 F 571 47 0 1022 54 90.88 419M1D4M1D16M1D2M1D12M1D15M1D7M1D1M1D4M1D6M1D4M1D3M1D3M1D2M1D2M1D1M1D4M1D5M1D3M1D2M1D1M1D1M1D2M1D2M1D2M1D2M1D1M1D5M1D8M1D2M1D1M1D6M1D2M1D3M1D4M2D1M1D5M3D3M1D2M1D3M
+704 5 52 F 700 6 14 1056 116 83.48 114M1I51M1I1M1D235M1I3M1D80M1D1M1I19M1I88M1D1M1I16M1D3M1D1M2D1M1D15M1D1M1I12M2D9M1I11M1I1M1I1M1I2M1D13M2D3M1D4M1I2M
+742 5 0 F 746 16 118 1323 55 92.61 94M1I2M1D594M1D6M2I2M1I1M2I41M
+756 5 0 F 750 39 34 1275 77 89.77 454M1I3M1D80M1D1M1I107M1D1M1I16M1D3M1D1M2D1M1D15M1D1M1I12M2D9M1I11M1I1M1I1M1I2M1D13M2D3M1D4M1I2M
+599 6 104 F 601 16 260 915 95 84.17 25M1D15M1I1M1D270M1D3M1I80M1I1M1D23M1D84M1I2M1D15M1I3M1I2M3I14M1D32M1D2M1D1M1D11M2I3M1I2M
+783 6 14 F 788 39 86 1400 57 92.74 114M1D393M1D236M1I7M1I4M1I14M1I2M1I6M1I3M1I2M
+467 11 135 F 449 29 138 766 50 89.08 8M1D17M1D331M1D10M1D25M2D2M1D7M1D3M1D6M1D5M1D2M1D7M1D5M1D2M1D5M1D3M1D8M1D3M
+767 16 84 F 766 39 0 1248 95 87.61 128M1D2M1I357M1I3M1D80M1D1M1I107M1D2M1I15M1D3M1D2M3D14M1I32M1I2M1I1M1I9M
+397 18 0 F 417 46 194 634 60 85.26 267M1I28M1I11M1I16M1I4M1I3M1I4M1I3M1I4M1I9M1I4M1I7M1I4M1I5M1I3M1I3M1I5M1I5M1I3M1I2M1I7M
+458 34 157 F 442 1317 0 789 37 91.78 3M1D4M1D3M1D3M1D2M1D2M1D9M1D3M1D6M1D1M1I1M1D5M1D17M1D2M1D12M1D22M1D255M1D10M1D81M
+399 35 140 F 402 72 145 717 28 93.01 3M1I4M1I10M1I4M1I11M1I3M1D3M3I7M1D273M1D66M1D7M1D3M
+430 61 134 F 438 65 137 787 27 93.78 8M2D6M1I4M1I201M1D92M1D29M1I43M1I13M1I9M1I5M2I6M2I2M1I3M1I5M
+517 64 0 F 517 65 0 1034 0 100.00 517M
+461 78 86 F 459 80 149 800 40 91.30 4M1D1M1D202M1D94M1D23M1D54M2I1M1I77M
+542 78 223 F 540 1488 8 995 29 94.64 5M1I8M1D5M1I4M1D3M1D2M1D1M1I6M1I20M1D12M1I8M1D1M1I5M1D8M1D3M1I5M1D437M
+568 79 56 F 568 1495 0 1022 38 93.31 2M1D5M1D34M1D22M1I6M1D23M1I7M1D4M1I29M1I12M1I8M1I5M1D5M1I14M1D385M
+417 223 0 F 414 271 2 801 10 97.59 3M2D378M1D33M
+418 229 0 F 419 270 0 828 3 99.28 409M1I9M
+418 318 13 F 428 1693 142 621 75 82.27 4M1I9M1I4M1I13M1I2M1I18M1I14M1I7M1D15M1D22M1D12M1D10M1D3M1I67M1I5M1I6M1I12M1I4M1I5M1I8M1I5M1I7M1I2M1I5M1I8M1I8M1I3M1I13M1I7M1I15M1D9M1D4M1I11M1I3M1I5M1D6M1D6M1D8M1I1M1D7M1D2M1D3M1D8M1D2M1D7M1D2M1D3M
+405 336 36 F 419 1703 0 734 30 92.72 3M1I313M1I4M1I7M1I6M1I5M1I8M1I7M1I5M1I6M1I6M1I5M1I11M1I4M1I15M
+439 376 0 F 450 1694 81 703 62 86.05 3M1I4M1I6M1I10M1I5M1I4M1I14M1I16M1I26M1I13M1I15M1I7M1I143M1I42M1I16M1I25M1D6M1I19M1D4M1I10M1D12M1D2M1D7M1I6M1D4M1D13M
+400 380 1 F 408 451 26 766 14 96.53 8M1I5M1I5M1I3M1I20M1I4M1I3M1I5M1I347M
+403 380 0 F 406 630 10 722 29 92.83 19M1I31M1I49M1I4M1I1M1D298M
+401 380 0 F 404 736 106 784 7 98.26 12M1I11M1I26M1I352M
+400 380 3 F 403 846 215 773 10 97.51 6M1I14M1I26M1I354M
+403 380 0 F 407 902 16 783 9 97.78 20M1I5M1I11M1I13M1I354M
+401 380 2 F 408 1100 35 740 23 94.31 8M1I13M1I15M1I5M1I3M1I10M1I9M1I338M
+401 380 2 F 407 1143 2 721 29 92.82 13M1D6M1I3M1D7M1I13M1I3M1I7M1I12M1I2M1D6M1I7M1I25M1I294M
+403 380 0 F 407 1151 49 786 8 98.02 19M1I4M1I12M1I14M1I354M
+403 380 0 F 409 1230 104 773 13 96.80 10M1I13M1I26M1I35M1I13M1I12M1I294M
+399 380 0 F 406 1360 9 730 25 93.79 5M1I5M1I4M1I10M1I3M1I22M1I13M1I337M
+475 404 165 F 466 819 35 809 44 90.65 2M1D3M1D14M1D2M1D6M1D7M1D3M1D1M1D4M1I6M1D7M1D8M1D3M1I4M1D13M1D30M1I51M1I298M
+418 404 186 F 420 975 52 760 26 93.79 10M1D7M1D10M1I18M1I58M1I51M1I262M
+420 404 213 F 444 1362 2 699 55 87.27 2M1I2M1I8M1I13M1I7M1I7M1I9M1I29M1I1M1I9M1I7M1I4M1I2M1I4M1I5M1I3M1I8M1I16M3I12M1I4M1I9M1I24M1I235M
+453 404 187 F 455 1500 29 806 34 92.51 9M1D7M1D4M1I24M1I13M1D44M1I9M1I42M1I298M
+434 406 8 F 430 542 0 771 31 92.82 15M1D2M1D16M1D7M1D11M1D5M1D24M1I4M1I344M
+402 406 40 F 413 1056 0 713 34 91.66 15M1I9M1D7M1I3M1D1M1I16M2I2M1I22M1D3M1I7M1I9M1I2M1I11M1I4M1I15M1I2M1I271M
+430 412 83 F 436 1525 0 755 37 91.45 3M1I14M1I1M1I6M1I2M1I18M1I20M1I3M1I1M1D5M1I3M1I2M1D5M1D7M1I1M1I7M1D4M1D6M1I30M1D20M1D265M
+434 426 27 F 429 795 0 722 47 89.11 12M1D4M1D9M1D5M1D13M1I3M1D2M1D8M1D5M1D4M1I9M1D1M1I19M1D6M1I4M1D3M1I19M1I5M1D1M1D37M1I29M1I223M
+409 432 9 F 410 652 0 735 28 93.16 9M1I15M1I5M1D3M1D8M2D15M1I13M1I11M1I8M1D6M1I311M
+422 432 0 F 423 825 61 791 18 95.74 2M1I1M1D5M1I8M1D33M1I1M1D32M1I29M1I9M1D298M
+397 432 0 F 403 1469 51 728 24 94.00 9M2I5M1I25M1I9M1I4M1D5M1I5M1I9M1I6M1I22M1D22M1D273M
+423 449 0 F 421 868 143 802 14 96.68 15M1D4M1I10M1D4M1D31M1D13M1I2M1I36M1D303M
+434 451 0 F 427 736 83 825 12 97.21 14M1D10M1D8M1D11M1D24M1D7M1D6M1D347M
+434 451 0 F 427 846 189 816 15 96.52 25M1D2M1D11M1D5M1D24M1D7M1D6M1D347M
+424 451 10 F 420 902 1 787 19 95.50 11M1I4M1D8M1D4M1D10M1D2M1I10M1I5M1D10M1D6M1D347M
+434 451 0 F 429 1100 12 764 33 92.35 9M1D12M1D2M2D3M1D14M1D19M1I15M1D17M1I336M
+434 451 0 F 428 1151 26 823 13 96.98 9M1D15M1D8M1D5M1D22M1I8M1D7M1D6M1D347M
+434 451 0 F 431 1230 80 805 20 95.38 12M1D2M1I10M1D8M1D11M1D24M1D4M1D10M1D29M1I13M1I12M1I292M
+417 451 15 F 414 1360 1 726 35 91.58 3M1D6M1D5M1I14M1D4M1D2M1I3M1I15M1D7M1D6M1D8M1I337M
+415 452 0 F 413 882 3 750 26 93.72 2M1I4M1D8M1I13M1D25M1D6M1I4M1D6M1I3M1D38M1D12M1D24M1I263M
+424 454 70 F 432 1837 0 793 21 95.09 2M1D81M1D4M1I246M1I33M1I2M1I3M1I14M1I24M1I2M1I3M1I2M1I6M
+453 460 27 F 452 1351 0 821 28 93.81 5M1D1M1D4M1I3M1I15M1D2M1I28M1D3M1I1M1I92M1D39M1D254M
+492 474 48 F 480 543 0 903 23 95.27 4M1D2M1D3M1D7M1D5M1D10M1D11M1D2M1D5M1D13M1D15M1D33M1I2M1D42M1D325M
+540 474 0 F 522 658 80 975 29 94.54 2M1D10M1D1M1D22M1D8M1D4M1D10M1D2M1D14M1D1M1I2M1D11M1D2M1D10M1D7M1D15M1D26M1D40M1D10M1D61M1D263M
+454 474 86 F 440 713 0 786 36 91.95 5M1D2M1D3M1D11M1D6M1D6M1D3M1D1M1D7M1D2M1D8M1D10M1I4M1D5M1D23M1I12M1D4M1D1M1D325M
+423 474 0 F 408 736 18 693 46 88.93 2M1D3M1D2M1D7M1D5M1I2M1D5M1D2M1D7M1I2M1D7M1D6M1D7M1D15M1I4M1D47M1D78M1D179M1D3M1D2M1I4M1I4M3D8M1D2M
+435 474 105 F 433 798 0 811 19 95.62 29M1D6M1D17M1I4M1D50M1D89M1I236M
+480 474 35 F 479 826 2 914 15 96.87 53M1I7M1I14M1D25M1D78M1D300M
+423 474 0 F 418 846 114 685 52 87.63 7M1I1M1I6M1D14M1I4M1I9M1I10M1D13M1D7M1D8M1I17M1D6M1I4M1D23M1D78M1D179M1D3M1D2M1I4M1I4M3D8M1D2M
+422 474 118 F 417 849 0 758 27 93.56 17M1D10M1I16M1D40M1D11M2D156M1D166M
+488 474 47 F 483 912 0 932 13 97.32 5M1D13M1D11M1D1M1I11M1D43M1D27M1D46M1I4M1D320M
+407 474 57 F 407 988 0 664 50 87.71 2M1D17M1D17M1I31M1I14M1I22M1D51M1D159M1I4M1D28M1D8M1I3M1D32M1I5M1I7M
+419 474 45 F 417 1049 0 722 38 90.91 24M1D31M1D33M1D35M1I43M1D159M1I4M1D28M1D8M1I3M1D32M1I5M1I7M
+453 474 87 F 444 1120 0 798 33 92.64 4M1D7M1D5M1D4M1D19M1D1M1I1M1D18M1D1M1I9M1D43M1D6M1D143M1D181M
+422 474 1 F 425 1230 2 679 56 86.78 3M1D4M1I11M1I3M1I5M1I6M1D1M1I13M1I14M1I20M1I2M1D2M1I40M1I2M1D4M1D49M1I13M1I12M1I4M1D179M1D3M1D2M1I4M1I4M3D8M1D2M
+500 474 40 F 475 1297 0 852 41 91.59 4M1D7M1D4M1D1M1D2M1D2M1D1M1D5M1D1M1D4M1D3M1D6M1D4M1D1M1D4M1D3M1D12M1D5M1D6M1D7M1D19M1D9M1D22M1D19M1D14M1D310M
+447 474 68 F 436 1327 0 775 36 91.85 5M1D5M1D11M1D3M1D3M1D7M1D4M1D20M1D27M1D9M1D42M1D300M
+409 480 46 F 398 926 0 744 21 94.80 9M1D1M1D9M1D7M1D10M1D2M1D5M1D6M1D3M1D9M1D14M1D323M
+425 489 0 F 429 1339 12 806 16 96.25 10M1I8M1I1M1I13M1D11M1I11M1I4M1D19M1I13M1I17M1D315M
+409 522 41 F 410 1134 0 723 32 92.19 32M1D3M1I8M1I16M1D23M1I325M
+406 530 14 F 398 1343 30 735 23 94.28 12M1D11M1D1M1D3M1D6M2D16M1D31M1D318M
+422 536 58 F 414 1082 12 755 27 93.54 4M1D4M1D9M1D11M1D11M1D10M1D3M1D15M1D347M
+400 542 30 F 413 1056 0 738 25 93.85 3M1I7M1I3M1I13M1I3M1I2M1D1M1I15M1I27M1D3M1I7M1I9M1I2M1I11M1I4M1I15M1I2M1I271M
+477 543 3 F 476 658 126 890 21 95.59 3M1I3M1I2M1D9M1I6M1D2M1I19M1I5M1D48M1D6M1D2M1I31M1D71M1D263M
+436 543 44 F 429 713 11 793 24 94.45 22M1D8M1D3M1D3M1D7M1D12M1D31M1I12M1D4M1D326M
+429 543 51 F 430 798 3 793 22 94.88 10M1I19M1D19M1I4M1D2M1D4M1I132M1I236M
+455 543 0 F 466 826 15 852 23 95.01 2M1I4M1I3M1I7M1I10M1I6M1I2M1I7M1I2M1I2M1I17M1I48M1D2M1I342M
+419 543 61 F 416 849 1 748 29 93.05 28M1I14M1D6M1D2M1I31M1D11M1D156M1D166M
+475 543 0 F 482 912 1 897 20 95.82 6M1I3M1I18M1I4M1I6M1D4M1I2M1I5M1I13M1I42M1D5M1D2M1I38M1I324M
+397 543 7 F 407 988 0 633 57 85.82 9M1I16M1I9M2I4M1I4M1I13M1I6M1I9M1I4M1I21M1D4M1D5M1I201M1I4M1D28M1D8M1I3M1D32M1I5M1I7M
+404 543 0 F 414 1049 3 677 47 88.51 4M1I3M1I2M1I12M1I11M1I10M1I7M1I14M1I50M1I201M1I4M1D28M1D8M1I3M1D32M1I5M1I7M
+447 543 33 F 444 1120 0 798 31 93.04 4M1D4M1I7M1D11M1I9M1I5M1D28M1D1M1D6M1I35M1D149M1D181M
+480 543 0 F 468 1297 7 855 31 93.46 11M1D2M1D7M1D4M1D9M1D9M1D20M1D14M1D18M1D4M1D27M1D33M1D310M
+439 543 16 F 436 1327 0 782 31 92.91 6M1D7M1I7M1D17M1D5M1I41M1D4M1D347M
+436 549 0 F 448 661 68 773 37 91.63 6M1I13M1I9M1I2M1I5M1D6M1I1M1I3M1I17M1I6M1I18M1D8M1I4M1I26M1D24M1I81M1I36M1I95M1I73M
+402 568 10 F 406 1793 2 739 23 94.31 32M1I29M1I45M1D18M1I220M1I33M1I24M
+432 584 48 F 449 1661 0 707 58 86.83 4M1D5M1I3M1I5M1I5M1I8M1I19M1I18M1I1M1I34M1D3M1I231M1I27M1I9M1I8M1I9M1I4M1I10M1I17M2I8M1I2M
+412 630 2 F 414 736 96 730 32 92.25 4M1I3M1I17M1I34M1I1M1D49M1D4M1D1M1I296M
+415 630 1 F 416 846 202 729 34 91.82 5M1I5M1I49M1I1M1D49M1D4M1D1M1I298M
+415 630 1 F 419 902 4 732 34 91.85 6M1I1M1I1M1I26M1I10M1I15M1I1M1D49M1D4M1D1M1I298M
+416 630 0 F 420 1100 23 719 39 90.67 8M1I41M1I7M1I12M1I9M1I34M1D4M1D1M1I298M
+425 630 9 F 426 1143 1 728 41 90.36 4M1D4M1D5M1D12M1D4M1I11M1I7M1I1M1D3M1I15M1I2M1D3M1I8M1I10M1D11M1D1M1I2M1I314M
+415 630 1 F 418 1151 38 737 32 92.32 5M1I3M1I18M1I19M1I14M1I1M1D49M1D4M1D1M1I298M
+416 630 0 F 421 1230 92 732 35 91.64 8M1I1M1I3M2I2M1D45M1I1M1D34M1I20M1D1M1I4M1I294M
+409 630 3 F 414 1360 1 688 45 89.06 6M1I3M1I1M1I13M1I3M1D5M1I8M1I17M1I1M1D8M1I41M1D4M1D1M1I294M
+400 652 10 F 401 825 79 711 30 92.51 23M1I4M1I5M1I11M1D13M1D7M1I5M1D8M1I9M1D6M1I4M1D300M
+412 654 1 F 407 807 63 711 36 91.21 10M1D17M1D2M1D6M1D12M1I5M1D7M1I16M1I22M1I7M1D18M1D53M1D41M1D187M
+440 654 1 F 432 866 142 719 51 88.30 2M1D14M1I7M1I4M1D2M1D17M1D1M1I5M1D4M1D2M1I10M1D5M1I1M1D20M1I7M1D4M1D27M1D12M1D26M1D41M1D39M1D1M1I174M
+461 654 0 F 461 1212 120 799 41 91.11 18M1I3M1I44M1I5M1D10M1I19M1I8M1D17M1D56M1D41M1D235M
+441 658 161 F 438 713 2 777 34 92.26 6M1I24M1D5M1D6M1D3M1D7M1D13M1I6M1D23M1I8M1I3M1D4M1D62M1I263M
+425 658 60 F 426 736 0 683 56 86.84 2M1D4M1D17M1D6M1I2M1D5M1I2M1D5M1D9M1I15M1D3M1I16M1I15M1I2M1I6M1D2M1I1M1I7M1I40M1I41M1I74M1I114M1D3M1D2M1I4M1I4M3D8M1D2M
+428 658 174 F 433 798 0 795 22 94.89 5M1I7M1I18M1D20M1I43M1I71M1I27M1I236M
+467 658 110 F 481 826 0 867 27 94.30 3M1I8M1I5M1I10M1I2M1I14M1I2M1D1M1I1M1I8M1I2M1I2M1I6M1D3M1I7M1I41M1I41M1I71M1I238M
+465 658 20 F 485 846 47 737 71 85.05 7M1I11M1I2M1I11M1I2M1I3M1D13M1I2M1I8M1I2M1I4M1I1M1I3M1I16M1I3M1I5M1I4M1I3M1I16M1I9M1D6M1I4M1I11M1I11M1I8M1I40M1I41M1I74M1I114M1D3M1D2M1I4M1I4M3D8M1D2M
+416 658 186 F 416 849 1 763 23 94.47 26M1I67M1D59M1I96M1D166M
+471 658 126 F 479 912 4 896 18 96.21 10M1I14M1D1M1I1M1I1M1D2M1I5M1D5M1I2M1I10M1I7M1I81M1I6M1I65M1I258M
+395 658 131 F 407 988 0 646 52 87.03 2M1D3M1I1M1I11M1D7M1I9M2I4M1I10M1I7M1I6M1I11M1I2M1I62M1I74M1I94M1I4M1D28M1D8M1I3M1D32M1I5M1I7M
+395 658 131 F 405 1049 12 677 41 89.75 6M1I1M1I3M1D11M1I1M1D2M1I11M1I12M1I8M1I39M1I9M1I32M1I74M1I94M1I4M1D28M1D8M1I3M1D32M1I5M1I7M
+444 658 158 F 444 1120 0 786 34 92.34 4M1D4M1I7M1D11M1I11M1D1M1I19M1D1M1I47M1I3M1D68M1I81M1D181M
+397 658 88 F 416 1230 11 624 63 84.50 4M1I5M1I3M1I5M1I2M1I13M1I4M1I3M1I10M2I1M1I15M1I6M1I9M1I3M1I9M1I7M1I8M1I2M1D29M1I23M1I13M1I5M1I6M1I68M1I114M1D3M1D2M1I4M1I4M3D8M1D2M
+486 658 116 F 475 1297 0 853 36 92.51 15M1D1M1D5M1D5M1D1M1D6M1D7M1D9M1D1M1D4M1I14M1D14M1D27M1D22M1D8M1I24M1D46M1I263M
+437 658 140 F 436 1327 0 777 32 92.67 5M1D16M1D13M1D10M1I49M1D31M1I71M1I238M
+415 691 0 F 433 814 49 722 42 90.09 2M1I5M1I4M1I3M1I2M1I8M1I2M1I3M1I2M1I5M3I2M3I3M1D1M1D12M1D6M1I4M1I1M1D2M2I4M1I10M1I7M1I323M
+421 695 59 F 427 938 0 761 29 93.16 13M1I4M1I10M1I7M1D11M1D3M1I7M1I2M1D22M1I7M1I13M1I10M1I3M1I125M1D180M
+432 701 5 F 422 715 7 731 41 90.40 5M1D4M1D4M1D5M1I2M1D3M1D13M1D5M1D1M1D3M1D4M1D3M1D9M1D1M1I1M1I6M1D10M1D9M1D21M1I25M1I283M
+423 713 17 F 432 798 1 753 34 92.05 4M1I6M1I7M1I7M1I3M1I2M1I4M1D3M1I8M1I5M1D5M1I23M1D13M1I4M1I90M1I236M
+415 713 0 F 428 826 53 729 38 90.98 3M1I2M1I2M2I3M1I17M1I6M1I5M1I6M1I3M1I7M1I8M1I5M1D6M1I22M1D13M1I4M1I301M
+413 713 27 F 417 849 0 710 40 90.36 6M1I8M1I7M1I1M1I3M1I2M1I13M1D6M1I22M1D8M1D4M1I4M1D1M1I157M1D166M
+435 713 0 F 446 912 37 782 33 92.51 7M1I3M1I7M1I10M1I6M1I5M1I6M1I3M1I7M1I13M1D6M1I23M1D12M1I2M1I2M1I321M
+437 713 3 F 442 1120 2 789 30 93.17 8M1I5M1D10M1I6M1I3M1I8M1I3M1I7M1I17M1D4M1I19M1D18M1I144M1D181M
+437 713 3 F 437 1297 38 769 35 91.99 4M1I1M1D3M1D20M1I1M1D3M1I6M1I10M1I13M1D28M2D12M1I4M1I15M1D310M
+414 713 1 F 420 1327 16 723 37 91.13 10M1I7M1D8M1I6M1I5M1I6M1I5M1I5M1I13M1D29M1D12M1I4M1I301M
+382 724 29 F 433 1826 2 605 70 82.82 4M1I2M1I4M1I1M1I4M1I4M1I1M1I3M1I1M1I2M1I2M1I3M1I1M1I5M1I2M1I4M1I3M1I4M1I10M1I8M1I3M1I3M1I3M1I7M1I5M1I5M1I14M1I142M1I11M1I8M1I11M1I10M1I6M1I5M1I3M1I7M1I2M1I5M1I3M1I8M1I3M1I4M1I5M1I3M1I7M1I4M1I5M1I5M1I5M2I10M1I2M
+510 736 0 F 525 846 91 915 40 92.27 2M1I3M1I3M1I1M1I7M1I4M1I1M1I1M1I2M1I3M1I7M1I1M1I5M1D4M1I1M1I2M1I9M1I13M1I11M1D15M1I12M1D6M1I4M1D389M
+414 736 96 F 416 902 5 800 10 97.59 7M1I15M1D8M1I3M1D2M1I11M1I366M
+435 736 75 F 437 1100 4 782 30 93.12 17M1D4M1I3M1D2M1I1M1D2M1D38M1I5M1I14M1I9M1I336M
+406 736 104 F 407 1143 0 726 29 92.87 3M1D3M1D7M1D2M1D10M1D10M1I13M1I8M1I12M1I2M1D6M1I7M1I25M1I292M
+452 736 58 F 454 1151 0 876 10 97.79 6M1I6M1I13M1D8M1D4M1I21M1D7M1I16M1I368M
+485 736 25 F 500 1230 11 898 29 94.11 6M1I3M1I6M1I1M1I3M1I2M1I8M1D2M1I4M1I3M1I5M1I5M1I3M1I20M1I96M1I13M1I12M1I292M
+411 736 97 F 414 1360 1 747 26 93.70 3M1D11M1I9M1I8M1D2M1I3M1I36M1I337M
+408 798 0 F 407 826 74 755 20 95.09 2M1D29M1I164M1D211M
+420 798 13 F 417 849 0 723 38 90.92 20M1I5M1D2M2I11M1D43M1D11M1D87M1D69M1D166M
+428 798 0 F 428 912 55 796 20 95.33 32M1I20M1D51M1I92M1D231M
+432 798 1 F 428 1120 16 752 36 91.63 10M1D20M1I5M1D2M1I5M1D1M1I5M1D47M1D95M1D54M1D181M
+430 798 3 F 423 1297 52 766 29 93.20 12M1D5M1D28M1D12M1D23M1D33M1D74M1D236M
+405 798 3 F 402 1327 34 714 31 92.32 8M1D21M1I17M1D12M1D132M1D211M
+468 807 2 F 464 866 82 800 44 90.56 13M1D34M1I2M1D14M1D9M1I4M1I3M1I19M1I9M1D7M1D13M1D7M1D32M1D13M1I13M1D14M1D252M
+468 807 2 F 476 1212 57 824 40 91.53 5M1I9M1I18M1I2M1D2M1I34M1I6M1I3M1I7M1I5M1I9M1I9M1D4M1I15M1D337M
+445 815 0 F 462 1699 0 778 43 90.52 6M1I21M1D6M1I10M1I2M1D9M1I17M1I30M1I186M1I53M1I9M1I10M1I4M1D1M1I2M1I11M2I9M1I5M1I3M1I14M1I4M1I14M1I16M
+451 819 14 F 467 975 5 810 36 92.16 9M1I2M1I3M1I5M2I4M1I5M1I10M1I4M1I16M1I2M1I13M1I6M1I3M1I3M1I2M1D5M1I17M1I341M
+418 819 76 F 443 1362 3 726 45 89.55 4M1I1M1I6M1I4M1I10M1I5M1I1M1I7M1I6M1I3M1I21M1I16M1I7M1I4M1I2M1I4M1I5M1I3M1I8M1I9M1I1M1I19M1I4M1I9M1I24M1I235M
+484 819 35 F 494 1500 8 882 32 93.46 4M1I12M1I5M1I16M1I4M1I8M1I6M1I5M1I4M1I1M1D23M1I36M1I359M
+432 825 27 F 441 1469 13 765 36 91.75 10M2I3M1I12M1I3M1D5M1I10M1I3M1I5M1I21M1I19M1I5M1I2M1I13M1I7M1D15M1D13M1D282M
+467 826 14 F 463 912 0 873 19 95.91 3M1D14M1D11M1D2M1I6M1D5M1D2M1D13M1I54M1D46M1I304M
+409 826 12 F 407 1049 0 702 38 90.69 24M1D18M1D7M1D6M1D7M1I60M1I202M1I4M1D28M1D8M1I3M1D32M1I3M
+426 826 55 F 419 1120 0 743 34 91.95 4M1D2M1D5M1D5M1D23M1D1M1I19M1D1M1I5M1D47M1D149M1D101M1I2M1D52M
+474 826 7 F 450 1297 0 801 41 91.13 4M1D5M1D6M1D1M1D2M1D2M1D1M1D6M2D4M1D3M1D1M1D5M1D2M1D2M1D1M1D4M1D15M1D5M1D14M1D14M1D13M1D22M1D33M1D285M
+446 826 35 F 436 1327 0 774 36 91.84 6M1D4M1D6M1D5M1D2M1D1M1D3M1D11M1D43M1D13M1D342M
+419 846 199 F 422 902 1 793 16 96.20 11M1I5M1I6M1D10M1I3M1D2M1I10M1I370M
+434 846 184 F 437 1100 6 772 33 92.42 5M1I9M1D14M1D38M1I5M1I14M1I9M1I338M
+454 846 164 F 456 1151 0 859 17 96.26 6M1I28M1D16M1I6M1D8M1I18M1I370M
+503 846 115 F 511 1230 2 879 45 91.12 12M1D7M1I3M1I14M1D6M1D7M1I3M1I11M1I1M1I6M1I13M1D2M1I13M1I5M1D4M1I72M1I13M1I12M1I294M
+410 846 204 F 414 1360 1 731 31 92.48 3M1D7M1I3M1I3M1D4M1I1M1I8M1D2M1I3M1I36M1I337M
+447 848 138 F 476 1658 0 737 62 86.57 2M1I12M1I9M1I21M1I13M1I10M1I20M1D54M1I26M1I21M1I12M1I106M1I53M1I9M1I3M1I8M1I5M1I6M2I5M1I1M1I1M1D1M2I2M1I3M1I3M1I3M1I6M1I5M1I7M1I4M1I4M1I10M
+412 849 0 F 415 912 68 746 27 93.47 27M1D56M1I6M1I5M1I156M1I161M
+417 849 0 F 417 1120 27 705 43 89.69 29M1D4M1D1M1I47M1I4M1D5M1I143M1D14M1I86M1I2M1D77M
+417 849 0 F 413 1297 62 722 36 91.33 2M1D5M1D19M2D22M1D22M1D7M1I10M1I14M1D143M1I166M
+557 866 17 F 561 1212 0 884 78 86.05 2M1D8M1D1M1D10M1I6M1D2M1D8M1D4M1D6M1D8M1D6M1I6M2I11M1I2M1D4M1I4M1D7M1I2M1D5M1I13M1I7M1I4M1D14M1I5M1I23M1I2M1I21M1I32M1I10M1D16M1I14M1I104M1I1M1D174M
+405 867 233 F 417 1602 0 708 38 90.75 24M1I11M1I45M1I223M1I8M1I9M1D3M1I27M2I16M1I3M1I19M1I3M1I9M1I4M
+421 884 0 F 427 890 8 770 26 93.87 4M1I4M1D7M1I9M1I4M1I1M1I9M1D17M1I34M1D4M1I20M1I20M1I285M
+424 892 0 F 420 1300 64 772 24 94.31 19M1D1M1D58M1D9M1D18M1I9M1D305M
+423 902 0 F 423 1100 20 747 33 92.20 10M1D3M1D2M1D8M1I9M1D3M1I2M1D10M1D2M1I6M1I12M1I12M1I338M
+409 902 14 F 409 1143 0 728 30 92.67 3M1D3M1D9M1D3M1D3M1I4M2D23M1I8M1I12M1I2M1D6M1I7M1I25M1I294M
+423 902 0 F 422 1151 34 818 9 97.87 12M1D27M1I2M1D9M1D1M1I369M
+420 902 3 F 422 1230 91 785 19 95.49 3M1I4M1D15M1I10M1D3M1I2M1D11M1D49M1I13M1I12M1I294M
+404 902 15 F 407 1360 8 736 25 93.83 7M1I4M1I4M1I6M1D7M1I8M1D29M1I337M
+438 905 0 F 451 1693 83 730 53 88.08 11M1I20M1D38M1D15M1I2M1D22M1D19M1I1M1D68M1I67M1I5M1I6M1I12M1I4M1I5M1I8M1I5M1I7M1I2M1I5M1I8M1I8M1I3M1I13M1I7M1I15M1D9M1D4M1I11M1I15M1D6M1D8M
+403 912 9 F 407 988 0 648 54 86.67 2M1D5M1I13M1D11M1I3M1I31M1I11M1I2M1I69M1D163M1I4M1D28M1D8M1I3M1D32M1I5M1I7M
+411 912 1 F 414 1049 3 696 43 89.58 4M1I12M1I3M1D7M1I2M1D11M1I9M1D60M1I7M1I39M1D163M1I4M1D28M1D8M1I3M1D32M1I5M1I7M
+445 912 38 F 439 1120 0 791 31 92.99 14M1D2M1D7M1D16M1D1M1I73M1D2M1D147M1D176M
+483 912 0 F 464 1297 6 842 35 92.61 9M1D1M1D2M1D3M1D5M1D5M2D3M1D10M1D1M1D4M1D1M1D14M1D5M1D14M1D27M1D22M1D15M1D18M1D305M
+444 912 19 F 436 1327 0 778 34 92.27 5M1D5M1D14M1D3M1D5M1D6M1D56M1D38M1D304M
+396 975 76 F 417 1362 0 687 42 89.67 2M1I4M1I1M1I15M1D5M1I7M1I9M1I7M1I29M1I11M1I7M1I4M1I2M1I4M1I5M1I3M1I8M1I9M1I1M1I19M1I4M1I9M1I24M1I206M
+419 975 53 F 419 1500 29 781 19 95.47 24M1I2M1D32M1D54M1I305M
+426 988 0 F 424 1049 12 766 28 93.41 2M1I10M1D7M1I19M1D14M1D15M1D9M1D2M1D21M1I9M1I312M
+433 1049 0 F 413 1297 4 630 72 82.98 7M1D4M1D1M1D3M1D1M1D1M1D2M1I2M1D1M1D4M1D4M1D5M1D4M1D5M1D3M1D12M1D5M1D14M1D18M1D7M1D2M1D22M1D33M1D144M1D4M1I28M1I8M1D3M1I32M1D5M1D7M1D5M1D2M3I1M1I6M
+409 1049 24 F 401 1327 2 615 65 83.95 3M1D5M1D3M1I2M1D5M1D3M1D10M1D4M1D47M1D4M1D5M1D201M1D4M1I28M1I8M1D3M1I32M1D5M1D7M1D5M1D2M3I1M1I6M
+409 1097 23 F 417 1806 1 721 35 91.53 3M1I9M1I25M1I12M1I7M1I132M1D158M1I2M1I20M1I25M1I15M
+410 1100 33 F 408 1143 1 725 31 92.42 4M1D5M1D5M1D10M1D18M1D8M1I16M1D3M1I2M1D6M1I5M1I27M1I294M
+442 1100 1 F 440 1151 16 789 31 92.97 10M1D17M1I2M1D1M1I2M1I11M1D6M1I17M1I3M1D5M1D14M1D9M1D338M
+440 1100 3 F 442 1230 71 792 30 93.20 18M1I12M1I2M1I38M1D5M1D3M1D4M1I6M1D9M1D17M1I15M1I12M1I294M
+413 1100 26 F 414 1360 1 704 41 90.08 9M1I3M1I10M1I8M1D2M1I8M1I4M1D6M1D12M1D5M1I7M1D334M
+444 1120 0 F 439 1297 36 772 37 91.62 8M1D20M1D5M1D3M1I1M1D9M1D9M1I1M1D16M1D21M1D13M1I20M1D128M1I181M
+419 1120 0 F 419 1327 17 715 41 90.21 7M1D31M1I1M1D9M1D2M1I7M1I1M1D16M1D34M1I150M1I156M
+409 1143 0 F 409 1151 47 734 28 93.15 3M1I3M1I9M1I1M1I9M1I24M1D8M1D12M1D2M1I6M1D7M1D25M1D294M
+407 1143 2 F 407 1230 106 742 24 94.10 11M1I2M1I10M1I10M1D10M1D11M1D12M1D2M1I6M1D21M1I307M
+405 1143 0 F 405 1360 10 681 43 89.38 13M1I1M1I1M1I6M1D2M1I1M1I1M1I6M1D16M1D8M1D2M1I10M1D2M1I6M1D7M1D25M1D290M
+456 1151 0 F 463 1230 50 844 25 94.56 3M1I15M1I3M1I5M1I9M1I1M1D3M1I19M1I7M1D19M1D50M1I13M1I12M1I294M
+412 1151 40 F 414 1360 1 742 28 93.22 3M1D11M1I4M1I4M1I3M1D5M1D2M1I3M1I6M1D30M1I337M
+436 1210 50 F 431 1516 1 786 27 93.77 8M1D22M2D3M1I6M1D1M1D12M1D4M1D7M1D21M1I26M1I318M
+443 1226 5 F 421 1296 26 732 44 89.81 5M1D1M1D2M1D8M1D1M1D1M2D8M1D2M1D8M1D2M1D3M1D2M1D4M1D4M1D8M2D14M1D3M1D14M1D7M1I4M1D4M1D7M1I8M1D43M1D256M
+414 1230 95 F 414 1360 1 735 31 92.51 5M1D9M1I9M1I8M1D2M1I8M1I31M1I22M1D13M1D12M1D290M
+404 1268 97 F 411 1627 3 746 23 94.36 5M1D12M1I7M1I9M1I7M1I9M1I320M1I14M1I17M1I3M
+395 1268 101 F 405 1747 0 713 29 92.75 3M2D9M1I7M1I9M1I7M1I9M1I281M1I13M1I5M1I6M1I7M1I7M1I9M1I6M1I10M1D4M
+451 1294 10 F 463 1786 0 740 58 87.31 3M1I1M1I16M1I7M1I25M1I5M1I14M1I10M1I17M1I8M1I11M1I82M1I108M1D4M2I43M1I1M1D21M1I14M1D4M1I28M1D4M1D20M
+429 1297 21 F 436 1327 0 754 37 91.45 6M1I6M1I16M1I7M1D7M1I3M1I18M1I51M1I29M1I285M
+445 1362 1 F 425 1500 52 732 46 89.43 6M1D1M1D15M1I5M1D7M1D1M1D7M1D7M1D24M1D24M1D4M1D2M1D4M1D5M1D3M1D8M1D9M1D1M1D19M1D4M1D9M1D24M1D235M
+477 1620 0 F 478 1796 6 832 41 91.41 301M1D20M1D37M1D4M1I24M1I2M1D11M1I19M1I10M1I11M1I24M1D9M
+446 1620 20 F 439 1937 0 762 41 90.73 281M1D20M1D36M1D31M1D2M1I6M1D16M1D3M1I3M1D7M1I3M1D9M1D8M1D11M
+403 1627 8 F 408 1747 0 754 19 95.31 330M1I13M1I5M1I4M1I9M1I17M1I17M1D7M
+415 1663 0 F 414 1893 27 700 43 89.63 249M1D18M1I6M1D17M1I9M1D6M1I12M1D12M1D12M1I2M1D10M1D8M1D12M1I7M1I1M1I6M1D6M1I13M
+438 1696 0 F 439 1781 23 748 43 90.19 333M1I21M1I7M1D15M1D6M1I11M1I6M1D11M1I12M1D12M
+433 1745 0 F 427 1764 1 776 28 93.49 348M1D13M1D20M1D14M1D2M1D18M1D12M
+458 1745 0 F 455 1767 0 829 28 93.87 346M1I2M1D7M1I23M1I4M1D14M1D2M1D6M1I13M1D21M1D7M1D6M
+450 1745 9 F 443 1882 0 809 28 93.73 18M1D320M1D13M1D20M1D14M1D2M1D9M1I1M1D5M1D24M1D2M1D7M1I3M1I2M
+427 1764 1 F 432 1767 0 796 21 95.11 346M1I9M1I8M1I14M1I31M1I19M
+416 1764 10 F 415 1882 0 783 16 96.15 18M1D397M
+403 1764 7 F 417 1896 0 700 40 90.24 21M1D235M1I46M1I4M1I3M1I6M1I4M1I3M1I6M1I8M1I9M1I8M1I5M1I12M1I9M1I21M1I2M
+446 1767 9 F 440 1882 0 826 20 95.49 18M1D318M1D9M1D8M1D14M1D31M1D5M1D1M1I16M1D4M1I14M
+405 1767 6 F 413 1896 0 710 36 91.20 21M1D235M1I46M1I4M1I3M1I6M1I4M1I3M1I6M1I8M1I3M1D6M1I3M1D5M1I28M1I5M1D15M
+494 1788 0 F 499 1850 9 882 37 92.55 373M1D49M1I1M1D3M1D9M1I9M1I3M1D13M1I7M1I2M1I8M1I4M1I5M1I4M
+449 1796 26 F 439 1937 0 759 43 90.32 342M1D24M1D13M1D15M1D11M1D6M1D4M1D5M1D8M1D7M1D4M
+458 1802 3 F 471 1877 0 827 34 92.68 313M1I28M1I12M1I24M1I5M1I11M1I6M1I10M2I5M1D9M1I13M1I1M1I2M1I13M1I5M
+435 1828 6 F 446 1947 0 734 49 88.88 276M1D20M1I8M1I10M1I8M1I10M1D14M1D5M1I7M1I6M1I9M1I7M1D8M1I2M1I3M1I3M1I4M1I27M2I4M
+399 1882 0 F 414 1896 3 705 36 91.14 253M1I46M1I4M1I3M1I6M1I4M1I3M1I6M1I8M1I9M1I8M1I5M1I12M1I9M1I21M1I2M
+414 299 0 P 420 883 20 729 35 91.61 210M1I3M1I53M1I50M1I15M1I12M1I3M1I28M1I5M1D2M1I1M2D10M1I11M1D7M
diff --git a/testdata/see-ext-at1MB-400-cigarX.matches b/testdata/see-ext-at1MB-400-cigarX.matches
new file mode 100644
index 0000000..f6bdffa
--- /dev/null
+++ b/testdata/see-ext-at1MB-400-cigarX.matches
@@ -0,0 +1,231 @@
+# Options: -ii at1MB -l 400 -outfmt cigarX -minidentity 80 -history 60
+# Fields: s. len, s. seqnum, s. start, strand, q. len, q. seqnum, q. start, score, editdist, % identity, cigarX
+597 1 0 F 592 4 7 898 97 83.68 3=1X1=1X1=1X3=1X9=1X9=1X2=1D1=1I2=1X5=1X20=1X6=1X8=1X11=1X6=1X17=2X12=1D1=1X1=1X1I15=1X1=1X1=1I3=2I8=1X11=1X17=1X11=1X8=1D2=1I21=1X3=1X13=1X17=1X14=1X6=2X1I3=1X1=1D4=2X4=1X10=1X8=1X5=1X9=1I2=1I4=1D1=1D3=2X3=1X35=1X3=1X4=2X2=1X1=1X9=1X13=3X1=1X1=1D9=1X3=1X4=1X8=1X5=1X3=2X10=1X3=1X1D2=1I24=1I2=1D4=1I2=1D3=1D6=3X7=1D5=1D1=1X1=1D1=1X2=1D1=1D2=1X2=1X3=1D2=1X2=
+538 1 9 F 523 47 0 779 94 82.28 2=1X9=1X9=1X2=2X2=1X5=1X20=1X6=1X8=1X11=1X6=1X17=2X12=1D1=1X1=1X1I15=1X1=1X1=1I3=2I8=1X11=1X17=1X11=1X8=1D2=1I21=1X3=1X13=1X17=2X13=1X6=2X1I3=1X1=1D4=2X1=1X2=1X10=1X8=1X5=1X9=1I2=1I4=1D1=1D3=2X1=1I3=1D34=1X3=1X5=1D1=1I1=1X1=1X2=1D4=1D1=1X13=1I1=2D1=1D1=1D3=1X4=2X1=1D1=1X4=1X8=1D5=1X1=1X1=2D3=1D7=1D2=2D2=1X4=1D2=1D2=1D1=1D4=1D6=1D2=1X2=1I1X5=
+577 2 72 F 606 3 0 916 89 84.95 11=1X3=1X4=1X8=1X5=1X3=2X10=1X3=1X1D2=1I24=1X3=1X3=2X8=1X1=1X21=1X2=1X5=1X3=1X1=2X2=1X13=1X20=1X62=1X33=1X19=3X3=1X5=1X28=1X21=1X7=1X47=2X2=1X5=1X1=1X5=1I2=1X1=1I5=1I10=2I3=1X3=1X2=1I7=1X5=1X1=1I4=1I4=1I2=1X2=1X2=1I1=1X2=1X2I3=1X1I2=1I5=1X5=1X1=1X1=1I6=1I3=1I3=1X1=1I5=2I3=1I5=1I8=1I1X1=1I2=1X1=1I1=1X2=1I1=1I1=1I1X5=1I2=1X2=
+626 2 34 F 656 5 0 1063 73 88.61 5=1X2=1X1=1X9=1X13=3X12=1X3=1X4=1X8=1X5=1X3=2X10=1X3=1X1D2=1I24=1X7=2X8=1X1=1X21=1X2=1X5=1X3=1X1=2X2=1X13=1X21=1X178=1X55=1X1=1X14=1I3=1X1=1I5=1I10=1I7=1X2=1I7=1X5=1X1=1I4=1I4=1I7=1I7=1I2=1I3=1I5=1X7=1I8=1I3=1I3=1X1=1I5=1I3=1I5=1I8=1X1I1=1I5=1I3=1I1=1I2=1I5=1I2=1X2=1I1=1I3=1I1=1I6=
+484 2 176 F 513 6 104 730 89 82.15 6=1X8=1X5=1X2=1X1I1=1X2=2X3=1X1=2X2=1D1=1I2=3X1=1X1=1X3=2X10=2X7=1X62=1X33=1X19=3X3=1X5=1X28=1X21=1X7=1X47=2X2=1X5=1X1=1X5=1I2=1X1=1I5=1I10=1I3=1X3=1X2=1I7=1X5=1X1=1I4=1I3=1X1I2=1X2=1X2=1I1=1X2=1X1I3=1X1I2=1I9=1I2=1X1=1X1=1I6=1I3=1I3=1X1=1I5=1I3=1I5=1I8=1X1I1=1I2=1X1=1I2=1X1=1I1=1I1=1I1X5=1X1=1I1X2=1X1=1X2=1I2=1X3=
+706 2 0 F 749 16 84 1269 62 91.48 4=1X316=1X165=1X1=1X14=1I3=1X1=1I5=1I10=1I10=1I7=1X5=1X1=1I4=1I4=1I7=1I7=1I2=1I3=1I13=1I8=1I3=1I3=1X1=1I5=1I3=1I5=1I8=1X1I1=1I5=1I3=1I1=1I2=1I5=1I2=1X2=1I1=1I3=1I1=1I6=1X1I2=1X1I1=1X1=1I2=1I2=1X1I1=1X2=1D2=1I2=1I4=3I3=1I1=1I2=1I3=1I5=1X3=1X2=
+660 2 0 F 687 39 0 1065 94 86.04 4=1X63=3X12=1X3=1X4=1X8=1X5=1X3=2X10=1X3=1X1D2=1I24=1X7=2X8=1X1=1X21=1X2=1X5=1X3=1X1=2X2=1X13=1X83=1X11=1X4=1X36=3X3=1X34=1X21=1X7=1X47=2X2=1X5=1X1=1X5=1I2=1X1=1I5=1I10=1I3=1X3=1X2=1I7=1X5=1X1=1I4=1I3=1X1I2=1X2=1X2=1I1=1X2=1X1I3=1X1I2=1I5=1X5=1X1=1X1=1I6=1I3=1I3=1X1=1I5=1I3=1I5=1I8=1X1I1=1I2=1X1=1I2=1X1=1I1=1I1=1I1X5=1X1=1I1X2=1X1=1X2=1I2=1X3=
+668 3 0 F 660 5 38 1139 63 90.51 87=1X91=1I2=1D60=1X33=1X19=3X3=1X5=1X28=1X29=1X48=1D1=1X1=1I5=1X1=1X4=1X22=1D4=1X6=1X28=1X2=1X1=1I1=1D1=1X2=2X1D4=1X8=1X5=1X3=1X23=1D3=1X20=1X1=1D3=1I5=2X5=1X9=1X1=1X1D4=1X3=1D1=1X1=1X1=1X1=2X1I1=2D3=1I7=2X2=1X3=1X1=2D3=1D4=1X2=
+639 3 14 F 631 6 14 1063 69 89.13 5=3X4=2X1=1X2=1X5=2X2=2X2=1X3=1X7=4X5=4X6=1X9=1X5=1X1=1X3=4X7=1X8=1X8=1I2=1X2=1X11=1X2=3X1=1X1=1X4=1X10=2X7=1X275=1D36=1X14=1D15=1X3=1I30=1D3=1X24=1D3=1I4=1X5=2X8=4D12=1X2=2X1=3D2=1X8=1X2=1X3=
+655 3 0 F 650 16 156 1047 86 86.82 11=1X3=1X4=1X8=1X5=1X3=2X10=1X3=1X1I2=1D24=1X3=1X3=2X8=1X1=1X21=1X2=1X5=1X3=1X1=2X2=1X13=1X20=1X62=1X6=1X26=1X19=3X3=1X5=1X28=1X21=1X7=1X48=1D1=1X1=1I5=1X1=1X4=1X22=1D4=1X3=1X2=1X28=1X2=1X1=1I1=1D1=1X2=2X1D4=1X8=1X5=1X3=1X23=1D3=1X20=1X1=1D3=1I5=2X5=1X9=1X1=1X1D1=1X2=1X3=1D1=1X1=1X1=1X1=1D4X3=1I1X6=2X2=1X5=
+653 3 0 F 643 39 72 1203 31 95.22 20=1X66=1X91=1X74=1X4=1X16=1X31=1X146=1D36=1X14=1D15=1X33=1D3=1X24=1D3=1I4=1X5=2X8=4D12=1X2=2X1=3D2=1X8=1X2=1X3=
+613 4 16 F 571 47 0 1022 54 90.88 273=1X35=1X53=1X46=1X1=1X6=1D4=1D16=1D2=1D4=1X4=1X2=1D1=1X4=1X8=1D7=1D1=1D4=1D6=1D4=1D3=1D3=1D2=1D2=1D1=1D4=1D5=1D1=1X1=1D2=1D1=1D1=1D2=1D2=1D2=1D2=1D1=1D5=1D6=1X1=1D2=1D1=1D2=1X3=1D2=1D3=1D4=2D1=1D5=3D3=1D2=1D3=
+704 5 52 F 700 6 14 1056 116 83.48 5=3X4=2X1=1X2=1X5=2X2=2X2=1X3=1X7=4X5=4X6=1X15=1X1=1X3=4X7=1X8=1X8=1I2=1X2=1X11=1X2=3X1=1X1=1X4=1X10=2X7=1I1=1D61=1X33=1X19=3X3=1X5=1X28=1X29=1X48=1I1=1X1=1D5=1X1=1X4=1X26=1X6=1X24=1X3=1X2=1X1=1D1=1I1=1X2=2X4=1X8=1I6=1X3=1X47=1X1=1X2=1X5=1X7=1X9=1X1D1=1I8=1X2=1X2=1X1=1D3=1D1=2D1=1D3=1X8=1X1=1X1D1=1I12=2D3=2X1=2X1=1I3=2X2=1X3=1I1=1I1=1I2=1D1X6=1X2=1X2=2D1=1X1=1D4=1I2=
+742 5 0 F 746 16 118 1323 55 92.61 5=1X2=1X1=1X9=1X13=3X12=1X3=1X4=1X8=1X5=1X3=2X10=1X3=1X1I2=1D24=1X7=2X8=1X1=1X21=1X2=1X5=1X3=1X1=2X2=1X13=1X21=1X68=1X109=1X103=1X57=1X89=1X13=1X1=1X5=1X14=1X1=1X2=1D3=1X2=2I2=1I1=2I5=1X4=1X5=1X11=1X2=1X6=1X2=
+756 5 0 F 750 39 34 1275 77 89.77 5=1X2=1X1=1X9=1X37=1X159=1X61=1X11=1X4=1X36=3X3=1X34=1X29=1X48=1I1=1X1=1D5=1X1=1X4=1X26=1X6=1X24=1X3=1X2=1X1=1D1=1I1=1X2=2X4=1X14=1X3=1X47=1X1=1X2=1X5=1X7=1X9=1X1D1=1I8=1X2=1X2=1X1=1D3=1D1=2D1=1D3=1X8=1X1=1X1D1=1I12=2D3=2X1=2X1=1I3=2X2=1X3=1I1=1I1=1I2=1D1X6=1X2=1X2=2D1=1X1=1D4=1I2=
+599 6 104 F 601 16 260 915 95 84.17 6=1X8=1X5=1X2=1X1D1=1X2=2X3=1X1=2X2=1I1=1D2=3X1=1X1=1X3=2X10=2X7=1X62=1X6=1X26=1X19=3X3=1X5=1X28=1X21=1X7=1X48=1D1=1X1=1I5=1X1=1X4=1X26=1X3=1X2=1X24=1X3=1X2=1X1=1I1=1D1=1X2=2X4=1X12=1D2=1X3=1X47=1X1=1X2=1X5=1X7=1X9=1X1I1=1X1D7=1X2=1X2=1X1=1I3=1I2=3I3=1X7=3X1D1=1X3=1X2=2X1=1X1=1X11=2X1=1X3=1D2=1D1=1D1X3=1X4=1X1=2I3=1I2=
+783 6 14 F 788 39 86 1400 57 92.74 5=3X4=2X1=1X2=1X5=2X2=2X2=1X3=1X7=4X5=4X6=1X15=1X1=1X3=4X7=1X8=1X8=1D2=1X2=1X11=1X2=3X1=1X1=1X4=1X10=2X7=1X74=1X4=1X16=1X31=1X212=1D178=1X57=1I7=1I4=1I3=1X10=1I2=1I6=1I3=1I2=
+467 11 135 F 449 29 138 766 50 89.08 8=1D2=3X1=3X4=1X1=1X1=1D87=1X63=1X1=1X2=1X56=1X51=1X5=1X1=1X24=1X2=1X1=1X2=1X9=1X11=1X2=1D10=1D7=3X3=1X2=1X2=1X3=1X1=2D2=1D3=1X3=1D3=1D6=1D5=1D2=1D7=1D5=1D2=1D5=1D1=1X1=1D1X7=1D3=
+767 16 84 F 766 39 0 1248 95 87.61 68=3X12=1X3=1X4=1X8=1X5=1X3=2X10=1X3=1X1D2=1I24=1X7=2X8=1X1=1X21=1X2=1X5=1X3=1X1=2X2=1X13=1X83=1X6=1X4=1X4=1X36=3X3=1X34=1X21=1X7=1X48=1I1=1X1=1D5=1X1=1X4=1X26=1X3=1X2=1X24=1X3=1X2=1X1=1D1=1I1=1X2=2X4=1X8=1X5=1X3=1X47=1X1=1X2=1X5=1X7=1X9=1X1D1=1X1I7=1X2=1X2=1X1=1D3=1D2=3D3=1X7=3X1I1=1X3=1X2=2X1=1X1=1X11=2X1=1X3=1I2=1I1=1I1X3=1X4=
+397 18 0 F 417 46 194 634 60 85.26 19=1X37=1X26=1X68=1X3=1X30=1X6=1X5=1X10=1X3=1X11=1X6=1X5=1X6=1X2=1X9=1X2=1X2=1I2=1X1=1X4=1X5=1X10=1X1=1I6=1X4=1I11=1X1=1X1=1X1I2=1X1=1I3=1I2=2X1I1=1X1=1I1=1X2=1I5=1X1=1X1=1I1=1X2=1I7=1I4=1I1=1X1=1X1=1I1=1X1=1I3=1I5=1I1=1X1=1X1=1I1X2=1I2=1I7=
+458 34 157 F 442 1317 0 789 37 91.78 3=1D3=1X1D2=1X1D3=1D2=1D2=1D1=1X2=1X4=1D1=1X1=1D6=1D1=1I1=1D5=1D3=2X12=1D2=1D5=1X6=1D5=1X16=1D30=1X116=1X107=1D8=1X1=1D37=1X5=1X12=1X5=1X4=1X3=1X1=1X7=
+399 35 140 F 402 72 145 717 28 93.01 3=1I3=1X1I3=2X5=1I1X3=1I4=1X1=1X1=1X2=1I1X2=1D3=3I1=4X2=1D220=1X52=1D31=1X21=1X12=1D7=1D3=
+430 61 134 F 438 65 137 787 27 93.78 3=2X3=2D5=1X1I2=1X1=1I201=1D2=1X68=1X20=1D29=1I12=1X17=1X2=1X9=1I8=1X4=1I6=1X2=1I5=2I6=2I2=1I3=1I5=
+517 64 0 F 517 65 0 1034 0 100.00 517=
+461 78 86 F 459 80 149 800 40 91.30 4=1D1=1D2=1X23=1X14=1X22=1X13=1X11=1X23=1X31=1X25=1X16=1X4=1X7=1D7=1X1=1X37=2X18=1X7=1X9=1X8=1D8=2X13=1D8=1X3=1X1=1X18=1X12=1X4=1X1=1X2I1=1I12=1X14=1X16=1X7=1X18=1X5=
+542 78 223 F 540 1488 8 995 29 94.64 3=1X1=1I4=1X3=1D5=1I4=1D1=1X1=1D2=1D1=1I1X5=1I1X3=1X2=1X8=1X3=1D6=1X5=1I8=1D1=1I2=1X2=1D8=1D3=1I5=1D10=1X9=1X13=1X402=
+568 79 56 F 568 1495 0 1022 38 93.31 2=1D5=1D10=2X12=1X1=1X3=1X3=1D1=1X4=1X1=1X3=1X1=2X3=1X2=1I4=2X1D12=1X1=1X8=1I7=1D4=1I4=1X9=1X4=2X6=1X1=1I6=1X2=1X2=1I6=1X1=1I5=1D5=1I14=1D385=
+417 223 0 F 414 271 2 801 10 97.59 3=2D47=1X33=1X10=1X235=1X24=1X24=1D4=1X2=1X25=
+418 229 0 F 419 270 0 828 3 99.28 392=1X16=1I5=1X3=
+418 318 13 F 428 1693 142 621 75 82.27 4=1I2=1X3=1X2=1I4=1I9=1X3=1I2=1I6=1X11=1I2=1X11=1I1=1X5=1D15=1D12=1X9=1D12=1D10=1D3=1I59=1X7=1I5=1I5=1X1I5=1X4=1X1=1I4=1I5=1I8=1I5=1I6=1X1I2=1I5=1I8=1I7=1X1I3=1I5=1X1=1X5=1I4=1X2=1I14=1X1D9=1D4=1I2=1X8=1I3=1I2=1X2=1D1=1X1=1X2=1D6=1D8=1I1=1D2=1X1=2X1=1D2=1D3=1D2X4=1X1=1D2=1D1X1=1X4=1D2=1D3=
+405 336 36 F 419 1703 0 734 30 92.72 3=1I7=1X37=1X26=1X221=1X16=1X1=1I4=1I2=1X4=1I6=1I3=1X1=1I4=1X3=1I5=1X1=1I5=1I5=1X1I5=1X1I5=1I2=1X3=1X4=1I1=1X2=1I5=1X3=1X5=
+439 376 0 F 450 1694 81 703 62 86.05 3=1I1=1X2=1I6=1I2=1X6=1X1I5=1I4=1I1=1X9=1X2=1I1X3=1X11=1I26=1I4=1X8=1I15=1I7=1I34=1X66=1X25=1X15=1I40=1X1=1I4=2X1=1X8=1I9=1X6=2X3=1X1=1X1=1D1=1X2=1X1=1I6=1X5=2X5=1D2=1X1=1I6=2X1=1X1D1=1X3=1X4=1X1=1D2=1D4=2X1=1I6=1D2=1X1=1D3=1X3=1X5=
+400 380 1 F 408 451 26 766 14 96.53 4=1X3=1I3=2X1I4=1X1I3=1I12=1X7=1I4=1I3=1I5=1I85=1X261=
+403 380 0 F 406 630 10 722 29 92.83 3=1X3=2X5=2X3=1I2=1X3=2X4=1X2=1X7=1X1=1X1=1X3=1I1=1X8=1X2=1X18=1X9=1X1=1X2=1X1=1I4=1I1=1D19=1X2=1X9=1X1=1X263=
+401 380 0 F 404 736 106 784 7 98.26 5=1X6=1I11=1I11=1X11=1X2=1I90=1X261=
+400 380 3 F 403 846 215 773 10 97.51 2=1X3=1I3=1X10=1I11=1X11=1X2=1I90=1X29=1X11=1X221=
+403 380 0 F 407 902 16 783 9 97.78 5=1X14=1I5=1I1=1X7=1X1=1I10=1X2=1I90=1X263=
+401 380 2 F 408 1100 35 740 23 94.31 6=2X1I2=1X10=1I2=1X5=1X2=1X3=1I5=1I3=1I3=1X1=1X2=1X1=1I4=1X4=1I17=1X19=1X11=1X24=1X252=1X1=1X8=
+401 380 2 F 407 1143 2 721 29 92.82 2=1X3=1X3=1X2=1D6=1I3=1D3=1X1=1X1=1I1=1X11=1I3=1I2=1X2=1X1=1I4=1X3=1X3=1I2=1D4=1X1=1I7=1I8=1X11=1X4=1I30=1X133=1X14=1X105=1X8=
+403 380 0 F 407 1151 49 786 8 98.02 5=1X13=1I4=1I11=1X1I11=1X2=1I90=1X263=
+403 380 0 F 409 1230 104 773 13 96.80 4=2X2=1X1=1I13=1I8=1X2=1X14=1I5=1X29=1I13=1I12=1I30=1X263=
+399 380 0 F 406 1360 9 730 25 93.79 4=1X1I5=1I4=1I5=1X4=1I3=1I2=1X1=1X2=1X11=1X2=1I9=1X3=1I5=1X17=1X28=1X24=1X14=1X13=1X19=1X41=1X134=1X21=1X6=1X4=
+475 404 165 F 466 819 35 809 44 90.65 2=1D3=1D2=2X1=1X2=1X1=1X3=1D2=1D1=1X4=1D3=1X3=1D3=1D1=1D3X1=1I6=1D1X6=1D1=1X1=1X1=1X2=1D3=1I4=1D6=1X6=1D2=2X20=1X3=1X1=1I15=1X3=1X18=1X12=1I12=1X123=1X3=1X32=1X19=1X104=
+418 404 186 F 420 975 52 760 26 93.79 5=1X4=1D3=1X3=1D3=1X1=4X1=1I6=1X2=1X8=1I2=1X5=1X11=1X37=1I15=1X13=1X8=1X12=1I12=1X123=1X3=1X32=1X19=1X68=
+420 404 213 F 444 1362 2 699 55 87.27 2=1I2=1I3=1X1=1X2=1I1=1X4=1X3=1X2=1I3=1X3=1I7=1I2X7=1I3=1X2=1X17=1X2=1X1=1I1=1I1=1X7=1I5=2X1I3=1X1I2=1I4=1I5=1I3=1I2=1X1=1X2=1X1I5=1X3=1X1=1X1=1X2=3I5=1X3=1X2=1I4=1I9=1I14=1X9=1I80=1X3=1X32=1X19=1X91=1X5=
+453 404 187 F 455 1500 29 806 34 92.51 4=1X4=1D3=1X3=1D4=1I1=2X1=1X7=1X6=1X2=1X1=1I2=1X5=1X4=1D5=2X9=2X5=1X3=1X10=1X3=1X1=1I9=1I6=1X3=1X18=1X12=1I12=1X123=1X3=1X32=1X19=1X104=
+434 406 8 F 430 542 0 771 31 92.82 7=1X1=1X1=3X1=1D2=1D1=1X6=1X1=2X4=1D7=1D2=1X8=1D5=1D2=1X14=1X4=1X1=1I3=1X1I21=1X38=1X33=1X6=1X31=1X114=1X19=1X11=1X1=1X61=
+402 406 40 F 413 1056 0 713 34 91.66 3=1X10=1X1I9=1D7=1I3=1D1=1I10=1X4=1X2I2=1I2=1X18=1X1D3=1I7=1I8=1X1I2=1I11=1I1=1X2=1I4=1X10=1I2=1I21=1X6=1X8=1X22=1X114=1X19=1X11=1X1=1X61=
+430 412 83 F 436 1525 0 755 37 91.45 3=1I1=1X1=1X4=1X5=1I1=1I6=1I2=1I2=1X3=1X2=1X4=1X3=1I3=1X3=1X7=1X4=1I3=1I1=1D1=1X3=1I3=1I1X1=1D5=1D3=1X3=1I1=1I7=1D4=1D2=1X3=1I30=1D20=1D26=1X159=1X53=1X24=
+434 426 27 F 429 795 0 722 47 89.11 4=1X1=1X5=1D4=1D9=1D2=1X2=1D4=1X3=1X2=1X1=1I3=1D2=1D1=1X1=1X4=1D5=1D4=1I6=1X2=1D1=1I4=1X2=1X1=1X3=1X5=1D6=1I4=1D3=1I19=1I1=1X3=1D1=1D6=1X6=1X4=1X18=1I29=1I41=1X17=1X6=1X13=2X2=1X55=1X69=2X11=
+409 432 9 F 410 652 0 735 28 93.16 2=1X3=1X2=1I11=1X1=1X1=1I5=1D1=1X1=1D6=1X1=2D2=1X2=1X1=1X7=1I4=1X5=2X1=1I11=1I6=1X1=1D6=1I13=1X9=1X11=1X37=1X237=
+422 432 0 F 423 825 61 791 18 95.74 2=1I1=1D5=1I2=1X1=1X1=1X1=1D6=1X8=1X14=1X2=1I1=1D1=1X10=1X11=1X7=1I29=1I9=1D298=
+397 432 0 F 403 1469 51 728 24 94.00 3=1X5=2I2=1X2=1I1=1X1=1X15=1X5=1I1=1X7=1I4=1D3=1X1=1I5=1I5=1X3=1I2=1X3=1I8=2X12=1D8=1X13=1D273=
+423 449 0 F 421 868 143 802 14 96.68 6=1X7=1X1D4=1I1=1X8=1D2=1X1=1D24=1X6=1D13=1I2=1I16=1X19=1D303=
+434 451 0 F 427 736 83 825 12 97.21 12=1X1=1D10=1D8=1D3=3X4=1X1D24=1D7=1D6=1D347=
+434 451 0 F 427 846 189 816 15 96.52 18=1X5=1X1D2=1D5=1X3=2X1D4=1X1D24=1D7=1D6=1D115=1X11=1X219=
+424 451 10 F 420 902 1 787 19 95.50 2=1X5=2X1=1I4=1D8=1D3=1X1D1X4=2X3=1D2=1I2=1X7=1I1X4=1D10=1D6=1D347=
+434 451 0 F 429 1100 12 764 33 92.35 9=1D2=1X5=1X1=1X1=1D2=2D3=1D2=3X2=3X4=1D1X7=1X5=1X2=1X1=1I6=1X4=1X3=1D1X1=1X3=1X5=1X4=1I17=1X19=1X11=1X277=1X1=1X6=
+434 451 0 F 428 1151 26 823 13 96.98 9=1D2=1X12=1D8=1D3=2X1D4=2X16=1I8=1D7=1D6=1D347=
+434 451 0 F 431 1230 80 805 20 95.38 12=1D2=1I5=1X4=1D3=1X3=1X1D3=3X4=1X1D13=1X2=1X7=1D4=1D10=1D29=1I13=1I12=1I292=
+417 451 15 F 414 1360 1 726 35 91.58 3=1D3=1X2=1D3=1X1=1I3=2X2=3X4=1D2X2=1D2=1I3=1I2=1X1=1X10=1D4=1X2=1D6=1D4=1X3=1I5=1X17=1X28=1X24=1X14=1X13=1X19=1X41=1X134=1X21=1X6=1X4=
+415 452 0 F 413 882 3 750 26 93.72 2=1I4=1D5=1X2=1I1=1X2=1X2=1X4=1X1D17=2X3=1X2=1D6=1I4=1D6=1I2=1X1D4=2X4=1X5=1X21=1D12=1D6=1X17=1I263=
+424 454 70 F 432 1837 0 793 21 95.09 2=1D1=1X79=1D1=1X2=1I9=1X11=1X51=1X39=1X84=1X47=1I33=1I2=1I3=1I11=1X2=1I15=1X8=1I2=1I3=1I2=1I6=
+453 460 27 F 452 1351 0 821 28 93.81 5=1D1=1D4=1I3=1I3=2X1=1X3=1X4=1D2=1I6=2X7=1X12=1D3=1I1=1I4=1X2=1X3=1X8=1X3=1X54=2X11=1D10=1X6=1X21=1D137=1X116=
+492 474 48 F 480 543 0 903 23 95.27 4=1D2=1D3=1D7=1D5=1D3=1X6=1D6=1X4=1D2=1D5=1D1=1X11=1D11=1X1=1X1=1D5=1X4=1X5=1X16=1I2=1D11=1X30=1D325=
+540 474 0 F 522 658 80 975 29 94.54 2=1D10=1D1=1D11=1X3=2X1=1X3=1D8=1D1=2X1=1D6=1X3=1D2=1D14=1D1=1I2=1D11=1D2=1D6=1X3=1D7=1D15=1D5=1X20=1D40=1D10=1D61=1D263=
+454 474 86 F 440 713 0 786 36 91.95 2=1X2=1D2=1D1=1X1=1D3=1X2=1X4=1D1=1X1=1X2=1D6=1D3=1D1=1D2=1X4=1D2=1D1X1=1X1=1X3=1D1=1X2=1X5=1I2=1X1=1D5=1D1=1X2=1X2=1X3=1X11=1I12=1D4=1D1=1D58=1X266=
+423 474 0 F 408 736 18 693 46 88.93 2=1D3=1D2=1D7=1D5=1I2=1D1=1X3=1D2=1D1X6=1I2=1D1X6=1D6=1D3=1X3=1D15=1I2=1X1=1D21=1X18=1X6=1D5=1X19=1X15=1X36=1D62=1X97=2X1=1X5=2X2=1X4=1X1D2X1=1D2=1I4=1I4=3D1=1X6=1D2=
+435 474 105 F 433 798 0 811 19 95.62 9=1X1=1X7=2X5=1X2=1D3=1X2=1D4=1X12=1I4=1D6=2X17=1X20=1X3=1D89=1I128=1X95=1X11=
+480 474 35 F 479 826 2 914 15 96.87 9=1X7=1X6=1X14=1X13=1I7=1I14=1D23=1X1=1D5=1X4=1X14=1X24=1X27=1D247=1X52=
+423 474 0 F 418 846 114 685 52 87.63 7=1I1=1I3=1X2=1D2=1X11=1I2=1X1=1I1=1X2=1X4=1I8=1X1=1D6=1X3=1X2=1D5=1X1=1D8=1I2=1X5=1X5=1X2=1D6=1I4=1D16=1X6=1D5=1X19=1X15=1X36=1D56=1X5=1X5=1X91=2X1=1X5=2X2=1X4=1X1D2X1=1D2=1I4=1I4=3D1=1X6=1D2=
+422 474 118 F 417 849 0 758 27 93.56 17=1D5=1X4=1I1=1X12=1X1=1D16=1X3=1X2=1X9=1X6=1D3=1X1=1X3=2X2D46=1X6=1X2=1X16=1X15=1X1=1X2=1X61=1D9=1X78=1X77=
+488 474 47 F 483 912 0 932 13 97.32 5=1D13=1D11=1D1=1I11=1D15=1X27=1D5=2X9=1X10=1D46=1I4=1D320=
+407 474 57 F 407 988 0 664 50 87.71 2=1D3=1X8=1X1=1X2=1D4=1X2=1X9=1I1X4=1X1=1X2=2X4=1X4=1X2=1X6=1I9=1X4=1I1=1X20=1D14=1X36=1D17=1X8=1X35=1X47=1X38=1X2=1X6=1I3=1X1D15=2X5=1X3=1X1=1D8=1I3=1D1=1X1=1X9=3X7=1X8=1I3=1X1=1I1X1=1X4=
+419 474 45 F 417 1049 0 722 38 90.91 2=1X4=1X2=2X6=1X5=1D15=1X15=1D18=1X12=1X1=1D5=1X19=1X9=1I6=1X36=1D62=1X86=1X2=1X6=1I3=1X1D15=2X5=1X3=1X1=1D8=1I3=1D1=1X1=1X9=1X9=1X8=1I3=1X1=1I1X1=1X4=
+453 474 87 F 444 1120 0 798 33 92.64 4=1D7=1D2=1X2=1D4=1D2=1X8=1X1=1X5=1D1=1I1=1D4=1X2=1X2=1X1=1X5=1D1=1I1=1X7=1D1=1X5=1X1=1X5=1X3=1X4=1X4=1X13=1D6=1D58=1X84=1D56=1X44=1X54=1X24=
+422 474 1 F 425 1230 2 679 56 86.78 3=1D1=1X2=1I8=1X2=1I3=1I4=1X1I3=1X2=1D1=1I8=1X4=1I3=1X5=1X2=1X1=1I1X19=1I2=1D2=1I5=1X7=1X3=1X22=1I2=1D2=1X1=1D5=1X4=1X8=1X5=1X15=1X7=1I13=1I12=1I4=1D62=1X97=2X1=1X5=2X2=1X4=1X1D2X1=1D2=1I4=1I4=3D1=1X6=1D2=
+500 474 40 F 475 1297 0 852 41 91.59 4=1D7=1D4=1D1=1D2=1D2=1D1=1D2=1X2=1D1=1D1=1X2=1D3=1D1=1X4=1D4=1D1=1D1X3=1D1=1X1=1D4=1X7=1D5=1D3=1X2=1D1X6=1D1X1=1X1=1X5=1X5=1X2=1D9=1D1=1X9=1X10=1D19=1D14=1D4=1X305=
+447 474 68 F 436 1327 0 775 36 91.85 5=1D5=1D3=2X6=1D3=1D3=1D1=1X3=1X1=1D4=1D1=1X9=2X4=1X2=1D1X3=1X2=2X1=3X5=1X2=1X2=1X2=1D6=1X2=1D4=1X6=1X12=1X1=1X15=1D36=1X19=1X243=
+409 480 46 F 398 926 0 744 21 94.80 3=1X5=1D1=1D1=1X3=1X3=1D3=1X3=1D10=1D2=1D1=1X3=1D6=1D3=1D9=1D5=1X8=1D3=1X1=1X10=1X7=1X298=
+425 489 0 F 429 1339 12 806 16 96.25 2=1X7=1I8=1I1=1I2=1X6=1X3=1D5=1X2=1X2=1I11=1I4=1D19=1I13=1I7=1X9=1D315=
+409 522 41 F 410 1134 0 723 32 92.19 4=1X3=2X1=1X3=1X7=1X1=1X6=1D3=1I1=1X1=1X4=1I12=1X3=1D4=2X8=1X8=1I5=2X2=1X39=1X17=1X9=1X23=3X1=1X1=2X31=1X40=1X143=
+406 530 14 F 398 1343 30 735 23 94.28 5=1X6=1D2=1X5=2X1=1D1=1D2=1X1D2=1X3=2D3=1X5=1X6=1D4=1X8=1X11=1X5=1D26=1X83=1X28=1X23=1X154=
+422 536 58 F 414 1082 12 755 27 93.54 4=1D2=1X1=1D2=1X1=1X4=1D2=3X1=1X1=1X2=1D2=1X4=2X2=1D2=1X3=1X3=1D3=1D1=1X4=1X6=1X1=1D6=1X19=1X39=1X280=
+400 542 30 F 413 1056 0 738 25 93.85 3=1I7=1I3=1I13=1I3=1I2=1D1=1I10=1X4=1I1=1X2=1X21=1X1D1=1X1=1I7=1I8=1X1I2=1I11=1I1=1X2=1I15=1I2=1I37=1X233=
+477 543 3 F 476 658 126 890 21 95.59 3=1I3=1I2=1D3=1X5=1I3=1X2=1D2=1I7=1X11=1I5=1D18=1X1=1X11=1X5=1X9=1D6=1D2=1I11=1X19=1D71=1D263=
+436 543 44 F 429 713 11 793 24 94.45 2=1X2=1X3=1X1=1X1=1X2=1X5=1D5=1X2=1D3=1D3=1D1=1X5=1D4=1X7=1D1=1X7=1X2=1X2=1X3=1X11=1I12=1D4=1D59=1X266=
+429 543 51 F 430 798 3 793 22 94.88 6=1X1=1X1=1I5=2X5=1X1=1X3=1X1D6=1X5=1X6=1I4=1D2=1D4=1I1X11=1X5=1X20=1X92=1I128=1X95=1X11=
+455 543 0 F 466 826 15 852 23 95.01 2=1I4=1I3=1I7=1I10=1I6=1I2=1I3=1X3=1I2=1I2=1I4=1X12=1I11=1X1=1X11=1X5=1X8=1X7=1D2=1I11=1X2=1X274=1X52=
+419 543 61 F 416 849 1 748 29 93.05 12=1X1=1X12=1X1I4=1X7=1X1=1D6=1D2=1I7=1X3=1X2=1X9=1X6=1D3=1X1=1X3=2X1D46=1X6=1X2=1X16=1X15=1X1=1X2=1X61=1D9=1X78=1X77=
+475 543 0 F 482 912 1 897 20 95.82 6=1I3=1I6=1X6=1X4=1I4=1I6=1D4=1I2=1I5=1I13=1I11=1X1=1X7=1X3=1X16=1D5=1D2=1I11=1X26=1I324=
+397 543 7 F 407 988 0 633 57 85.82 5=1X3=1I4=1X1=1X6=1X2=1I5=1X3=2I1X3=1I1=1X2=1I2X3=1X4=1X2=1I6=1I5=1X1=1X1=1I4=1I6=1X5=1X8=1D4=1D5=1I5=1X5=1X47=1X8=1X35=1X47=1X38=1X2=1X6=1I3=1X1D15=2X5=1X3=1X1=1D8=1I3=1D1=1X1=1X9=3X7=1X8=1I3=1X1=1I1X1=1X4=
+404 543 0 F 414 1049 3 677 47 88.51 4=1I2=1X1I2=1I3=1X4=1X3=1I3=1X7=1I5=1X4=1I3=1X3=1I1=1X11=1X1I10=1X1=1X11=1X5=1X8=1X7=1X2=1I5=1X5=1X92=1X86=1X2=1X6=1I3=1X1D15=2X5=1X3=1X1=1D8=1I3=1D1=1X1=1X9=1X9=1X8=1I3=1X1=1I1X1=1X4=
+447 543 33 F 444 1120 0 798 31 93.04 4=1D4=1I4=1X2=1D3=1X2=1X4=1I3=1X1=1X3=1I2=1X2=1D3=1X5=1X8=1X1=1X7=1D1=1D1X5=1I1=1X5=1X3=1X4=1X4=1X13=1D64=1X84=1D56=1X44=1X54=1X24=
+480 543 0 F 468 1297 7 855 31 93.46 6=2X3=1D2=1D3=1X3=1D1=1X2=1D4=1X4=1D5=1X3=1D1=1X5=1X6=1X5=1D3=2X1=1X7=1D1=1X1=1X5=1X5=1X2=1D4=1D6=1X9=1X10=1D33=1D4=1X305=
+439 543 16 F 436 1327 0 782 31 92.91 6=1D3=1X3=1I7=1D3=1X3=1X3=1X5=1D1=1X3=1I5=2X4=2X1=1X3=1X3=1X1=2X6=1X2=1X2=1X2=1D4=1D2=1X6=1X6=1X12=1X1=1X51=1X19=1X243=
+436 549 0 F 448 661 68 773 37 91.63 6=1I2=1X1=1X8=1I1=2X3=1X2=1I1X1=1I1=1X3=1D1X2=1X2=1I1=1I3=1I3=2X1=1X5=2X3=1I6=1I18=1D8=1I4=1I26=1D23=1X1I18=1X32=1X23=1X5=1I31=1X4=1I95=1I73=
+402 568 10 F 406 1793 2 739 23 94.31 5=1X1=1X1=1X10=1X2=1X4=1X1=1X1=1I6=1X1=1X5=1X10=2X2=1I7=1X1=1X7=1X27=1D18=1I147=1X72=1I29=1X3=1I24=
+432 584 48 F 449 1661 0 707 58 86.83 3=1X1D3=1X1=1I3=1I5=1I1=1X3=1I1=1X2=3X1=1I4=2X7=2X4=1I2=1X1=1X6=1X6=1I1=1I1X13=1X19=1D3=1I33=1X93=1X52=1X3=1X19=1X12=1X7=1X1=1X3=1I4=1X20=1X1=1I5=1X1=1X1=1I5=1X2=1I7=1X1=1I4=1I6=2X2=1I3=1X2=2X1=1X7=2I5=1X2=1I2=
+412 630 2 F 414 736 96 730 32 92.25 4=1I3=1I4=1X1=1X1=2X3=1X1=1X1=1I4=1X5=2X4=1X2=1X7=1X1=1X1=1X2=1I1=1D1=1X8=1X2=1X18=1X9=1X1=1X2=1X1=1D4=1D1=1I19=1X2=1X9=1X263=
+415 630 1 F 416 846 202 729 34 91.82 5=1I3=1X1=1I2=2X2=1X4=1X1=2X4=1X5=2X4=1X2=1X7=1X1=1X1=1X2=1I1=1D1=1X8=1X2=1X18=1X9=1X1=1X2=1X1=1D4=1D1=1I19=1X2=1X9=1X31=1X11=1X221=
+415 630 1 F 419 902 4 732 34 91.85 5=1X1I1=1I1=1I4=1X1=1X1=2X5=2X6=1X2=1I1=2X4=1X2=1I8=1X1=1X1=1X2=1I1=1D1=1X8=1X2=1X18=1X9=1X1=1X2=1X1=1D4=1D1=1I19=1X2=1X9=1X265=
+416 630 0 F 420 1100 23 719 39 90.67 8=1I3=1X1=1X3=3X2=1X1=2X4=1X5=2X11=1I4=2X1=1I1=1X2=2X1=1X2=1X1=1I4=1X2=1X1=1I17=1X9=1X1=1X2=1X1=1D3=1X1D1=1I9=1X9=1X2=1X9=1X254=1X1=1X8=
+425 630 9 F 426 1143 1 728 41 90.36 2=1X1=1D3=1X1D3=1X1=1D5=1X5=1X1D2=1X1=1I1=1X9=1I1=1X1=2X2=1I1=1D1=1X1=1I1=1X8=2X3=1I2=1D3=1I1=1X6=1I1X9=1D3=1X1=1X5=1D1=1I2=1I17=1X2=1X9=1X135=1X14=1X105=1X26=
+415 630 1 F 418 1151 38 737 32 92.32 5=1I3=1I4=1X1=1X1=2X5=2X1=1I3=1X5=2X4=1X3=1I7=1X1=1X1=1X2=1I1=1D1=1X8=1X2=1X18=1X9=1X1=1X2=1X1=1D4=1D1=1I19=1X2=1X9=1X265=
+416 630 0 F 421 1230 92 732 35 91.64 2=1X3=1X1=1I1=1I3=2I2=1D2=1X1=1X4=2X4=1X5=2X7=1X7=1X1=1X1=1X2=1I1=1D1=1X2=1X5=1X2=1X18=1X1=1I8=1X1=1X3=1X5=1D1=1I4=1I15=1X2=1X9=1X265=
+409 630 3 F 414 1360 1 688 45 89.06 6=1I3=1I1=1I4=1X1=1X4=1X1=1I3=1D1X1=1X2=1I1=2X2=1X2=1I2=1X7=1X1=1X1=1X2=1I1=1D1=1X6=1I5=1X3=1X14=1X2=1X6=1X1=1X2=1X1=1D4=1D1=1I9=1X9=1X2=1X9=1X1=1X14=1X13=1X19=1X41=1X134=1X21=1X6=1X4=
+400 652 10 F 401 825 79 711 30 92.51 6=1X4=1X1=1X1=1X1=1X4=1X1I4=1I5=1I1=2X2=1X1=1X3=1D3=1X4=1X4=1D3X4=1I5=1D8=1I1=1X7=1D6=1I4=1D12=1X11=1X37=1X237=
+412 654 1 F 407 807 63 711 36 91.21 3=1X3=1X2=1D1=2X8=2X4=1D2=1D4=1X1=1D3=1X1=1X2=1X1=1X1=1I5=1D4=1X2=1I13=1X2=1I1=1X3=1X13=3X1I5=1X1=1D18=1D10=1X15=1X23=1X2=1D41=1D39=1X147=
+440 654 1 F 432 866 142 719 51 88.30 2=1D4=1X3=2X1=1X2=1I6=1X1I4=1D2=1D2=1X1=1X1=1X2=1X1=2X2=1X1=1D1=1I1=1X3=1D4=1D2=1I10=1D2=1X2=1I1=1D3=1X6=1X6=1X2=1I3=1X1=1X1=1D4=1D2=1X1=1X22=1D12=1D7=1X12=1X2=1X1=1X1D10=1X22=1X7=1D8=1X18=1X11=1D1=1I174=
+461 654 0 F 461 1212 120 799 41 91.11 8=1X4=2X3=1I3=1I2=2X4=2X3=1X2=1X4=1X1=2X2=1X1=1X2=2X3=1X3=1X2=1I5=1D1X6=1X2=1I1=1X3=1X6=1X6=1I1=1X4=1X1=1D1X16=1D13=1X15=1X20=1X2=1X2=1D41=1D44=1X190=
+441 658 161 F 438 713 2 777 34 92.26 4=1X1=1I1=1X2=1X2=1X1=1X3=1X1=1X2=1X5=1D5=1D1X1=1X3=1D3=1D1=1X1=1X3=1D1=1X2=1X6=1X1=1I1X5=1D1=1X2=1X2=1X3=1X11=1I8=1I3=1D4=1D59=1X2=1I263=
+425 658 60 F 426 736 0 683 56 86.84 2=1D4=1D3=2X1=2X2=2X5=1D6=1I2=1D5=1I2=1D1=1X3=1D1X2=1X5=1I2=1X3=2X7=1D3=1I2=1X13=1I4=1X10=1I2=1I6=1D2=1I1=1I7=1I8=1X31=1I15=1X25=1I71=1X2=1I95=2X1=1X5=2X2=1X4=1X1D2X1=1D2=1I4=1I4=3D1=1X6=1D2=
+428 658 174 F 433 798 0 795 22 94.89 2=1X2=1I3=1X1=1X1=1I5=2X5=1X5=1D1X6=1X12=1I3=1X6=2X17=1X13=1I6=1X64=1I27=1I128=1X95=1X11=
+467 658 110 F 481 826 0 867 27 94.30 3=1I7=1X1I3=2X1I7=1X2=1I2=1I8=1X5=1I2=1D1=1I1=1I8=1I2=1I2=1I6=1D3=1I7=1I14=1X11=1X14=1I24=1X16=1I71=1I185=1X52=
+465 658 20 F 485 846 47 737 71 85.05 4=1X1=1X1I7=2X2=1I2=1I1X2=1X2=3X2=1I1X1=1I3=1D2=1X7=1X2=1I2=1I2=1X3=1X1=1I2=1I4=1I1=1I3=1I4=1X9=1X1=1I3=1I5=1I4=1I3=1I3=2X11=1I7=1X1=1D6=1I4=1I5=1X5=1I11=1I8=1I8=1X31=1I15=1X25=1I66=1X4=1X2=1I3=1X91=2X1=1X5=2X2=1X4=1X1D2X1=1D2=1I4=1I4=3D1=1X6=1D2=
+416 658 186 F 416 849 1 763 23 94.47 26=1I1=1X12=1X17=1X3=1X2=1X9=1X9=1X1=1X3=2X1D46=1X6=1X2=1X2=1I13=1X15=1X1=1X2=1X61=1D9=1X78=1X77=
+471 658 126 F 479 912 4 896 18 96.21 7=1X2=1I14=1D1=1I1=1I1=1D2=1I5=1D5=1I2=1I10=1I7=1I21=1X9=1X9=1X39=1I6=1I65=1I258=
+395 658 131 F 407 988 0 646 52 87.03 2=1D3=1I1=1I6=1X1=1X2=1D3=1X3=1I9=2I1X3=1I1=1X2=3X3=1I4=1X2=1I6=1I11=1I2=1I36=1X25=1I27=1X8=1X34=1X2=1I45=1X38=1X2=1X6=1I3=1X1D15=2X5=1X3=1X1=1D8=1I3=1D1=1X1=1X9=3X7=1X8=1I3=1X1=1I1X1=1X4=
+395 658 131 F 405 1049 12 677 41 89.75 2=1X3=1I1=1I3=1D11=1I1=1D2=1I11=1I2=1X5=1X3=1I7=1X1I12=1X26=1I9=1I6=1X25=1I71=1X2=1I84=1X2=1X6=1I3=1X1D15=2X5=1X3=1X1=1D8=1I3=1D1=1X1=1X9=1X9=1X8=1I3=1X1=1I1X1=1X4=
+444 658 158 F 444 1120 0 786 34 92.34 4=1D4=1I4=1X2=1D1=1X4=1X4=1I3=1X1=1X5=1D1=1I1=1X3=1X5=1X1=1X5=1D1=1I1=1X6=1X1=1X5=1X1=1X5=1X3=1X4=1X4=1X8=1I3=1D65=1X2=1I81=1D56=1X44=1X54=1X24=
+397 658 88 F 416 1230 11 624 63 84.50 4=1I2=1X2=1I3=1I4=1X1I2=1I1=2X2=1X7=1I1X3=1I2X1=1I5=2X1=1X1=2I1=1I15=1I6=1I5=1X3=1I2=1X1I3=1X1=1X3=1I7=1I8=1I2=1D2=1X11=1X8=1X5=1I15=1X7=1I13=1I5=1I6=1I65=1X2=1I95=2X1=1X5=2X2=1X4=1X1D2X1=1D2=1I4=1I4=3D1=1X6=1D2=
+486 658 116 F 475 1297 0 853 36 92.51 4=1X3=2X5=1D1=1D5=1D2=1X2=1D1=1D1=1X4=1D2=1X4=1D5=1X3=1D1=1D1X3=1I1=1X6=1X5=1D3=1X2=1X7=1D1=1X1=1X5=1X5=1X11=1D1=1X9=1X10=1D8=1I24=1D4=1X41=1I263=
+437 658 140 F 436 1327 0 777 32 92.67 5=1D5=1X10=1D3=1X3=1X3=1X1=1D3=1X1=1X4=1I4=2X4=1X2=1X3=1X3=1X1=3X5=1X2=1X2=1X8=1X2=1D4=1X6=1X12=1X1=1X4=1I46=1X19=1X4=1I238=
+415 691 0 F 433 814 49 722 42 90.09 2=1I4=1X1I4=1I3=1I2=1I2=1X5=1I2=1I3=1I2=1I5=3I1X1=3I1X2=1D1=1D2=1X2=1X6=1D2=1X3=1I4=1I1=1D2=2I4=1I10=1I7=1I22=1X19=1X28=1X37=1X85=1X10=1X20=1X24=1X15=1X54=
+421 695 59 F 427 938 0 761 29 93.16 8=1X3=1X1I1=1X2=1I7=1X1=1X1I2=1X4=1D4=1X6=1D1X2=1I1=1X2=1X2=1I1X1=1D1=1X4=1X11=1X3=1I3=1X3=1I13=1I10=1I3=1I125=1D180=
+432 701 5 F 422 715 7 731 41 90.40 2=1X2=1D4=1D1=1X2=1D1=1X2=1X1I2=1D3=1D4=1X4=2X2=1D1=1X3=1D1=1D3=1D1X3=1D3=1D9=1D1=1I1=1I2=2X2=1D2=2X4=1X1=1D3=1X1=1X3=1D5=1X15=1I7=1X17=1I10=1X16=1X87=1X167=
+423 713 17 F 432 798 1 753 34 92.05 4=1I1=1X3=1X1I6=1X1I4=2X1=1I3=1I2=1I1=1X2=1D3=1I1=1X2=1X3=1I5=1D1X4=1I1X1=1X2=1X2=1X3=1X5=1X4=1D13=1I2=1X1=1I59=1X30=1I128=1X95=1X11=
+415 713 0 F 428 826 53 729 38 90.98 3=1I2=1I2=2I1=1X1=1I3=1X2=1X3=1X1=1X1=1X2=1I6=1I5=1I1X1=1X3=1I3=1I1=1X1=1X3=1I1=1X2=1X3=1I3=1X1=1D1X5=1I1=1X2=1X2=1X3=1X2=1X7=1D13=1I4=1I59=1X188=1X52=
+413 713 27 F 417 849 0 710 40 90.36 6=1I5=2X1=1I3=1X3=1I1=1I2=1X1I2=1I1=1X2=1X4=1X1=1X1=1D1X5=1I1=1X2=1X2=1X3=1X2=1X7=1D2=1X5=1D4=1I1=1X2=1D1=1I1X46=1X6=1X2=1X16=1X15=1X1=1X2=1X61=1D9=1X78=1X77=
+435 713 0 F 446 912 37 782 33 92.51 2=1X4=1I1=1X1=1I3=1X2=1X1I3=1X1=1X1=1X2=1I6=1I5=1I1X1=1X3=1I3=1I1=1X1=1X3=1I4=1X8=1D1X5=1I1=1X2=1X2=1X3=1X11=1D12=1I2=1I2=1I59=1X261=
+437 713 3 F 442 1120 2 789 30 93.17 4=2X2=1I5=1D5=3X2=1I4=1X1=1I3=1I2=1X5=1I3=1I7=1I2=1X10=1X3=1D2=1X1=1I2=1X2=1X8=1X4=1D18=1I59=1X84=1D56=1X44=1X54=1X24=
+437 713 3 F 437 1297 38 769 35 91.99 4=1I1=1D1=1X1=1D1=1X1=1X3=1X1=1X1=1X2=1X1=1X3=1I1=1D3=1I1X1=1X3=1I6=1X3=1I1=1X2=1X2=1X3=1X1=1D1X6=1X2=1X2=1X14=2D12=1I4=1I15=1D4=1X38=1X266=
+414 713 1 F 420 1327 16 723 37 91.13 3=1X3=1X2=1I1=2X2=1X1=1D3=1X4=1I6=1I1X4=1I1X1=1X3=1I5=1I1X4=1I1=1X2=1X2=1X3=1X1=1D1X2=1X3=1X2=1X2=1X3=1X11=1D1=1X1=1X8=1I4=1I37=1X19=1X1=1X241=
+382 724 29 F 433 1826 2 605 70 82.82 4=1I1=1X1I4=1I1=1I1=1X2=1I4=1I1=1I3=1I1=1I2=1I2=1I3=1I1=1I3=1X1=1I2=1I4=1I3=1I1=1X2=1I10=1I5=1X2=1I3=1I3=1I3=1I2=1X4=1I5=1I2=1X2=1I7=1X4=1X1=1I7=1X64=1X21=1X16=1X30=1I7=1X3=1I8=1I11=1I10=1I4=1X1=1I5=1I3=1I7=1I2=1I5=1I3=1I8=1I3=1I4=1I4=1X1I3=1I7=1I2=1X1=1I1=1X3=1I3=1X1=1I5=2I10=1I2=
+510 736 0 F 525 846 91 915 40 92.27 2=1I3=1I3=1I1=1I1=1X1=2X2=1I4=1I1=1I1=1I2=1I3=1I3=1X3=1I1=1I5=1D1=1X2=1I1=1I2=1I1=1X4=1X2=1I1X4=1X7=1I6=1X4=1D1X12=1X1=1I3=1X5=1X2=1D6=1I2=1X1=1D157=1X11=1X219=
+414 736 96 F 416 902 5 800 10 97.59 4=2X1=1I15=1D8=1I3=1D2=1I1=1X7=1X1=1I366=
+435 736 75 F 437 1100 4 782 30 93.12 17=1D2=1X1=1I3=1D2=1I1=1D2=1D3=1X2=2X2=2X13=1X5=1X2=1X3=1I5=1I3=1X2=2X1=1X2=1X1=1I4=1X4=1I17=1X19=1X11=1X277=1X1=1X6=
+406 736 104 F 407 1143 0 726 29 92.87 3=1D3=1D2=1X3=1X1D2=1D10=1D3=1X1=1X2=1X1=1I10=1X2=1I3=1X2=1X1=1I4=1X3=1X3=1I2=1D4=1X1=1I7=1I8=1X11=1X4=1I164=1X14=1X105=1X6=
+452 736 58 F 454 1151 0 876 10 97.79 6=1I6=1I2=1X10=1D8=1D2=1X1=1I21=1D7=1I16=1I368=
+485 736 25 F 500 1230 11 898 29 94.11 6=1I3=1I6=1I1=1I3=1I2=1I8=1D2=1I1X3=1I3=1I5=1I1X1=1X2=1I3=1I18=1X1=1I5=1X7=1X3=1X3=1X20=1X2=1X11=1X8=1X29=1I13=1I12=1I292=
+411 736 97 F 414 1360 1 747 26 93.70 3=1D3=1X5=1X1=1I6=1X2=1I5=1X2=1D2=1I3=1I2=1X1=1X14=1X12=1X3=1I5=1X17=1X28=1X24=1X14=1X13=1X19=1X41=1X134=1X21=1X6=1X4=
+408 798 0 F 407 826 74 755 20 95.09 2=1D6=1X1=1X7=2X5=1X1=1X3=1I1X6=1X12=1X3=1X6=2X14=1X2=1X20=1X92=1D128=1X29=1X52=
+420 798 13 F 417 849 0 723 38 90.92 6=2X5=1X5=1X1I5=1D2=2I11=1D1=1X1=1X6=2X7=1X3=1X2=1X2=1X6=1X6=1D3=1X1=2X2=2X1D46=1X6=1X2=1X16=1X13=1D2=1X1=1X2=1X61=1D9=1X48=1X29=1X65=1X11=
+428 798 0 F 428 912 55 796 20 95.33 2=1X6=1X1=1X7=2X5=1X5=1I1X2=1X3=1X5=1X6=1D10=2X17=1X20=1X1I92=1D128=1X95=1X6=
+432 798 1 F 428 1120 16 752 36 91.63 5=1X1=1X2=1D5=1X1=2X4=2X1=1X3=1I1X4=1D2=1I5=1D1=1I1=1X3=1D5=1X4=2X1=1X5=1X3=1X4=2X3=1X13=1D2=1X61=1X30=1D54=1D56=1X16=1X27=1X54=1X12=1X11=
+430 798 3 F 423 1297 52 766 29 93.20 4=1X1=1X1=1X3=1D3=2X1D3=2X1=1X3=1X2=1X1=1X7=1X4=1D1=1X3=1X6=1D1X1=1X9=1X5=1X4=1D15=1X17=1D4=1X69=1D128=1X95=1X11=
+405 798 3 F 402 1327 34 714 31 92.32 4=1X3=1D7=2X4=2X1=1X3=1X1I2=1X1=3X5=1X2=1X1=1D1=1X3=1X4=1X1=1D1X4=1X6=1X5=1X6=1X1=1X11=1X39=1X19=1X32=1D128=1X82=
+468 807 2 F 464 866 82 800 44 90.56 12=1X1D11=1X2=1X2=1X6=1X2=1X6=1I2=1D9=1X4=1D2=1X6=1I4=1I3=1I10=1X3=1X4=1I6=1X1=1X1D7=1D13=1D7=1D10=1X7=3X3=1X7=1D2=1X1=1X8=1I10=1X2=1D14=1D5=1X12=1X4=1X10=1X22=1X15=1X18=1X12=1X146=
+468 807 2 F 476 1212 57 824 40 91.53 5=1I3=1X5=1I4=1X4=1X4=1X3=1I2=1D2=1I1=1X2=1X2=1X1=1X9=1X3=1X3=1X3=1X2=1I6=1I3=1I7=1I1=1X3=1I2=1X4=1X1=1I9=1D1X3=1I12=1X2=1D20=1X7=3X3=1X18=1X49=1X85=1X4=1X142=
+445 815 0 F 462 1699 0 778 43 90.52 6=1I12=1X3=1X1=1X2=1D6=1I7=2X1=1I2=1D9=1I4=1X12=1I30=1I48=1X2=1X96=1X37=1I53=1I9=1I10=1I4=1D1=1I2=1I11=2I9=1I5=1I3=1I12=1X1=1I2=1X1=1I6=1X1=2X2=1X1=1I1=1X3=1X1=1X3=1X1=1X2=
+451 819 14 F 467 975 5 810 36 92.16 7=2X1I2=1I3=1I4=1X2I4=1I1=1X1=1X1=1I1X7=1X1=1I1=1X2=1I1=1X7=1X6=1I2=1I1X12=1I5=1X1I3=1I3=1I2=1D5=1I13=1X2=1X1I20=1X3=1X21=1X9=1X284=
+418 819 76 F 443 1362 3 726 45 89.55 4=1I1=1I2=1X3=1I1=1X2=1I1=1X1=1X1=1X2=2X1I5=1I1=1I5=1X1=1I6=1I3=1I1X2=1X17=1I4=1X3=1X7=1I5=1X1=1I3=1X1I2=1I4=1I5=1I3=1I2=1X4=1X1I5=1X3=1I1=1I16=1X2=1I4=1I9=1I14=1X9=1I229=1X5=
+484 819 35 F 494 1500 8 882 32 93.46 4=1I3=2X3=2X1=1X1I1=1X3=1I1=1X7=1X6=1I2=1X1=1I1=1X6=1I1X5=1I1X1=1X2=1I4=1I1=1D11=1X7=1X2=1X1I5=1X3=1X26=1I10=1X337=1X10=
+432 825 27 F 441 1469 13 765 36 91.75 7=1X2=2I3=1I7=1X4=1I3=1D1=2X2=1I2=1X7=1I3=1I1=1X1=1X1=1I6=1X14=1I1=1X7=1X1=1X3=1X1=1X1=1I5=1I2=1I4=1X4=1X2=1X1I7=1D1=2X12=1D8=1X4=1D282=
+467 826 14 F 463 912 0 873 19 95.91 3=1D8=1X5=1D8=1X2=1D2=1I6=1D5=1D2=1D13=1I25=1X7=1X3=1X5=1X8=1X1=1D22=1X23=1I251=1X52=
+409 826 12 F 407 1049 0 702 38 90.69 2=1X4=1X2=2X2=1X3=1X5=1D4=1X10=1X2=1D7=1D6=1D7=1I10=1X12=1X11=1X14=1X9=1I6=1X8=1X89=1X86=1X2=1X6=1I3=1X1D15=2X5=1X3=1X1=1D8=1I3=1D1=1X1=1X9=1X9=1X8=1I3=
+426 826 55 F 419 1120 0 743 34 91.95 4=1D2=1D5=1D2=1X2=1D3=1X2=1X8=1X1=1X5=1D1=1I1=1X3=1X5=1X1=1X5=1D1=1I1=1X3=1D3=1X1=1X5=1X1=1X5=1X3=1X2=1X1=1X4=1X13=1D64=1X84=1D56=1X44=1I2=1D52=
+474 826 7 F 450 1297 0 801 41 91.13 4=1D5=1D6=1D1=1D2=1D2=1D1=1D2=1X3=2D1=1X2=1D3=1D1=1D1X4=1D2=1D2=1D1=1D1X3=1D1=1X5=1X7=1D5=1D3=1X2=1X7=1D1=1X1=1X5=1X4=1D1=1X11=1D1=1X9=1X2=1X7=1D33=1D4=1X227=1X52=
+446 826 35 F 436 1327 0 774 36 91.84 6=1D4=1D3=2X1=1D5=1D2=1D1=1D3=1D1=1X3=1X5=1D1=1X9=2X4=1X2=1X3=1X3=1X1=3X5=1X2=1X1=1D1=1X8=1X2=1D4=1X6=1X2=1X9=1X1=1X51=1X19=1X190=1X52=
+419 846 199 F 422 902 1 793 16 96.20 2=1X5=2X1=1I3=1X1=1I6=1D3=1X6=1I3=1D2=1I2=1X7=1I1X135=1X11=1X221=
+434 846 184 F 437 1100 6 772 33 92.42 4=1X1I9=1D2=1X5=1X1=1X1=1X1=1D1X2=1X2=3X16=1X5=1X2=1X3=1I5=1I3=1X2=2X1=1X2=1X1=1I4=1X4=1I17=1X19=1X11=1X54=1X11=1X210=1X1=1X8=
+454 846 164 F 456 1151 0 859 17 96.26 4=1X1=1I6=1X2=1X3=1X4=1X9=1D2=1X5=1X5=1X1=1I6=1D3=1X4=1I18=1I136=1X11=1X221=
+503 846 115 F 511 1230 2 879 45 91.12 4=1X2=3X2=1D1=1X5=1I3=1I4=1X1=1X2=1X1=1X2=1D1=1X4=1D2=1X4=1I1=1X1=1I5=2X1=1X2=1I1=1I6=1I1X12=1D2=1I3=1X1=1X3=1X2=1X1I3=1X1=1D4=1I18=1X2=1X11=1X8=1X29=1I13=1I12=1I60=1X11=1X221=
+410 846 204 F 414 1360 1 731 31 92.48 3=1D3=1X1=1X1=1I1=1X1=1I3=1D4=1I1=1I5=1X2=1D2=1I3=1I2=1X1=1X14=1X12=1X3=1I5=1X17=1X28=1X24=1X14=1X13=2X11=1X6=1X41=1X134=1X21=1X6=1X4=
+447 848 138 F 476 1658 0 737 62 86.57 2=1I4=1X1=1X1=1X2=1X1I5=1X3=1I5=1X1=1X9=1X3=1I1=1X11=1I10=1I3=1X4=1X8=1X2=1D54=1I26=1I18=1X2=1I12=1I19=1X44=1X28=1X12=1I19=1X1=2X5=1X23=1X1I9=1I3=1I4=1X3=1I5=1I4=1X1=2I5=1I1=1I1=1D1=2I2=1I3=1I1=1X1=1I3=1I3=1X2=1I5=1I1X4=1X1=1I4=1I4=1I1=1X5=1X2=
+412 849 0 F 415 912 68 746 27 93.47 23=1X3=1D1=1X4=1X7=1X1=1X15=1X3=1X2=1X9=1X6=1I3=1X1=1X1I3=2X1I46=1X6=1X2=1X16=1X15=1X1=1X2=1X61=1I9=1X78=1X72=
+417 849 0 F 417 1120 27 705 43 89.69 4=1X1=1X5=2X1=1X3=1X5=1X2=1X1D4=1D1=1I1=1X4=1X1=1X1=1X5=1X1=1X5=1X3=1X2=1X1=1X4=1X2=1X5=1I4=1D1=1X3=1I2X46=1X6=1X2=1X16=1X15=1X1=1X2=1X46=1D14=1I9=1X31=1X44=1I2=1D52=1X24=
+417 849 0 F 413 1297 62 722 36 91.33 2=1D5=1D3=1X2=1X7=1X1=1X2=2D4=1X5=1X1=1X9=1D1=1X5=1X3=1X2=1X7=1D1=1X5=1I4=1X1=1X3=1I2X12=1D4=1X28=1X6=1X2=1X16=1X15=1X1=1X2=1X61=1I9=1X78=1X77=
+557 866 17 F 561 1212 0 884 78 86.05 2=1D8=1D1=1D2=2X3=1X2=1I1=1X1=1X2=1D2=1D2=1X5=1D1=1X2=1D1=2X3=1D4=2X2=1D6=1I3=1X2=2I1=1X4=1X4=1I2=1D2=1X1=1I1=1X2=1D7=1I2=1D1=1X3=1I6=1X3=1X2=1I4=1X2=1I4=1D7=1X6=1I1=1X3=1I1X1=1X1=1X2=1X8=1X1=2X3=1I2=1I9=1X2=1X8=1I10=1X13=1X7=1I2=1X1=1X5=1D13=1X2=1I14=1I5=1X12=1X4=1X10=1X22=1X15=1X18=1X11=1I1=1D3=1X170=
+405 867 233 F 417 1602 0 708 38 90.75 19=1X4=1I11=1I16=1X3=1X24=1I162=1X16=1X43=1I1=1X4=1X1=1I9=1D3=1I3=1X9=1X6=1X2=1X2=1X2I1=1X7=1X3=2X1=1I1=1X1=1I2=1X1=1X8=1X3=1X1=1I3=1I2=1X2=1X3=1I1X3=
+421 884 0 F 427 890 8 770 26 93.87 4=1I1=1X1=1X1D2=1X1=1X2=1I2=1X6=1I4=1I1=1I1X2=1X3=1X1=1D3=1X10=1X2=1I1=1X28=1X2=1X1D4=1I10=1X9=1I20=1I285=
+424 892 0 F 420 1300 64 772 24 94.31 2=1X2=1X6=1X1=1X1=1X2=1D1=1D4=1X2=1X4=1X3=1X4=1X9=1X1=2X2=1X5=1X14=1D7=1X1=1D18=1I9=1D4=1X5=1X294=
+423 902 0 F 423 1100 20 747 33 92.20 3=1X5=1X1D1=1X1=1D2=1D3=1X2=2X1I2=1X6=1D3=1I2=1D1=2X4=1X2=1D2=1I6=1I4=1X2=2X1=1X1=1I1=1X5=1X4=1I17=1X19=1X11=1X277=1X1=1X8=
+409 902 14 F 409 1143 0 728 30 92.67 3=1D3=1D2=1X3=1X2=1D3=1D3=1I4=2D2=1X1=1X2=1X12=1X2=1I3=1X2=1X1=1I4=1X3=1X3=1I2=1D4=1X1=1I7=1I8=1X11=1X4=1I164=1X14=1X105=1X8=
+423 902 0 F 422 1151 34 818 9 97.87 9=2X1=1D22=1X4=1I2=1D1=1X7=1D1=1I369=
+420 902 3 F 422 1230 91 785 19 95.49 3=1I3=1X1D1=1X7=1X3=1X1=1I10=1D3=1I2=1D1=1X4=1X2=1X1=1D10=1X8=1X29=1I13=1I12=1I294=
+404 902 15 F 407 1360 8 736 25 93.83 5=1X1=1I4=1I4=1I5=1X1D7=1I3=1X1=1X2=1D1X11=1X12=1X3=1I5=1X17=1X28=1X24=1X14=1X13=1X19=1X41=1X134=1X21=1X6=1X4=
+438 905 0 F 451 1693 83 730 53 88.08 3=1X7=1I12=1X4=1X2=1D4=1X33=1D15=1I2=1D22=1D11=1X7=1I1=1D68=1I51=1X7=1X7=1I5=1I5=1X1I5=1X4=1X1=1I4=1I5=1I8=1I5=1I6=1X1I2=1I5=1I8=1I7=1X1I3=1I5=1X1=1X5=1I4=1X2=1I14=1X1D9=1D4=1I2=1X8=1I3=1X1=1X2=1X1=1X1=1X2=1D6=1D8=
+403 912 9 F 407 988 0 648 54 86.67 2=1D3=1X1=1I6=1X1=1X4=1D2=1X2=1X5=1I3=1I1X4=1X1=1X2=3X3=1X4=1X2=1X6=1I11=1I2=1I2=1X9=1X9=1X13=1X32=1D21=1X8=1X35=1X47=1X38=1X2=1X6=1I3=1X1D15=2X5=1X3=1X1=1D8=1I3=1D1=1X1=1X9=3X7=1X8=1I3=1X1=1I1X1=1X4=
+411 912 1 F 414 1049 3 696 43 89.58 4=1I2=2X6=1X1=1I3=1D7=1I2=1D5=1X5=1I9=1D5=1X12=1X12=1X7=1X9=1X8=1X1=1I7=1I6=1X32=1D66=1X86=1X2=1X6=1I3=1X1D15=2X5=1X3=1X1=1D8=1I3=1D1=1X1=1X9=1X9=1X8=1I3=1X1=1I1X1=1X4=
+445 912 38 F 439 1120 0 791 31 92.99 12=1X1=1D2=1D1=1X3=1X1=1D8=1X1=1X5=1D1=1I1=1X3=1X3=1X1=1X1=1X6=1X1=1X8=1X5=1X1=1X5=1X3=1X4=1X4=1X13=1D2=1D62=1X84=1D56=1X44=1X54=1X19=
+483 912 0 F 464 1297 6 842 35 92.61 9=1D1=1D2=1D3=1D2=1X2=1D2=1X2=2D3=1D1=1X8=1D1=1D1X3=1D1=1D1X5=1X7=1D5=1D3=1X2=1X7=1D1=1X1=1X5=1X5=1X3=1X7=1D1=1X9=1X10=1D15=1D18=1D4=1X300=
+444 912 19 F 436 1327 0 778 34 92.27 5=1D4=1X1D3=2X9=1D3=1D1=1X3=1D1X5=1D1=1X9=2X4=1X2=1X3=1X3=1X1=3X5=1X2=1X2=1X3=1X4=1X2=1D4=1X6=1X12=1X1=1X11=1D40=1X19=1X243=
+396 975 76 F 417 1362 0 687 42 89.67 2=1I4=1I1=1I2=1X3=1X1=1X4=1X1=1D2=1X2=1I7=1I7=1X1=1I7=1I3=1X2=1X17=1X2=1X1=1I3=1X7=1I5=1X1=1I3=1X1I2=1I4=1I3=1X1=1I3=1I2=1X4=1X1I5=1X3=1I1=1I16=1X2=1I4=1I9=1I14=1X9=1I206=
+419 975 53 F 419 1500 29 781 19 95.47 19=1X2=1X1=1I2=1D6=1X2=1X3=1X2=1X15=1D5=1X10=2X5=1X3=1X10=1X3=1X11=1I10=1X9=1X284=
+426 988 0 F 424 1049 12 766 28 93.41 2=1I10=1D1=1X1=1X3=1I3=1X12=1X2=1D2=2X2=2X3=1X2=1D3=1X2=2X7=1D5=1X3=1D2=1D21=1I9=1I60=1X8=1X83=1X107=2X49=
+433 1049 0 F 413 1297 4 630 72 82.98 2=1X4=1D2=2X1D1=1D3=1D1=1D1=1D2=1I2=1D1=1D1=1X2=1D4=1D1X4=1D4=1D1=1X1=1X1=1D1=1X1=1D4=1X7=1D5=1D3=1X2=1X7=1D1=1X1=1X5=1X5=1X2=1D7=1D2=1D1=1X3=1X5=1X10=1D33=1D4=1X42=1X86=1X2=1X6=1D3=1X1I15=2X5=1X3=1X1=1I8=1D3=1I1=1X1=1X9=1X9=1X8=1D3=1X1=1D1X1=1X4=1D2X3=1D2=3I1=1I6=
+409 1049 24 F 401 1327 2 615 65 83.95 3=1D5=1D3=1I2=1D5=1D3=1D4=1X3=1X1=1D4=1D1=1X5=1X3=2X4=1X2=1X3=1X3=1X1=3X5=1X2=1X2=1X2=1D4=1D2=1X2=1D4=2X5=1X12=1X1=1X51=1X19=1X5=1X86=1X2=1X6=1D3=1X1I15=2X5=1X3=1X1=1I8=1D3=1I1=1X1=1X9=1X9=1X8=1D3=1X1=1D1X1=1X4=1D2X3=1D2=3I1=1I6=
+409 1097 23 F 417 1806 1 721 35 91.53 3=1I4=1X2=1X1=1I1=1X4=1X2=1X4=1X2=1X1=1X5=1I2=1X2=1X2=1X3=1I2=1X2=1X1=1I24=1X13=1X7=1X11=1X14=1X58=1D21=1X44=1X4=1X28=1X24=1X32=1I2=1I20=1I25=1I8=1X3=1X2=
+410 1100 33 F 408 1143 1 725 31 92.42 4=1D3=2X1D5=1D10=1D3=1X1=1X4=1X7=1D3=1X3=1X1I1=1X9=1X3=1X1D3=1I2=1D4=1X1=1I5=1I10=1X9=1X1=1X4=1I5=1X158=1X14=1X103=1X1=1X8=
+442 1100 1 F 440 1151 16 789 31 92.97 2=1X7=1D11=1X5=1I2=1D1=1I2=1I3=1X2=2X2=1X1D6=1I7=1X5=1X3=1I3=1D5=1D3=1X2=2X1=1X2=1X1=1D4=1X4=1D17=1X19=1X11=1X277=1X1=1X8=
+440 1100 3 F 442 1230 71 792 30 93.20 2=1X15=1I4=1X3=1X1=1X1=1I2=1I2=2X2=2X3=1X13=1X8=1X3=1D5=1D3=1D3=1X1I1=1X4=1D4=1X4=1D17=1I15=1I5=1X6=1I5=1X277=1X1=1X8=
+413 1100 26 F 414 1360 1 704 41 90.08 5=2X2=1I2=1X1I3=2X3=1X1=1I5=1X2=1D2=1I1=1X3=1X2=1I2=1X1=1D6=1D4=1X2=2X1=1X1=1D1=1X3=1I2=1X4=1D2=1X14=1X2=1X16=1X11=1X24=1X14=1X13=1X19=1X41=1X134=1X21=1X4=1X1=1X4=
+444 1120 0 F 439 1297 36 772 37 91.62 8=1D1=1X2=1X1=1X3=1X1=2X6=1D1=1X1=1X1=1D3=1I1=1D1=1X3=1X3=1D3=1X5=1I1=1D1=1X2=1X3=1X1=1X5=1D1=1X5=1X8=1X4=1D1X12=1I20=1D4=1X38=1X84=1I56=1X44=1X54=1X24=
+419 1120 0 F 419 1327 17 715 41 90.21 7=1D4=2X2=2X3=3X7=1X1=2X4=1I1=1D1=1X3=1X3=1D2=1I1X6=1I1=1D1=1X2=1X3=1X1=1X2=1X2=1D1=1X2=1X2=1X3=1X4=1X4=1X2=1X1=1X7=1I43=1X19=1X1=1X84=1I56=1X44=1X54=
+409 1143 0 F 409 1151 47 734 28 93.15 3=1I3=1I2=1X3=1X2=1I1=1I9=1I3=1X1=1X3=1X11=1X2=1D3=1X2=1X1=1D4=1X3=1X3=1D2=1I4=1X1=1D7=1D8=1X11=1X4=1D164=1X14=1X105=1X8=
+407 1143 2 F 407 1230 106 742 24 94.10 3=1X2=1X4=1I2=1I10=1I3=1X1=1X2=1X1=1D10=1D6=1X4=1D4=1X3=1X3=1D2=1I4=1X1=1D16=1X4=1I7=1X169=1X14=1X105=1X8=
+405 1143 0 F 405 1360 10 681 43 89.38 3=2X3=1X4=1I1=1I1=1I3=1X2=1D2=1I1=1I1=1I2=1X1=1X1=1D1=1X11=1X2=1D3=1X2=1X1=1D2=1I6=1X2=1X1D2=1I4=1X1=1D7=1D1=1X6=1X11=1X4=1D5=1X24=1X14=1X13=1X19=1X41=1X42=1X14=1X76=1X21=1X6=1X4=
+456 1151 0 F 463 1230 50 844 25 94.56 3=1I3=1X5=2X1=2X1=1I3=1I5=1I9=1I1=1D3=1I5=1X7=1X3=1X1=1I7=1D15=1X2=1X1D11=1X8=1X29=1I13=1I12=1I294=
+412 1151 40 F 414 1360 1 742 28 93.22 3=1D3=1X5=1X1=1I4=1I4=1I3=1D2=1X2=1D2=1I3=1I2=1X1=1X1=1D13=1X12=1X3=1I5=1X17=1X28=1X24=1X14=1X13=1X19=1X41=1X134=1X21=1X6=1X4=
+436 1210 50 F 431 1516 1 786 27 93.77 3=1X4=1D2=1X5=1X7=1X1=1X3=2D1X2=1I6=1D1=1D10=1X1=1D2=1X1=1D7=1D13=1X1=1X5=1I3=1X3=1X5=1X7=1X4=1I2=1X11=1X303=
+443 1226 5 F 421 1296 26 732 44 89.81 5=1D1=1D2=1D1=1X6=1D1=1D1=2D1=1X4=1X1=1D2=1D2=1X5=1D2=1D3=1D2=1D1=1X2=1D2=1X1=1D8=2D1=2X1=2X3=1X4=1D3=1D6=1X7=1D3=1X1=1X1=1I4=1D4=1D2=1X4=1I8=1D15=1X27=1D4=1X83=1X167=
+414 1230 95 F 414 1360 1 735 31 92.51 3=1X1=1D1=1X5=1X1=1I2=1X6=1I5=1X2=1D2=1I5=1X2=1I2=1X11=1X8=1X3=1X3=1I5=1X16=1D1=1X11=1D12=1D5=1X24=1X14=1X13=1X19=1X41=1X134=1X21=1X6=1X4=
+404 1268 97 F 411 1627 3 746 23 94.36 5=1D2=1X4=1X4=1I7=1I7=1X1=1I7=1I1X3=1X4=1I21=1X10=1X92=1X85=1X14=1X63=1X12=1X10=1X5=1I14=1I15=1X1=1I3=
+395 1268 101 F 405 1747 0 713 29 92.75 3=2D4=1X4=1I7=1I7=1X1=1I7=1I1X3=1X4=1I21=1X103=1X155=1I6=1X2=1X3=1I5=1I4=1X1=1I7=1I6=1X1I7=1X1=1I2=1X3=1I1=1X8=1D4=
+451 1294 10 F 463 1786 0 740 58 87.31 3=1I1=1I1=1X1=1X3=1X3=1X2=2X1I7=1I1=1X13=1X2=2X5=1I5=1I4=1X9=1I10=1I2=1X1=1X8=1X2=1X1I8=1I11=1I82=1I10=1X8=1X42=1X40=1X4=1D3=1X2I18=1X16=1X7=1I1=1D4=1X5=2X2=1X3=1X2=1I14=1D1=1X2=1I10=1X3=1X5=1X2=1X4=1D1=1X2=1D5=1X5=1X3=1X4=
+429 1297 21 F 436 1327 0 754 37 91.45 2=1X3=1I1=1X1=1X2=1I2=1X7=1X1=1X1=1X1=1I1=1X5=1D1=1X5=1I3=1I2X3=1X2=1X3=1X5=1I2X5=1X2=1X2=1X8=1X3=1X2=1X6=1X10=1X2=1X1I29=1I4=1X16=1X19=1X243=
+445 1362 1 F 425 1500 52 732 46 89.43 3=1X2=1D1=1D2=2X2=1X1=1X1=1X2=1X1=1I2=1X2=1D7=1D1=1D5=1X1=1D7=1D2=2X2=1X2=1X3=1X10=1D4=1X3=1X13=1X1=1D3=1X1D2=1D4=1D5=1D3=1D2=1X4=1X1D5=1X3=1D1=1D16=1X2=1D4=1D9=1D14=1X9=1D229=1X5=
+477 1620 0 F 478 1796 6 832 41 91.41 44=1X37=1X182=1X18=1X16=1D20=1D2=1X20=1X4=1X7=1X1D4=1I9=1X7=1X6=1I2=1D5=1X5=1I2=1X1=1X2=1X2=1X2=2X1=1X1=1X1I1=2X7=1I8=1X1=1X1I4=1X3=1X2=1X3=2X2=1X4=1D3=1X5=
+446 1620 20 F 439 1937 0 762 41 90.73 5=1X9=1X15=1X3=1X26=1X9=1X106=1X17=1X47=1X18=1X12=1X3=1D11=2X7=1D36=1D12=1X9=1X8=1D2=1I3=1X2=1D4=1X1=1X2=1X2=1X3=1D1=1X1=1I3=1D3=1X3=1I3=1D4=1X1=1X2=1D1=2X5=1D3=2X6=
+403 1627 8 F 408 1747 0 754 19 95.31 81=1X92=1X85=1X14=1X54=1I6=1X2=1X3=1I5=1I4=1I9=1I2=1X3=2X7=1X1=1I2=1X5=1X8=1D7=
+415 1663 0 F 414 1893 27 700 43 89.63 14=1X83=1X1=1X13=1X2=1X62=1X68=1D3=1X14=1I6=1D6=1X10=1I9=1D4=1X1=1I12=1D12=1D2=1X6=1X2=1I2=1D3=1X1=2X2=1X1D2=2X4=1D3=2X4=1X2=1I3=2X2=1I1=1I3=1X2=1D2=1X3=1I4=1X4=1X3=
+438 1696 0 F 439 1781 23 748 43 90.19 45=1X36=1X4=1X2=1X26=1X40=1X28=1X95=1X6=1X6=1X3=1X9=1X18=1X1=1X1I6=1X8=1X5=1I2=1X4=1D11=2X2=1D5=1X1I2=1X2=1X5=1I3=1X2=1D1=2X3=1X2=1X1=1I2X3=1X2=1X3=1D1=1X2=1X2=1X4=
+433 1745 0 F 427 1764 1 776 28 93.49 5=1X32=1X6=2X25=1X16=1X126=1X5=1X49=1X25=1X37=1X3=1X7=1D13=1D20=1D1=1X5=1X3=1X2=1D2=1D4=1X4=2X1=1X1=1X3=1D1X3=1X7=
+458 1745 0 F 455 1767 0 829 28 93.87 5=1X83=1X132=1X75=1X41=1X5=1I2=1D7=1I6=1X16=1I4=1D1=1X5=1X3=1X2=1D2=1D4=1X1=1I4=1X3=1X4=1D12=1X2=2X4=1D1X1=1X4=1D6=
+450 1745 9 F 443 1882 0 809 28 93.73 18=1D51=1X9=1X132=1X75=1X49=1D13=1D20=1D1=1X5=1X3=1X2=1D2=1D4=1X4=1I1=1D3=1X1=1D1=1X4=1X5=1X2=1X3=1X4=1D1X1=1D7=1I3=1I2=
+427 1764 1 F 432 1767 0 796 21 95.11 5=1X32=1X6=2X25=1X16=1X126=1X5=1X49=1X63=1X3=1X5=1I9=1I8=1I14=1I26=1X4=1I1=1X1=1X3=1X3=1X7=
+416 1764 10 F 415 1882 0 783 16 96.15 18=1D10=1X6=2X25=1X6=1X9=1X126=1X5=1X49=1X63=1X3=1X68=1X3=3X9=
+403 1764 7 F 417 1896 0 700 40 90.24 21=1D10=1X6=2X25=1X143=1X5=1X21=1X18=1I9=1X25=2X8=1X1I4=1I3=1I6=1I4=1I3=1I6=1I1=1X3=1X2=1I8=1X1I4=1X3=1I3=1X1=1I12=1I2=1X1=1X4=1I1X4=1X2=1X1=1X3=2X5=1I2=
+446 1767 9 F 440 1882 0 826 20 95.49 18=1D51=1X9=1X132=1X117=1X5=1D9=1D8=1D14=1D26=1X4=1D3=1X1=1D1=1I4=1X5=1X5=1D4=1I5=1X4=1X3=
+405 1767 6 F 413 1896 0 710 36 91.20 21=1D61=1X126=1X5=1X21=1X18=1I9=1X25=2X8=1X1I4=1I3=1I6=1I4=1I3=1I6=1I1=1X3=1X2=1I3=1D5=1X1I3=1D1=1X3=1I4=1X16=1X1=1X4=1I1X4=1D3=1X1=1X2=2X5=
+494 1788 0 F 499 1850 9 882 37 92.55 46=1X3=1X21=1X33=1X156=1X72=1X9=1X12=1X6=1X1=1X4=1D16=1X8=1X14=1X8=1I1=1D3=1D1=1X7=1I3=1X2=1X2=1I3=1D1=1X4=1X6=1I4=1X2=1I2=1I1X1=1X1=1X3=1I1X3=1I1=1X3=1I4=
+449 1796 26 F 439 1937 0 759 43 90.32 5=1X9=1X8=1X6=1X3=1X26=1X9=1X106=1X17=1X47=1X18=1X12=1X14=2X9=1X20=1X4=1X7=1X4=1D7=1X1=1X7=1X6=1D4=1X3=1X4=1D10=1X2=1X1=1D3=1X1=1X2=1X2=1D2=1X3=1D4=1D5=1D2=1X2=1X2=1D3=2X2=1D4=
+458 1802 3 F 471 1877 0 827 34 92.68 252=1X27=1X32=1I26=2X1I12=1I5=1X3=1X2=1X10=1X1I4=1X1I6=1X4=1I6=1I1=1X1=1X4=1X1=2I4=1X1D8=1X1I1=1X2=1X8=1I1=1I2=1I1=1X11=1I1=1X3=
+435 1828 6 F 446 1947 0 734 49 88.88 47=1X1=1X102=1X48=1X33=1X40=1D3=1X16=1I8=1I10=1I4=1X3=1I3=1X2=1X2=1X1D2=1X5=1X3=1X1=1D3=2X1I3=1X1=1X1=1I1=1X3=1X1I2=1X6=1I2=1X2=1X1=1D7=1X1I2=1I3=1I3=1I2=1X1=1I6=1X4=1X6=1X1=2X3=1X1=2I4=
+399 1882 0 F 414 1896 3 705 36 91.14 69=1X9=1X126=1X5=1X21=1X18=1I9=1X25=2X8=1X1I4=1I3=1I6=1I4=1I3=1I6=1I1=1X6=1I8=1X1I4=1X3=1I3=1X1=1I12=1I2=1X1=1X4=1I1X4=1X2=1X1=1X3=2X5=1I2=
+# Fields: s. len, s. seqnum, s. start, strand, q. len, q. seqnum, q. start, score, editdist, % identity, cigarX
+414 299 0 P 420 883 20 729 35 91.61 209=1X1I3=1I53=1I48=2X1I5=1X7=1X1=1I12=1I3=1I5=2X5=1X2=2X4=1X2=1X3=1I2=1X2=1D1=1X1I1=2D2=1X1=1X3=1X1=1I2=1X3=1X4=1D2=1X1=1X2=
diff --git a/testdata/see-ext-at1MB-400-dtrace.matches b/testdata/see-ext-at1MB-400-dtrace.matches
new file mode 100644
index 0000000..232d9bd
--- /dev/null
+++ b/testdata/see-ext-at1MB-400-dtrace.matches
@@ -0,0 +1,230 @@
+# Options: -ii at1MB -l 400 -outfmt trace=50 -minidentity 80 -history 60
+# Fields: s. len, s. seqnum, s. start, strand, q. len, q. seqnum, q. start, score, editdist, % identity, trace
+597 1 0 F 592 4 7 898 97 83.68 0,0,0,-3,0,0,0,0,0,1,1,9
+538 1 9 F 523 47 0 779 94 82.28 0,0,-1,-2,0,0,-2,2,5,8,17
+577 2 72 F 606 3 0 916 89 84.95 0,0,0,0,0,0,0,0,-3,-9,-10,16
+626 2 34 F 656 5 0 1063 73 88.61 0,0,0,0,0,0,0,0,0,-4,-8,-10,16
+484 2 176 F 513 6 104 730 89 82.15 -1,0,0,0,0,0,-4,-7,-9,8
+706 2 0 F 749 16 84 1269 62 91.48 0,0,0,0,0,0,0,0,0,0,-6,-8,-13,-16,44
+660 2 0 F 687 39 0 1065 94 86.04 0,0,0,0,0,0,0,0,0,0,-6,-8,-12,39
+668 3 0 F 660 5 38 1139 63 90.51 0,0,0,0,0,0,0,0,0,1,1,1,2,35
+639 3 14 F 631 6 14 1063 69 89.13 0,0,-1,0,0,0,0,0,1,1,0,4,14
+655 3 0 F 650 16 156 1047 86 86.82 0,0,0,0,0,0,0,0,0,1,1,1,2,45
+653 3 0 F 643 39 72 1203 31 95.22 0,0,0,0,0,0,0,0,0,1,1,1,7,47
+613 4 16 F 571 47 0 1022 54 90.88 0,0,0,0,0,0,0,0,4,6,15,12,42
+704 5 52 F 700 6 14 1056 116 83.48 0,0,-1,0,0,0,0,0,0,0,-1,0,5,2,45
+742 5 0 F 746 16 118 1323 55 92.61 0,0,0,0,0,0,0,0,0,0,0,0,0,-1,5
+756 5 0 F 750 39 34 1275 77 89.77 0,0,0,0,0,0,0,0,0,0,0,0,0,5,2,43
+599 6 104 F 601 16 260 915 95 84.17 1,0,0,0,0,0,0,0,1,0,-4,1
+783 6 14 F 788 39 86 1400 57 92.74 0,0,1,0,0,0,0,0,0,0,1,0,0,0,-1,11
+467 11 135 F 449 29 138 766 50 89.08 2,0,0,0,0,0,0,5,8,36
+767 16 84 F 766 39 0 1248 95 87.61 0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,30
+397 18 0 F 417 46 194 634 60 85.26 0,0,0,0,0,-2,-8,-7
+458 34 157 F 442 1317 0 789 37 91.78 9,4,1,0,0,0,0,2,0,42
+399 35 140 F 402 72 145 717 28 93.01 -6,0,0,0,0,0,1,3
+430 61 134 F 438 65 137 787 27 93.78 0,0,0,0,1,0,0,-1,12
+517 64 0 F 517 65 0 1034 0 100.00 0,0,0,0,0,0,0,0,0,0,33
+461 78 86 F 459 80 149 800 40 91.30 2,0,0,0,1,0,2,-3,0,39
+542 78 223 F 540 1488 8 995 29 94.64 0,1,1,0,0,0,0,0,0,0,8
+568 79 56 F 568 1495 0 1022 38 93.31 3,-1,-2,0,0,0,0,0,0,0,0,32
+417 223 0 F 414 271 2 801 10 97.59 2,0,0,0,0,0,0,1,33
+418 229 0 F 419 270 0 828 3 99.28 0,0,0,0,0,0,0,0,31
+418 318 13 F 428 1693 142 621 75 82.27 -5,0,2,0,-7,-8,-2,6,36
+405 336 36 F 419 1703 0 734 30 92.72 -1,0,0,0,0,0,-6,-7,45
+439 376 0 F 450 1694 81 703 62 86.05 -7,-2,-3,0,0,-1,-1,0,14
+400 380 1 F 408 451 26 766 14 96.53 -7,-1,0,0,0,0,0,0
+403 380 0 F 406 630 10 722 29 92.83 -1,-2,0,0,0,0,0,0,47
+401 380 0 F 404 736 106 784 7 98.26 -3,0,0,0,0,0,0,0,49
+400 380 3 F 403 846 215 773 10 97.51 -3,0,0,0,0,0,0,0
+403 380 0 F 407 902 16 783 9 97.78 -4,0,0,0,0,0,0,0,47
+401 380 2 F 408 1100 35 740 23 94.31 -5,-2,0,0,0,0,0,0,49
+401 380 2 F 407 1143 2 721 29 92.82 -2,-3,-1,0,0,0,0,0,49
+403 380 0 F 407 1151 49 786 8 98.02 -4,0,0,0,0,0,0,0,47
+403 380 0 F 409 1230 104 773 13 96.80 -3,-2,-1,0,0,0,0,0,47
+399 380 0 F 406 1360 9 730 25 93.79 -6,-1,0,0,0,0,0,1
+475 404 165 F 466 819 35 809 44 90.65 8,3,-1,-1,0,0,0,0,0,25
+418 404 186 F 420 975 52 760 26 93.79 0,0,-1,-1,0,0,0,0,32
+420 404 213 F 444 1362 2 699 55 87.27 -7,-5,-9,-3,0,0,0,0,30
+453 404 187 F 455 1500 29 806 34 92.51 0,1,-2,-1,0,0,0,0,0,47
+434 406 8 F 430 542 0 771 31 92.82 4,0,0,0,0,0,0,0,16
+402 406 40 F 413 1056 0 713 34 91.66 -1,-6,-4,0,0,0,0,0,48
+430 412 83 F 436 1525 0 755 37 91.45 -6,-3,2,1,0,0,0,0,20
+434 426 27 F 429 795 0 722 47 89.11 3,3,1,-1,-1,0,0,0,16
+409 432 9 F 410 652 0 735 28 93.16 2,-3,0,0,0,0,0,0,41
+422 432 0 F 423 825 61 791 18 95.74 0,-1,0,0,0,0,0,0,28
+397 432 0 F 403 1469 51 728 24 94.00 -5,-3,2,0,0,0,0,3
+423 449 0 F 421 868 143 802 14 96.68 2,-1,1,0,0,0,0,0,27
+434 451 0 F 427 736 83 825 12 97.21 4,3,0,0,0,0,0,0,16
+434 451 0 F 427 846 189 816 15 96.52 4,3,0,0,0,0,0,0,16
+424 451 10 F 420 902 1 787 19 95.50 2,2,0,0,0,0,0,0,26
+434 451 0 F 429 1100 12 764 33 92.35 6,-1,0,0,0,0,0,0,16
+434 451 0 F 428 1151 26 823 13 96.98 4,2,0,0,0,0,0,0,16
+434 451 0 F 431 1230 80 805 20 95.38 3,3,-3,0,0,0,0,0,16
+417 451 15 F 414 1360 1 726 35 91.58 1,2,0,0,0,0,0,0,33
+415 452 0 F 413 882 3 750 26 93.72 0,1,2,-1,0,0,0,0,35
+424 454 70 F 432 1837 0 793 21 95.09 1,0,0,0,0,0,-1,-4,22
+453 460 27 F 452 1351 0 821 28 93.81 0,-1,0,2,0,0,0,0,0,47
+492 474 48 F 480 543 0 903 23 95.27 7,4,0,1,0,0,0,0,0,8
+540 474 0 F 522 658 80 975 29 94.54 5,5,4,1,2,1,0,0,0,0,10
+454 474 86 F 440 713 0 786 36 91.95 8,4,2,0,0,0,0,0,0,46
+423 474 0 F 408 736 18 693 46 88.93 6,3,1,0,1,0,0,2,29
+435 474 105 F 433 798 0 811 19 95.62 2,0,1,-1,0,0,0,0,15
+480 474 35 F 479 826 2 914 15 96.87 0,-1,1,1,0,0,0,0,0,20
+423 474 0 F 418 846 114 685 52 87.63 -4,2,2,0,1,0,0,2,29
+422 474 118 F 417 849 0 758 27 93.56 1,3,0,0,0,1,0,0,28
+488 474 47 F 483 912 0 932 13 97.32 3,1,1,0,0,0,0,0,0,12
+407 474 57 F 407 988 0 664 50 87.71 1,-2,1,1,0,0,0,0,42
+419 474 45 F 417 1049 0 722 38 90.91 1,2,-1,1,0,0,0,1,29
+453 474 87 F 444 1120 0 798 33 92.64 5,1,2,0,0,1,0,0,0,47
+422 474 1 F 425 1230 2 679 56 86.78 -4,-2,1,-2,0,0,0,2,30
+500 474 40 F 475 1297 0 852 41 91.59 11,8,3,3,0,0,0,0,0,0
+447 474 68 F 436 1327 0 775 36 91.85 7,2,2,0,0,0,0,0,3
+409 480 46 F 398 926 0 744 21 94.80 7,4,0,0,0,0,0,0,41
+425 489 0 F 429 1339 12 806 16 96.25 -3,-2,1,0,0,0,0,0,25
+409 522 41 F 410 1134 0 723 32 92.19 -1,0,0,0,0,0,0,0,41
+406 530 14 F 398 1343 30 735 23 94.28 6,2,0,0,0,0,0,0,44
+422 536 58 F 414 1082 12 755 27 93.54 5,3,0,0,0,0,0,0,28
+400 542 30 F 413 1056 0 738 25 93.85 -6,-3,-4,0,0,0,0,0
+477 543 3 F 476 658 126 890 21 95.59 -3,1,2,0,1,0,0,0,0,23
+436 543 44 F 429 713 11 793 24 94.45 5,0,2,0,0,0,0,0,14
+429 543 51 F 430 798 3 793 22 94.88 -1,1,0,-1,0,0,0,0,21
+455 543 0 F 466 826 15 852 23 95.01 -10,-1,0,0,0,0,0,0,0,45
+419 543 61 F 416 849 1 748 29 93.05 1,1,0,0,0,1,0,0,31
+475 543 0 F 482 912 1 897 20 95.82 -6,-1,1,-1,0,0,0,0,0,25
+397 543 7 F 407 988 0 633 57 85.82 -6,-3,0,0,0,0,0,2
+404 543 0 F 414 1049 3 677 47 88.51 -7,-1,-1,0,0,0,1,-2,46
+447 543 33 F 444 1120 0 798 31 93.04 0,1,1,0,0,1,0,0,3
+480 543 0 F 468 1297 7 855 31 93.46 6,2,3,1,0,0,0,0,0,20
+439 543 16 F 436 1327 0 782 31 92.91 1,2,0,0,0,0,0,0,11
+436 549 0 F 448 661 68 773 37 91.63 -6,-2,0,-1,-1,-1,0,-1,14
+402 568 10 F 406 1793 2 739 23 94.31 -1,-1,0,0,0,0,-1,-1,48
+432 584 48 F 449 1661 0 707 58 86.83 -4,-3,0,0,0,0,-1,-5,14
+412 630 2 F 414 736 96 730 32 92.25 -3,0,1,0,0,0,0,0,38
+415 630 1 F 416 846 202 729 34 91.82 -2,0,1,0,0,0,0,0,35
+415 630 1 F 419 902 4 732 34 91.85 -5,0,1,0,0,0,0,0,35
+416 630 0 F 420 1100 23 719 39 90.67 -2,-3,1,0,0,0,0,0,34
+425 630 9 F 426 1143 1 728 41 90.36 2,-2,-1,0,0,0,0,0,25
+415 630 1 F 418 1151 38 737 32 92.32 -4,0,1,0,0,0,0,0,35
+416 630 0 F 421 1230 92 732 35 91.64 -3,-1,-1,0,0,0,0,0,34
+409 630 3 F 414 1360 1 688 45 89.06 -5,-1,1,0,0,0,0,0,41
+400 652 10 F 401 825 79 711 30 92.51 -2,1,0,0,0,0,0,0
+412 654 1 F 407 807 63 711 36 91.21 4,-2,1,1,1,0,0,0,38
+440 654 1 F 432 866 142 719 51 88.30 2,1,2,2,1,0,0,0,10
+461 654 0 F 461 1212 120 799 41 91.11 -2,-1,1,1,1,0,0,0,0,39
+441 658 161 F 438 713 2 777 34 92.26 3,0,1,-1,0,0,0,0,9
+425 658 60 F 426 736 0 683 56 86.84 4,-2,-4,-1,-1,-1,0,1,28
+428 658 174 F 433 798 0 795 22 94.89 -1,-2,0,-2,0,0,0,0,22
+467 658 110 F 481 826 0 867 27 94.30 -7,-4,-1,-1,-1,0,0,0,0,33
+465 658 20 F 485 846 47 737 71 85.05 -4,-11,-4,-2,-2,0,-1,0,0,39
+416 658 186 F 416 849 1 763 23 94.47 -1,1,0,-1,1,0,0,0,34
+471 658 126 F 479 912 4 896 18 96.21 -3,-2,-2,0,-1,0,0,0,0,29
+395 658 131 F 407 988 0 646 52 87.03 -5,-4,-1,0,-1,0,0,4
+395 658 131 F 405 1049 12 677 41 89.75 -4,-2,-2,0,-1,0,0,4
+444 658 158 F 444 1120 0 786 34 92.34 0,0,0,-1,0,1,0,0,6
+397 658 88 F 416 1230 11 624 63 84.50 -10,-7,-1,-4,0,-1,0,7
+486 658 116 F 475 1297 0 853 36 92.51 7,3,2,0,-1,0,0,0,0,14
+437 658 140 F 436 1327 0 777 32 92.67 2,1,-1,-1,0,0,0,0,13
+415 691 0 F 433 814 49 722 42 90.09 -13,-5,0,0,0,0,0,0,35
+421 695 59 F 427 938 0 761 29 93.16 -1,-3,-3,0,1,0,0,0,29
+432 701 5 F 422 715 7 731 41 90.40 7,4,-1,0,0,0,0,0,18
+423 713 17 F 432 798 1 753 34 92.05 -7,-1,0,-1,0,0,0,0,27
+415 713 0 F 428 826 53 729 38 90.98 -10,-1,-2,0,0,0,0,0,35
+413 713 27 F 417 849 0 710 40 90.36 -6,1,0,0,1,0,0,0,37
+435 713 0 F 446 912 37 782 33 92.51 -8,0,-3,0,0,0,0,0,15
+437 713 3 F 442 1120 2 789 30 93.17 -5,0,-1,0,0,1,0,0,13
+437 713 3 F 437 1297 38 769 35 91.99 -1,2,-1,0,0,0,0,0,13
+414 713 1 F 420 1327 16 723 37 91.13 -5,1,-2,0,0,0,0,0,36
+382 724 29 F 433 1826 2 605 70 82.82 -17,-9,-1,0,0,-6,-11,11
+510 736 0 F 525 846 91 915 40 92.27 -14,-2,1,0,0,0,0,0,0,0,40
+414 736 96 F 416 902 5 800 10 97.59 -2,0,0,0,0,0,0,0,36
+435 736 75 F 437 1100 4 782 30 93.12 2,-4,0,0,0,0,0,0,15
+406 736 104 F 407 1143 0 726 29 92.87 4,-4,-1,0,0,0,0,0,44
+452 736 58 F 454 1151 0 876 10 97.79 -1,-1,0,0,0,0,0,0,0,48
+485 736 25 F 500 1230 11 898 29 94.11 -10,-2,0,-3,0,0,0,0,0,15
+411 736 97 F 414 1360 1 747 26 93.70 -2,-1,0,0,0,0,0,0,39
+408 798 0 F 407 826 74 755 20 95.09 0,0,0,1,0,0,0,0,42
+420 798 13 F 417 849 0 723 38 90.92 -1,2,0,1,0,1,0,0,30
+428 798 0 F 428 912 55 796 20 95.33 -1,1,-1,1,0,0,0,0,22
+432 798 1 F 428 1120 16 752 36 91.63 0,2,0,1,0,1,0,0,18
+430 798 3 F 423 1297 52 766 29 93.20 3,2,1,1,0,0,0,0,20
+405 798 3 F 402 1327 34 714 31 92.32 1,1,0,1,0,0,0,0,45
+468 807 2 F 464 866 82 800 44 90.56 0,-1,3,0,2,0,0,0,0,32
+468 807 2 F 476 1212 57 824 40 91.53 -3,-5,0,0,0,0,0,0,0,32
+445 815 0 F 462 1699 0 778 43 90.52 -1,-2,-1,0,0,-1,-1,-8,2
+451 819 14 F 467 975 5 810 36 92.16 -9,-6,-1,0,0,0,0,0,0,49
+418 819 76 F 443 1362 3 726 45 89.55 -10,-5,-7,-3,0,0,0,0,32
+484 819 35 F 494 1500 8 882 32 93.46 -6,-3,-1,0,0,0,0,0,0,16
+432 825 27 F 441 1469 13 765 36 91.75 -6,-5,2,0,0,0,0,0,18
+467 826 14 F 463 912 0 873 19 95.91 5,-1,1,-1,0,0,0,0,0,33
+409 826 12 F 407 1049 0 702 38 90.69 2,1,-1,0,0,0,0,1,40
+426 826 55 F 419 1120 0 743 34 91.95 4,1,1,0,0,1,0,0,24
+474 826 7 F 450 1297 0 801 41 91.13 12,7,3,2,0,0,0,0,0,26
+446 826 35 F 436 1327 0 774 36 91.84 8,1,1,0,0,0,0,0,4
+419 846 199 F 422 902 1 793 16 96.20 -3,0,0,0,0,0,0,0,31
+434 846 184 F 437 1100 6 772 33 92.42 1,-4,0,0,0,0,0,0,16
+454 846 164 F 456 1151 0 859 17 96.26 0,-2,0,0,0,0,0,0,0,46
+503 846 115 F 511 1230 2 879 45 91.12 1,-5,-1,-2,-1,0,0,0,0,0,47
+410 846 204 F 414 1360 1 731 31 92.48 -3,-1,0,0,0,0,0,0,40
+447 848 138 F 476 1658 0 737 62 86.57 -4,-1,-1,-2,-1,0,-1,-8,-8
+412 849 0 F 415 912 68 746 27 93.47 1,-3,0,0,0,-1,0,0,38
+417 849 0 F 417 1120 27 705 43 89.69 1,-1,0,0,1,-1,0,0,33
+417 849 0 F 413 1297 62 722 36 91.33 4,0,1,0,0,-1,0,0,33
+557 866 17 F 561 1212 0 884 78 86.05 6,-1,-2,-4,-1,-2,0,0,0,0,0,43
+405 867 233 F 417 1602 0 708 38 90.75 -2,-1,0,0,0,0,-2,-6,44
+421 884 0 F 427 890 8 770 26 93.87 -3,-1,-2,0,0,0,0,0,29
+424 892 0 F 420 1300 64 772 24 94.31 2,2,0,0,0,0,0,0,26
+423 902 0 F 423 1100 20 747 33 92.20 3,-3,0,0,0,0,0,0,27
+409 902 14 F 409 1143 0 728 30 92.67 5,-4,-1,0,0,0,0,0,41
+423 902 0 F 422 1151 34 818 9 97.87 1,0,0,0,0,0,0,0,27
+420 902 3 F 422 1230 91 785 19 95.49 0,1,-3,0,0,0,0,0,30
+404 902 15 F 407 1360 8 736 25 93.83 -2,-1,0,0,0,0,0,0,46
+438 905 0 F 451 1693 83 730 53 88.08 0,1,1,0,-1,-5,-9,-1,13
+403 912 9 F 407 988 0 648 54 86.67 -1,-3,1,0,0,0,1,-2,47
+411 912 1 F 414 1049 3 696 43 89.58 -2,1,-2,1,0,0,0,0,38
+445 912 38 F 439 1120 0 791 31 92.99 3,0,2,0,0,1,0,0,5
+483 912 0 F 464 1297 6 842 35 92.61 10,5,2,2,0,0,0,0,0,17
+444 912 19 F 436 1327 0 778 34 92.27 6,0,2,0,0,0,0,0,6
+396 975 76 F 417 1362 0 687 42 89.67 -5,-4,-8,-4,0,0,0,4
+419 975 53 F 419 1500 29 781 19 95.47 0,1,-1,0,0,0,0,0,31
+426 988 0 F 424 1049 12 766 28 93.41 0,4,-2,0,0,0,0,0,24
+433 1049 0 F 413 1297 4 630 72 82.98 10,6,4,1,0,0,0,-1,17
+409 1049 24 F 401 1327 2 615 65 83.95 6,2,1,0,0,0,-1,4,37
+409 1097 23 F 417 1806 1 721 35 91.53 -4,-1,0,1,0,0,-2,-2,41
+410 1100 33 F 408 1143 1 725 31 92.42 5,-2,-1,0,0,0,0,0,40
+442 1100 1 F 440 1151 16 789 31 92.97 0,1,1,0,0,0,0,0,8
+440 1100 3 F 442 1230 71 792 30 93.20 -3,3,-2,0,0,0,0,0,10
+413 1100 26 F 414 1360 1 704 41 90.08 -3,2,0,0,0,0,0,0,37
+444 1120 0 F 439 1297 36 772 37 91.62 3,2,1,0,0,-1,0,0,6
+419 1120 0 F 419 1327 17 715 41 90.21 1,1,-1,0,0,-1,0,0,31
+409 1143 0 F 409 1151 47 734 28 93.15 -4,3,1,0,0,0,0,0,41
+407 1143 2 F 407 1230 106 742 24 94.10 -1,2,-1,0,0,0,0,0,43
+405 1143 0 F 405 1360 10 681 43 89.38 -3,2,1,0,0,0,0,0,45
+456 1151 0 F 463 1230 50 844 25 94.56 -5,1,-1,-2,0,0,0,0,0,44
+412 1151 40 F 414 1360 1 742 28 93.22 -1,-1,0,0,0,0,0,0,38
+436 1210 50 F 431 1516 1 786 27 93.77 4,2,-1,0,0,0,0,0,14
+443 1226 5 F 421 1296 26 732 44 89.81 11,8,2,1,0,0,0,0,7
+414 1230 95 F 414 1360 1 735 31 92.51 -2,0,2,0,0,0,0,0,36
+404 1268 97 F 411 1627 3 746 23 94.36 -3,-1,0,0,0,0,0,-2,45
+395 1268 101 F 405 1747 0 713 29 92.75 -3,0,0,0,0,0,-3,1
+451 1294 10 F 463 1786 0 740 58 87.31 -4,-5,-2,-1,0,0,-1,-1,2,49
+429 1297 21 F 436 1327 0 754 37 91.45 -4,-1,-2,0,0,0,0,0,21
+445 1362 1 F 425 1500 52 732 46 89.43 5,2,9,3,1,0,0,0,5
+477 1620 0 F 478 1796 6 832 41 91.41 0,0,0,0,0,0,2,0,-4,24
+446 1620 20 F 439 1937 0 762 41 90.73 0,0,0,0,0,1,2,2,6
+403 1627 8 F 408 1747 0 754 19 95.31 0,0,0,0,0,0,-3,-2,47
+415 1663 0 F 414 1893 27 700 43 89.63 0,0,0,0,1,-1,2,0,34
+438 1696 0 F 439 1781 23 748 43 90.19 0,0,0,0,0,0,-1,-1,13
+433 1745 0 F 427 1764 1 776 28 93.49 0,0,0,0,0,0,1,3,19
+458 1745 0 F 455 1767 0 829 28 93.87 0,0,0,0,0,0,0,0,2,43
+450 1745 9 F 443 1882 0 809 28 93.73 1,0,0,0,0,0,1,4,1
+427 1764 1 F 432 1767 0 796 21 95.11 0,0,0,0,0,0,-1,-3,22
+416 1764 10 F 415 1882 0 783 16 96.15 1,0,0,0,0,0,0,0,34
+403 1764 7 F 417 1896 0 700 40 90.24 1,0,0,0,0,-1,-9,-4,46
+446 1767 9 F 440 1882 0 826 20 95.49 1,0,0,0,0,0,2,2,5
+405 1767 6 F 413 1896 0 710 36 91.20 1,0,0,0,0,-1,-8,0,45
+494 1788 0 F 499 1850 9 882 37 92.55 0,0,0,0,0,0,0,1,-1,1
+449 1796 26 F 439 1937 0 759 43 90.32 0,0,0,0,0,0,1,3,7
+458 1802 3 F 471 1877 0 827 34 92.68 0,0,0,0,0,0,-2,-5,-5,41
+435 1828 6 F 446 1947 0 734 49 88.88 0,0,0,0,0,0,-1,-6,11
+399 1882 0 F 414 1896 3 705 36 91.14 0,0,0,0,0,-2,-8,-4
+414 299 0 P 420 883 20 729 35 91.61 0,0,0,0,-2,-1,-4,0,37
diff --git a/testdata/see-ext-at1MB-400-evalue-bitscore.matches b/testdata/see-ext-at1MB-400-evalue-bitscore.matches
new file mode 100644
index 0000000..c12d0d7
--- /dev/null
+++ b/testdata/see-ext-at1MB-400-evalue-bitscore.matches
@@ -0,0 +1,228 @@
+597 1 0 F 592 4 7 898 97 83.68 3e-154 538.9
+538 1 9 F 523 47 0 779 94 82.28 2e-128 453.1
+577 2 72 F 606 3 0 916 89 84.95 3e-168 585.3
+626 2 34 F 656 5 0 1063 73 88.61 8e-219 753.5
+484 2 176 F 513 6 104 730 89 82.15 1e-119 423.9
+706 2 0 F 749 16 84 1269 62 91.48 7e-284 969.8
+660 2 0 F 687 39 0 1065 94 86.04 3e-202 698.6
+668 3 0 F 660 5 38 1139 63 90.51 2e-241 829.1
+639 3 14 F 631 6 14 1063 69 89.13 3e-217 748.4
+655 3 0 F 650 16 156 1047 86 86.82 4e-199 688.3
+653 3 0 F 643 39 72 1203 31 95.22 2e-282 964.7
+613 4 16 F 571 47 0 1022 54 90.88 1e-225 775.8
+704 5 52 F 700 6 14 1056 116 83.48 5e-180 624.8
+742 5 0 F 746 16 118 1323 55 92.61 1e-293 1002.5
+756 5 0 F 750 39 34 1275 77 89.77 3e-266 911.5
+599 6 104 F 601 16 260 915 95 84.17 8e-159 554.4
+783 6 14 F 788 39 86 1400 57 92.74 3e-312 1064.3
+467 11 135 F 449 29 138 766 50 89.08 2e-156 545.8
+767 16 84 F 766 39 0 1248 95 87.61 4e-244 837.6
+397 18 0 F 417 46 194 634 60 85.26 5e-115 408.4
+458 34 157 F 442 1317 0 789 37 91.78 5e-172 597.3
+399 35 140 F 402 72 145 717 28 93.01 2e-159 556.1
+430 61 134 F 438 65 137 787 27 93.78 4e-179 621.3
+517 64 0 F 517 65 0 1034 0 100.00 9e-260 889.1
+461 78 86 F 459 80 149 800 40 91.30 3e-170 592.1
+542 78 223 F 540 1488 8 995 29 94.64 2e-230 791.3
+568 79 56 F 568 1495 0 1022 38 93.31 7e-231 793.0
+417 223 0 F 414 271 2 801 10 97.59 1e-192 666.0
+418 229 0 F 419 270 0 828 3 99.28 1e-204 705.4
+418 318 13 F 428 1693 142 621 75 82.27 9e-106 377.5
+405 336 36 F 419 1703 0 734 30 92.72 9e-163 566.4
+439 376 0 F 450 1694 81 703 62 86.05 1e-132 466.8
+400 380 1 F 408 451 26 766 14 96.53 7e-182 629.9
+403 380 0 F 406 630 10 722 29 92.83 1e-157 549.2
+401 380 0 F 404 736 106 784 7 98.26 1e-190 659.1
+400 380 3 F 403 846 215 773 10 97.51 2e-185 641.9
+403 380 0 F 407 902 16 783 9 97.78 4e-189 653.9
+401 380 2 F 408 1100 35 740 23 94.31 7e-168 583.6
+401 380 2 F 407 1143 2 721 29 92.82 4e-159 554.4
+403 380 0 F 407 1151 49 786 8 98.02 1e-190 659.1
+403 380 0 F 409 1230 104 773 13 96.80 7e-184 636.8
+399 380 0 F 406 1360 9 730 25 93.79 8e-164 569.8
+475 404 165 F 466 819 35 809 44 90.65 2e-171 595.6
+418 404 186 F 420 975 52 760 26 93.79 2e-170 592.1
+420 404 213 F 444 1362 2 699 55 87.27 7e-137 480.5
+453 404 187 F 455 1500 29 806 34 92.51 1e-176 612.7
+434 406 8 F 430 542 0 771 31 92.82 5e-170 590.4
+402 406 40 F 413 1056 0 713 34 91.66 2e-154 538.9
+430 412 83 F 436 1525 0 755 37 91.45 9e-163 566.4
+434 426 27 F 429 795 0 722 47 89.11 9e-148 516.6
+409 432 9 F 410 652 0 735 28 93.16 8e-164 569.8
+422 432 0 F 423 825 61 791 18 95.74 2e-184 638.5
+397 432 0 F 403 1469 51 728 24 94.00 3e-165 575.0
+423 449 0 F 421 868 143 802 14 96.68 5e-191 660.8
+434 451 0 F 427 736 83 825 12 97.21 2e-198 684.8
+434 451 0 F 427 846 189 816 15 96.52 1e-193 669.4
+424 451 10 F 420 902 1 787 19 95.50 6e-184 636.8
+434 451 0 F 429 1100 12 764 33 92.35 7e-167 580.1
+434 451 0 F 428 1151 26 823 13 96.98 2e-197 681.4
+434 451 0 F 431 1230 80 805 20 95.38 2e-187 648.8
+417 451 15 F 414 1360 1 726 35 91.58 5e-156 544.1
+415 452 0 F 413 882 3 750 26 93.72 2e-169 588.7
+424 454 70 F 432 1837 0 793 21 95.09 2e-184 638.5
+453 460 27 F 452 1351 0 821 28 93.81 5e-186 643.6
+492 474 48 F 480 543 0 903 23 95.27 3e-211 727.8
+540 474 0 F 522 658 80 975 29 94.54 1e-226 779.3
+454 474 86 F 440 713 0 786 36 91.95 1e-172 599.0
+423 474 0 F 408 736 18 693 46 88.93 5e-142 497.7
+435 474 105 F 433 798 0 811 19 95.62 4e-189 653.9
+480 474 35 F 479 826 2 914 15 96.87 2e-218 751.8
+423 474 0 F 418 846 114 685 52 87.63 3e-135 475.4
+422 474 118 F 417 849 0 758 27 93.56 2e-169 588.7
+488 474 47 F 483 912 0 932 13 97.32 3e-225 774.1
+407 474 57 F 407 988 0 664 50 87.71 1e-128 453.1
+419 474 45 F 417 1049 0 722 38 90.91 2e-152 532.0
+453 474 87 F 444 1120 0 798 33 92.64 1e-175 609.3
+422 474 1 F 425 1230 2 679 56 86.78 4e-130 458.2
+500 474 40 F 475 1297 0 852 41 91.59 2e-187 648.8
+447 474 68 F 436 1327 0 775 36 91.85 6e-168 583.6
+409 480 46 F 398 926 0 744 21 94.80 2e-171 595.6
+425 489 0 F 429 1339 12 806 16 96.25 4e-191 660.8
+409 522 41 F 410 1134 0 723 32 92.19 5e-156 544.1
+406 530 14 F 398 1343 30 735 23 94.28 7e-167 580.1
+422 536 58 F 414 1082 12 755 27 93.54 6e-169 587.0
+400 542 30 F 413 1056 0 738 25 93.85 6e-168 583.6
+477 543 3 F 476 658 126 890 21 95.59 4e-209 720.9
+436 543 44 F 429 713 11 793 24 94.45 2e-181 628.2
+429 543 51 F 430 798 3 793 22 94.88 2e-182 631.6
+455 543 0 F 466 826 15 852 23 95.01 7e-198 683.1
+419 543 61 F 416 849 1 748 29 93.05 8e-165 573.3
+475 543 0 F 482 912 1 897 20 95.82 8e-212 729.5
+397 543 7 F 407 988 0 633 57 85.82 9e-117 413.6
+404 543 0 F 414 1049 3 677 47 88.51 8e-135 473.7
+447 543 33 F 444 1120 0 798 31 93.04 1e-177 616.2
+480 543 0 F 468 1297 7 855 31 93.46 1e-192 666.0
+439 543 16 F 436 1327 0 782 31 92.91 1e-172 599.0
+436 549 0 F 448 661 68 773 37 91.63 2e-168 585.3
+402 568 10 F 406 1793 2 739 23 94.31 2e-167 581.8
+432 584 48 F 449 1661 0 707 58 86.83 7e-136 477.1
+412 630 2 F 414 736 96 730 32 92.25 2e-157 549.2
+415 630 1 F 416 846 202 729 34 91.82 2e-155 542.4
+415 630 1 F 419 902 4 732 34 91.85 4e-157 547.5
+416 630 0 F 420 1100 23 719 39 90.67 8e-150 523.5
+425 630 9 F 426 1143 1 728 41 90.36 7e-152 530.3
+415 630 1 F 418 1151 38 737 32 92.32 1e-159 556.1
+416 630 0 F 421 1230 92 732 35 91.64 2e-156 545.8
+409 630 3 F 414 1360 1 688 45 89.06 6e-138 484.0
+400 652 10 F 401 825 79 711 30 92.51 6e-156 544.1
+412 654 1 F 407 807 63 711 36 91.21 7e-152 530.3
+440 654 1 F 432 866 142 719 51 88.30 5e-143 501.1
+461 654 0 F 461 1212 120 799 41 91.11 7e-170 590.4
+441 658 161 F 438 713 2 777 34 92.26 2e-170 592.1
+425 658 60 F 426 736 0 683 56 86.84 1e-132 466.8
+428 658 174 F 433 798 0 795 22 94.89 7e-183 633.3
+467 658 110 F 481 826 0 867 27 94.30 6e-200 690.0
+465 658 20 F 485 846 47 737 71 85.05 3e-137 482.3
+416 658 186 F 416 849 1 763 23 94.47 4e-173 600.7
+471 658 126 F 479 912 4 896 18 96.21 8e-213 732.9
+395 658 131 F 407 988 0 646 52 87.03 2e-124 439.3
+395 658 131 F 405 1049 12 677 41 89.75 6e-140 490.8
+444 658 158 F 444 1120 0 786 34 92.34 2e-171 595.6
+397 658 88 F 416 1230 11 624 63 84.50 5e-113 401.6
+486 658 116 F 475 1297 0 853 36 92.51 1e-189 655.7
+437 658 140 F 436 1327 0 777 32 92.67 2e-170 592.1
+415 691 0 F 433 814 49 722 42 90.09 7e-153 533.8
+421 695 59 F 427 938 0 761 29 93.16 5e-170 590.4
+432 701 5 F 422 715 7 731 41 90.40 2e-154 538.9
+423 713 17 F 432 798 1 753 34 92.05 3e-164 571.5
+415 713 0 F 428 826 53 729 38 90.98 5e-156 544.1
+413 713 27 F 417 849 0 710 40 90.36 3e-148 518.3
+435 713 0 F 446 912 37 782 33 92.51 5e-173 600.7
+437 713 3 F 442 1120 2 789 30 93.17 4e-176 611.0
+437 713 3 F 437 1297 38 769 35 91.99 8e-167 580.1
+414 713 1 F 420 1327 16 723 37 91.13 6e-154 537.2
+382 724 29 F 433 1826 2 605 70 82.82 6e-108 384.4
+510 736 0 F 525 846 91 915 40 92.27 6e-204 703.7
+414 736 96 F 416 902 5 800 10 97.59 3e-193 667.7
+435 736 75 F 437 1100 4 782 30 93.12 1e-173 602.4
+406 736 104 F 407 1143 0 726 29 92.87 1e-160 559.5
+452 736 58 F 454 1151 0 876 10 97.79 2e-213 734.6
+485 736 25 F 500 1230 11 898 29 94.11 4e-206 710.6
+411 736 97 F 414 1360 1 747 26 93.70 2e-167 581.8
+408 798 0 F 407 826 74 755 20 95.09 5e-173 600.7
+420 798 13 F 417 849 0 723 38 90.92 2e-152 532.0
+428 798 0 F 428 912 55 796 20 95.33 7e-184 636.8
+432 798 1 F 428 1120 16 752 36 91.63 1e-160 559.5
+430 798 3 F 423 1297 52 766 29 93.20 6e-170 590.4
+405 798 3 F 402 1327 34 714 31 92.32 2e-154 538.9
+468 807 2 F 464 866 82 800 44 90.56 2e-169 588.7
+468 807 2 F 476 1212 57 824 40 91.53 1e-177 616.2
+445 815 0 F 462 1699 0 778 43 90.52 8e-166 576.7
+451 819 14 F 467 975 5 810 36 92.16 1e-178 619.6
+418 819 76 F 443 1362 3 726 45 89.55 7e-152 530.3
+484 819 35 F 494 1500 8 882 32 93.46 2e-198 684.8
+432 825 27 F 441 1469 13 765 36 91.75 7e-167 580.1
+467 826 14 F 463 912 0 873 19 95.91 4e-206 710.6
+409 826 12 F 407 1049 0 702 38 90.69 3e-147 514.9
+426 826 55 F 419 1120 0 743 34 91.95 4e-160 557.8
+474 826 7 F 450 1297 0 801 41 91.13 4e-174 604.2
+446 826 35 F 436 1327 0 774 36 91.84 2e-167 581.8
+419 846 199 F 422 902 1 793 16 96.20 5e-187 647.1
+434 846 184 F 437 1100 6 772 33 92.42 2e-168 585.3
+454 846 164 F 456 1151 0 859 17 96.26 5e-203 700.3
+503 846 115 F 511 1230 2 879 45 91.12 5e-189 653.9
+410 846 204 F 414 1360 1 731 31 92.48 3e-160 557.8
+447 848 138 F 476 1658 0 737 62 86.57 4e-143 501.1
+412 849 0 F 415 912 68 746 27 93.47 8e-166 576.7
+417 849 0 F 417 1120 27 705 43 89.69 4e-143 501.1
+417 849 0 F 413 1297 62 722 36 91.33 6e-154 537.2
+557 866 17 F 561 1212 0 884 78 86.05 3e-168 585.3
+405 867 233 F 417 1602 0 708 38 90.75 8e-150 523.5
+421 884 0 F 427 890 8 770 26 93.87 1e-174 605.9
+424 892 0 F 420 1300 64 772 24 94.31 4e-175 607.6
+423 902 0 F 423 1100 20 747 33 92.20 1e-162 566.4
+409 902 14 F 409 1143 0 728 30 92.67 1e-160 559.5
+423 902 0 F 422 1151 34 818 9 97.87 7e-198 683.1
+420 902 3 F 422 1230 91 785 19 95.49 2e-183 635.1
+404 902 15 F 407 1360 8 736 25 93.83 2e-165 575.0
+438 905 0 F 451 1693 83 730 53 88.08 1e-147 516.6
+403 912 9 F 407 988 0 648 54 86.67 6e-122 430.8
+411 912 1 F 414 1049 3 696 43 89.58 4e-143 501.1
+445 912 38 F 439 1120 0 791 31 92.99 1e-174 605.9
+483 912 0 F 464 1297 6 842 35 92.61 5e-188 650.5
+444 912 19 F 436 1327 0 778 34 92.27 2e-169 588.7
+396 975 76 F 417 1362 0 687 42 89.67 1e-143 502.9
+419 975 53 F 419 1500 29 781 19 95.47 3e-180 624.8
+426 988 0 F 424 1049 12 766 28 93.41 2e-171 595.6
+433 1049 0 F 413 1297 4 630 72 82.98 6e-108 384.4
+409 1049 24 F 401 1327 2 615 65 83.95 2e-106 379.3
+409 1097 23 F 417 1806 1 721 35 91.53 2e-154 538.9
+410 1100 33 F 408 1143 1 725 31 92.42 1e-158 552.7
+442 1100 1 F 440 1151 16 789 31 92.97 4e-175 607.6
+440 1100 3 F 442 1230 71 792 30 93.20 1e-176 612.7
+413 1100 26 F 414 1360 1 704 41 90.08 1e-145 509.7
+444 1120 0 F 439 1297 36 772 37 91.62 8e-166 576.7
+419 1120 0 F 419 1327 17 715 41 90.21 1e-146 513.2
+409 1143 0 F 409 1151 47 734 28 93.15 3e-163 568.1
+407 1143 2 F 407 1230 106 742 24 94.10 8e-168 583.6
+405 1143 0 F 405 1360 10 681 43 89.38 2e-138 485.7
+456 1151 0 F 463 1230 50 844 25 94.56 3e-194 671.1
+412 1151 40 F 414 1360 1 742 28 93.22 2e-165 575.0
+436 1210 50 F 431 1516 1 786 27 93.77 3e-177 614.5
+443 1226 5 F 421 1296 26 732 44 89.81 2e-154 538.9
+414 1230 95 F 414 1360 1 735 31 92.51 3e-161 561.2
+404 1268 97 F 411 1627 3 746 23 94.36 5e-170 590.4
+395 1268 101 F 405 1747 0 713 29 92.75 1e-158 552.7
+451 1294 10 F 463 1786 0 740 58 87.31 4e-144 504.6
+429 1297 21 F 436 1327 0 754 37 91.45 3e-161 561.2
+445 1362 1 F 425 1500 52 732 46 89.43 8e-152 530.3
+477 1620 0 F 478 1796 6 832 41 91.41 1e-178 619.6
+446 1620 20 F 439 1937 0 762 41 90.73 3e-161 561.2
+403 1627 8 F 408 1747 0 754 19 95.31 1e-174 605.9
+415 1663 0 F 414 1893 27 700 43 89.63 1e-144 506.3
+438 1696 0 F 439 1781 23 748 43 90.19 6e-155 540.6
+433 1745 0 F 427 1764 1 776 28 93.49 4e-173 600.7
+458 1745 0 F 455 1767 0 829 28 93.87 5e-188 650.5
+450 1745 9 F 443 1882 0 809 28 93.73 7e-183 633.3
+427 1764 1 F 432 1767 0 796 21 95.11 2e-183 635.1
+416 1764 10 F 415 1882 0 783 16 96.15 7e-183 633.3
+403 1764 7 F 417 1896 0 700 40 90.24 9e-147 513.2
+446 1767 9 F 440 1882 0 826 20 95.49 1e-192 666.0
+405 1767 6 F 413 1896 0 710 36 91.20 2e-152 532.0
+494 1788 0 F 499 1850 9 882 37 92.55 1e-194 672.8
+449 1796 26 F 439 1937 0 759 43 90.32 4e-158 550.9
+458 1802 3 F 471 1877 0 827 34 92.68 7e-184 636.8
+435 1828 6 F 446 1947 0 734 49 88.88 3e-149 521.7
+399 1882 0 F 414 1896 3 705 36 91.14 7e-151 526.9
+414 299 0 P 420 883 20 729 35 91.61 5e-157 547.5
diff --git a/testdata/see-ext-at1MB-400-seqdesc.matches b/testdata/see-ext-at1MB-400-seqdesc.matches
new file mode 100644
index 0000000..a239c95
--- /dev/null
+++ b/testdata/see-ext-at1MB-400-seqdesc.matches
@@ -0,0 +1,230 @@
+# Options: -ii at1MB -l 400 -outfmt subjectid queryid -minidentity 80 -history 60
+# Fields: s. len, subject id, s. start, strand, q. len, query id, q. start, score, editdist, % identity
+597 gi|4714049|dbj|C99932.1|C99932 0 F 592 gi|4714046|dbj|C99929.1|C99929 7 898 97 83.68
+538 gi|4714049|dbj|C99932.1|C99932 9 F 523 gi|4714003|dbj|C99879.1|C99879 0 779 94 82.28
+577 gi|4714048|dbj|C99931.1|C99931 72 F 606 gi|4714047|dbj|C99930.1|C99930 0 916 89 84.95
+626 gi|4714048|dbj|C99931.1|C99931 34 F 656 gi|4714045|dbj|C99928.1|C99928 0 1063 73 88.61
+484 gi|4714048|dbj|C99931.1|C99931 176 F 513 gi|4714044|dbj|C99927.1|C99927 104 730 89 82.15
+706 gi|4714048|dbj|C99931.1|C99931 0 F 749 gi|4714034|dbj|C99916.1|C99916 84 1269 62 91.48
+660 gi|4714048|dbj|C99931.1|C99931 0 F 687 gi|4714011|dbj|C99887.1|C99887 0 1065 94 86.04
+668 gi|4714047|dbj|C99930.1|C99930 0 F 660 gi|4714045|dbj|C99928.1|C99928 38 1139 63 90.51
+639 gi|4714047|dbj|C99930.1|C99930 14 F 631 gi|4714044|dbj|C99927.1|C99927 14 1063 69 89.13
+655 gi|4714047|dbj|C99930.1|C99930 0 F 650 gi|4714034|dbj|C99916.1|C99916 156 1047 86 86.82
+653 gi|4714047|dbj|C99930.1|C99930 0 F 643 gi|4714011|dbj|C99887.1|C99887 72 1203 31 95.22
+613 gi|4714046|dbj|C99929.1|C99929 16 F 571 gi|4714003|dbj|C99879.1|C99879 0 1022 54 90.88
+704 gi|4714045|dbj|C99928.1|C99928 52 F 700 gi|4714044|dbj|C99927.1|C99927 14 1056 116 83.48
+742 gi|4714045|dbj|C99928.1|C99928 0 F 746 gi|4714034|dbj|C99916.1|C99916 118 1323 55 92.61
+756 gi|4714045|dbj|C99928.1|C99928 0 F 750 gi|4714011|dbj|C99887.1|C99887 34 1275 77 89.77
+599 gi|4714044|dbj|C99927.1|C99927 104 F 601 gi|4714034|dbj|C99916.1|C99916 260 915 95 84.17
+783 gi|4714044|dbj|C99927.1|C99927 14 F 788 gi|4714011|dbj|C99887.1|C99887 86 1400 57 92.74
+467 gi|4714039|dbj|C99921.1|C99921 135 F 449 gi|4714021|dbj|C99899.1|C99899 138 766 50 89.08
+767 gi|4714034|dbj|C99916.1|C99916 84 F 766 gi|4714011|dbj|C99887.1|C99887 0 1248 95 87.61
+397 gi|4714032|dbj|C99913.1|C99913 0 F 417 gi|4714004|dbj|C99880.1|C99880 194 634 60 85.26
+458 gi|4714016|dbj|C99892.1|C99892 157 F 442 gi|3449622|gb|AI099883.1|AI099883 0 789 37 91.78
+399 gi|4714015|dbj|C99891.1|C99891 140 F 402 gi|4713978|dbj|C99852.1|C99852 145 717 28 93.01
+430 gi|4713989|dbj|C99864.1|C99864 134 F 438 gi|4713985|dbj|C99860.1|C99860 137 787 27 93.78
+517 gi|4713986|dbj|C99861.1|C99861 0 F 517 gi|4713985|dbj|C99860.1|C99860 0 1034 0 100.00
+461 gi|4239693|emb|AJ132746.1|AJ132746 86 F 459 gi|4239689|emb|AJ132743.1|AJ132743 149 800 40 91.30
+542 gi|4239693|emb|AJ132746.1|AJ132746 223 F 540 gi|3449451|gb|AI099712.1|AI099712 8 995 29 94.64
+568 gi|4239690|emb|AJ132744.1|AJ132744 56 F 568 gi|3449444|gb|AI099705.1|AI099705 0 1022 38 93.31
+417 gi|3719174|dbj|C99817.1|C99817 0 F 414 gi|3719126|dbj|C99769.1|C99769 2 801 10 97.59
+418 gi|3719168|dbj|C99811.1|C99811 0 F 419 gi|3719127|dbj|C99770.1|C99770 0 828 3 99.28
+418 gi|3450621|gb|AI100660.1|AI100660 13 F 428 gi|2764257|gb|R65162.1|R65162 142 621 75 82.27
+405 gi|3450603|gb|AI100642.1|AI100642 36 F 419 gi|2764247|gb|R65127.1|R65127 0 734 30 92.72
+439 gi|3450563|gb|AI100602.1|AI100602 0 F 450 gi|2764256|gb|R65161.1|R65161 81 703 62 86.05
+400 gi|3450559|gb|AI100598.1|AI100598 1 F 408 gi|3450488|gb|AI100527.1|AI100527 26 766 14 96.53
+403 gi|3450559|gb|AI100598.1|AI100598 0 F 406 gi|3450309|gb|AI100348.1|AI100348 10 722 29 92.83
+401 gi|3450559|gb|AI100598.1|AI100598 0 F 404 gi|3450203|gb|AI100242.1|AI100242 106 784 7 98.26
+400 gi|3450559|gb|AI100598.1|AI100598 3 F 403 gi|3450093|gb|AI100132.1|AI100132 215 773 10 97.51
+403 gi|3450559|gb|AI100598.1|AI100598 0 F 407 gi|3450037|gb|AI100754.1|AI100754 16 783 9 97.78
+401 gi|3450559|gb|AI100598.1|AI100598 2 F 408 gi|3449839|gb|AI099527.1|AI099527 35 740 23 94.31
+401 gi|3450559|gb|AI100598.1|AI100598 2 F 407 gi|3449796|gb|AI100057.1|AI100057 2 721 29 92.82
+403 gi|3450559|gb|AI100598.1|AI100598 0 F 407 gi|3449788|gb|AI100049.1|AI100049 49 786 8 98.02
+403 gi|3450559|gb|AI100598.1|AI100598 0 F 409 gi|3449709|gb|AI099970.1|AI099970 104 773 13 96.80
+399 gi|3450559|gb|AI100598.1|AI100598 0 F 406 gi|3449579|gb|AI099840.1|AI099840 9 730 25 93.79
+475 gi|3450535|gb|AI100574.1|AI100574 165 F 466 gi|3450120|gb|AI100159.1|AI100159 35 809 44 90.65
+418 gi|3450535|gb|AI100574.1|AI100574 186 F 420 gi|3449964|gb|AI099652.1|AI099652 52 760 26 93.79
+420 gi|3450535|gb|AI100574.1|AI100574 213 F 444 gi|3449577|gb|AI099838.1|AI099838 2 699 55 87.27
+453 gi|3450535|gb|AI100574.1|AI100574 187 F 455 gi|3449439|gb|AI099700.1|AI099700 29 806 34 92.51
+434 gi|3450533|gb|AI100572.1|AI100572 8 F 430 gi|3450397|gb|AI100436.1|AI100436 0 771 31 92.82
+402 gi|3450533|gb|AI100572.1|AI100572 40 F 413 gi|3449883|gb|AI099571.1|AI099571 0 713 34 91.66
+430 gi|3450527|gb|AI100566.1|AI100566 83 F 436 gi|3449414|gb|AI099675.1|AI099675 0 755 37 91.45
+434 gi|3450513|gb|AI100552.1|AI100552 27 F 429 gi|3450144|gb|AI100183.1|AI100183 0 722 47 89.11
+409 gi|3450507|gb|AI100546.1|AI100546 9 F 410 gi|3450287|gb|AI100326.1|AI100326 0 735 28 93.16
+422 gi|3450507|gb|AI100546.1|AI100546 0 F 423 gi|3450114|gb|AI100153.1|AI100153 61 791 18 95.74
+397 gi|3450507|gb|AI100546.1|AI100546 0 F 403 gi|3449470|gb|AI099731.1|AI099731 51 728 24 94.00
+423 gi|3450490|gb|AI100529.1|AI100529 0 F 421 gi|3450071|gb|AI100110.1|AI100110 143 802 14 96.68
+434 gi|3450488|gb|AI100527.1|AI100527 0 F 427 gi|3450203|gb|AI100242.1|AI100242 83 825 12 97.21
+434 gi|3450488|gb|AI100527.1|AI100527 0 F 427 gi|3450093|gb|AI100132.1|AI100132 189 816 15 96.52
+424 gi|3450488|gb|AI100527.1|AI100527 10 F 420 gi|3450037|gb|AI100754.1|AI100754 1 787 19 95.50
+434 gi|3450488|gb|AI100527.1|AI100527 0 F 429 gi|3449839|gb|AI099527.1|AI099527 12 764 33 92.35
+434 gi|3450488|gb|AI100527.1|AI100527 0 F 428 gi|3449788|gb|AI100049.1|AI100049 26 823 13 96.98
+434 gi|3450488|gb|AI100527.1|AI100527 0 F 431 gi|3449709|gb|AI099970.1|AI099970 80 805 20 95.38
+417 gi|3450488|gb|AI100527.1|AI100527 15 F 414 gi|3449579|gb|AI099840.1|AI099840 1 726 35 91.58
+415 gi|3450487|gb|AI100526.1|AI100526 0 F 413 gi|3450057|gb|AI100096.1|AI100096 3 750 26 93.72
+424 gi|3450485|gb|AI100524.1|AI100524 70 F 432 gi|2764113|gb|R30496.1|R30496 0 793 21 95.09
+453 gi|3450479|gb|AI100518.1|AI100518 27 F 452 gi|3449588|gb|AI099849.1|AI099849 0 821 28 93.81
+492 gi|3450465|gb|AI100504.1|AI100504 48 F 480 gi|3450396|gb|AI100435.1|AI100435 0 903 23 95.27
+540 gi|3450465|gb|AI100504.1|AI100504 0 F 522 gi|3450281|gb|AI100320.1|AI100320 80 975 29 94.54
+454 gi|3450465|gb|AI100504.1|AI100504 86 F 440 gi|3450226|gb|AI100265.1|AI100265 0 786 36 91.95
+423 gi|3450465|gb|AI100504.1|AI100504 0 F 408 gi|3450203|gb|AI100242.1|AI100242 18 693 46 88.93
+435 gi|3450465|gb|AI100504.1|AI100504 105 F 433 gi|3450141|gb|AI100180.1|AI100180 0 811 19 95.62
+480 gi|3450465|gb|AI100504.1|AI100504 35 F 479 gi|3450113|gb|AI100152.1|AI100152 2 914 15 96.87
+423 gi|3450465|gb|AI100504.1|AI100504 0 F 418 gi|3450093|gb|AI100132.1|AI100132 114 685 52 87.63
+422 gi|3450465|gb|AI100504.1|AI100504 118 F 417 gi|3450090|gb|AI100129.1|AI100129 0 758 27 93.56
+488 gi|3450465|gb|AI100504.1|AI100504 47 F 483 gi|3450027|gb|AI100744.1|AI100744 0 932 13 97.32
+407 gi|3450465|gb|AI100504.1|AI100504 57 F 407 gi|3449951|gb|AI099639.1|AI099639 0 664 50 87.71
+419 gi|3450465|gb|AI100504.1|AI100504 45 F 417 gi|3449890|gb|AI099578.1|AI099578 0 722 38 90.91
+453 gi|3450465|gb|AI100504.1|AI100504 87 F 444 gi|3449819|gb|AI100080.1|AI100080 0 798 33 92.64
+422 gi|3450465|gb|AI100504.1|AI100504 1 F 425 gi|3449709|gb|AI099970.1|AI099970 2 679 56 86.78
+500 gi|3450465|gb|AI100504.1|AI100504 40 F 475 gi|3449642|gb|AI099903.1|AI099903 0 852 41 91.59
+447 gi|3450465|gb|AI100504.1|AI100504 68 F 436 gi|3449612|gb|AI099873.1|AI099873 0 775 36 91.85
+409 gi|3450459|gb|AI100498.1|AI100498 46 F 398 gi|3450013|gb|AI100730.1|AI100730 0 744 21 94.80
+425 gi|3450450|gb|AI100489.1|AI100489 0 F 429 gi|3449600|gb|AI099861.1|AI099861 12 806 16 96.25
+409 gi|3450417|gb|AI100456.1|AI100456 41 F 410 gi|3449805|gb|AI100066.1|AI100066 0 723 32 92.19
+406 gi|3450409|gb|AI100448.1|AI100448 14 F 398 gi|3449596|gb|AI099857.1|AI099857 30 735 23 94.28
+422 gi|3450403|gb|AI100442.1|AI100442 58 F 414 gi|3449857|gb|AI099545.1|AI099545 12 755 27 93.54
+400 gi|3450397|gb|AI100436.1|AI100436 30 F 413 gi|3449883|gb|AI099571.1|AI099571 0 738 25 93.85
+477 gi|3450396|gb|AI100435.1|AI100435 3 F 476 gi|3450281|gb|AI100320.1|AI100320 126 890 21 95.59
+436 gi|3450396|gb|AI100435.1|AI100435 44 F 429 gi|3450226|gb|AI100265.1|AI100265 11 793 24 94.45
+429 gi|3450396|gb|AI100435.1|AI100435 51 F 430 gi|3450141|gb|AI100180.1|AI100180 3 793 22 94.88
+455 gi|3450396|gb|AI100435.1|AI100435 0 F 466 gi|3450113|gb|AI100152.1|AI100152 15 852 23 95.01
+419 gi|3450396|gb|AI100435.1|AI100435 61 F 416 gi|3450090|gb|AI100129.1|AI100129 1 748 29 93.05
+475 gi|3450396|gb|AI100435.1|AI100435 0 F 482 gi|3450027|gb|AI100744.1|AI100744 1 897 20 95.82
+397 gi|3450396|gb|AI100435.1|AI100435 7 F 407 gi|3449951|gb|AI099639.1|AI099639 0 633 57 85.82
+404 gi|3450396|gb|AI100435.1|AI100435 0 F 414 gi|3449890|gb|AI099578.1|AI099578 3 677 47 88.51
+447 gi|3450396|gb|AI100435.1|AI100435 33 F 444 gi|3449819|gb|AI100080.1|AI100080 0 798 31 93.04
+480 gi|3450396|gb|AI100435.1|AI100435 0 F 468 gi|3449642|gb|AI099903.1|AI099903 7 855 31 93.46
+439 gi|3450396|gb|AI100435.1|AI100435 16 F 436 gi|3449612|gb|AI099873.1|AI099873 0 782 31 92.91
+436 gi|3450390|gb|AI100429.1|AI100429 0 F 448 gi|3450278|gb|AI100317.1|AI100317 68 773 37 91.63
+402 gi|3450371|gb|AI100410.1|AI100410 10 F 406 gi|2764157|gb|R64802.1|R64802 2 739 23 94.31
+432 gi|3450355|gb|AI100394.1|AI100394 48 F 449 gi|2764289|gb|R65285.1|R65285 0 707 58 86.83
+412 gi|3450309|gb|AI100348.1|AI100348 2 F 414 gi|3450203|gb|AI100242.1|AI100242 96 730 32 92.25
+415 gi|3450309|gb|AI100348.1|AI100348 1 F 416 gi|3450093|gb|AI100132.1|AI100132 202 729 34 91.82
+415 gi|3450309|gb|AI100348.1|AI100348 1 F 419 gi|3450037|gb|AI100754.1|AI100754 4 732 34 91.85
+416 gi|3450309|gb|AI100348.1|AI100348 0 F 420 gi|3449839|gb|AI099527.1|AI099527 23 719 39 90.67
+425 gi|3450309|gb|AI100348.1|AI100348 9 F 426 gi|3449796|gb|AI100057.1|AI100057 1 728 41 90.36
+415 gi|3450309|gb|AI100348.1|AI100348 1 F 418 gi|3449788|gb|AI100049.1|AI100049 38 737 32 92.32
+416 gi|3450309|gb|AI100348.1|AI100348 0 F 421 gi|3449709|gb|AI099970.1|AI099970 92 732 35 91.64
+409 gi|3450309|gb|AI100348.1|AI100348 3 F 414 gi|3449579|gb|AI099840.1|AI099840 1 688 45 89.06
+400 gi|3450287|gb|AI100326.1|AI100326 10 F 401 gi|3450114|gb|AI100153.1|AI100153 79 711 30 92.51
+412 gi|3450285|gb|AI100324.1|AI100324 1 F 407 gi|3450132|gb|AI100171.1|AI100171 63 711 36 91.21
+440 gi|3450285|gb|AI100324.1|AI100324 1 F 432 gi|3450073|gb|AI100112.1|AI100112 142 719 51 88.30
+461 gi|3450285|gb|AI100324.1|AI100324 0 F 461 gi|3449727|gb|AI099988.1|AI099988 120 799 41 91.11
+441 gi|3450281|gb|AI100320.1|AI100320 161 F 438 gi|3450226|gb|AI100265.1|AI100265 2 777 34 92.26
+425 gi|3450281|gb|AI100320.1|AI100320 60 F 426 gi|3450203|gb|AI100242.1|AI100242 0 683 56 86.84
+428 gi|3450281|gb|AI100320.1|AI100320 174 F 433 gi|3450141|gb|AI100180.1|AI100180 0 795 22 94.89
+467 gi|3450281|gb|AI100320.1|AI100320 110 F 481 gi|3450113|gb|AI100152.1|AI100152 0 867 27 94.30
+465 gi|3450281|gb|AI100320.1|AI100320 20 F 485 gi|3450093|gb|AI100132.1|AI100132 47 737 71 85.05
+416 gi|3450281|gb|AI100320.1|AI100320 186 F 416 gi|3450090|gb|AI100129.1|AI100129 1 763 23 94.47
+471 gi|3450281|gb|AI100320.1|AI100320 126 F 479 gi|3450027|gb|AI100744.1|AI100744 4 896 18 96.21
+395 gi|3450281|gb|AI100320.1|AI100320 131 F 407 gi|3449951|gb|AI099639.1|AI099639 0 646 52 87.03
+395 gi|3450281|gb|AI100320.1|AI100320 131 F 405 gi|3449890|gb|AI099578.1|AI099578 12 677 41 89.75
+444 gi|3450281|gb|AI100320.1|AI100320 158 F 444 gi|3449819|gb|AI100080.1|AI100080 0 786 34 92.34
+397 gi|3450281|gb|AI100320.1|AI100320 88 F 416 gi|3449709|gb|AI099970.1|AI099970 11 624 63 84.50
+486 gi|3450281|gb|AI100320.1|AI100320 116 F 475 gi|3449642|gb|AI099903.1|AI099903 0 853 36 92.51
+437 gi|3450281|gb|AI100320.1|AI100320 140 F 436 gi|3449612|gb|AI099873.1|AI099873 0 777 32 92.67
+415 gi|3450248|gb|AI100287.1|AI100287 0 F 433 gi|3450125|gb|AI100164.1|AI100164 49 722 42 90.09
+421 gi|3450244|gb|AI100283.1|AI100283 59 F 427 gi|3450001|gb|AI100718.1|AI100718 0 761 29 93.16
+432 gi|3450238|gb|AI100277.1|AI100277 5 F 422 gi|3450224|gb|AI100263.1|AI100263 7 731 41 90.40
+423 gi|3450226|gb|AI100265.1|AI100265 17 F 432 gi|3450141|gb|AI100180.1|AI100180 1 753 34 92.05
+415 gi|3450226|gb|AI100265.1|AI100265 0 F 428 gi|3450113|gb|AI100152.1|AI100152 53 729 38 90.98
+413 gi|3450226|gb|AI100265.1|AI100265 27 F 417 gi|3450090|gb|AI100129.1|AI100129 0 710 40 90.36
+435 gi|3450226|gb|AI100265.1|AI100265 0 F 446 gi|3450027|gb|AI100744.1|AI100744 37 782 33 92.51
+437 gi|3450226|gb|AI100265.1|AI100265 3 F 442 gi|3449819|gb|AI100080.1|AI100080 2 789 30 93.17
+437 gi|3450226|gb|AI100265.1|AI100265 3 F 437 gi|3449642|gb|AI099903.1|AI099903 38 769 35 91.99
+414 gi|3450226|gb|AI100265.1|AI100265 1 F 420 gi|3449612|gb|AI099873.1|AI099873 16 723 37 91.13
+382 gi|3450215|gb|AI100254.1|AI100254 29 F 433 gi|2764124|gb|R30550.1|R30550 2 605 70 82.82
+510 gi|3450203|gb|AI100242.1|AI100242 0 F 525 gi|3450093|gb|AI100132.1|AI100132 91 915 40 92.27
+414 gi|3450203|gb|AI100242.1|AI100242 96 F 416 gi|3450037|gb|AI100754.1|AI100754 5 800 10 97.59
+435 gi|3450203|gb|AI100242.1|AI100242 75 F 437 gi|3449839|gb|AI099527.1|AI099527 4 782 30 93.12
+406 gi|3450203|gb|AI100242.1|AI100242 104 F 407 gi|3449796|gb|AI100057.1|AI100057 0 726 29 92.87
+452 gi|3450203|gb|AI100242.1|AI100242 58 F 454 gi|3449788|gb|AI100049.1|AI100049 0 876 10 97.79
+485 gi|3450203|gb|AI100242.1|AI100242 25 F 500 gi|3449709|gb|AI099970.1|AI099970 11 898 29 94.11
+411 gi|3450203|gb|AI100242.1|AI100242 97 F 414 gi|3449579|gb|AI099840.1|AI099840 1 747 26 93.70
+408 gi|3450141|gb|AI100180.1|AI100180 0 F 407 gi|3450113|gb|AI100152.1|AI100152 74 755 20 95.09
+420 gi|3450141|gb|AI100180.1|AI100180 13 F 417 gi|3450090|gb|AI100129.1|AI100129 0 723 38 90.92
+428 gi|3450141|gb|AI100180.1|AI100180 0 F 428 gi|3450027|gb|AI100744.1|AI100744 55 796 20 95.33
+432 gi|3450141|gb|AI100180.1|AI100180 1 F 428 gi|3449819|gb|AI100080.1|AI100080 16 752 36 91.63
+430 gi|3450141|gb|AI100180.1|AI100180 3 F 423 gi|3449642|gb|AI099903.1|AI099903 52 766 29 93.20
+405 gi|3450141|gb|AI100180.1|AI100180 3 F 402 gi|3449612|gb|AI099873.1|AI099873 34 714 31 92.32
+468 gi|3450132|gb|AI100171.1|AI100171 2 F 464 gi|3450073|gb|AI100112.1|AI100112 82 800 44 90.56
+468 gi|3450132|gb|AI100171.1|AI100171 2 F 476 gi|3449727|gb|AI099988.1|AI099988 57 824 40 91.53
+445 gi|3450124|gb|AI100163.1|AI100163 0 F 462 gi|2764251|gb|R65142.1|R65142 0 778 43 90.52
+451 gi|3450120|gb|AI100159.1|AI100159 14 F 467 gi|3449964|gb|AI099652.1|AI099652 5 810 36 92.16
+418 gi|3450120|gb|AI100159.1|AI100159 76 F 443 gi|3449577|gb|AI099838.1|AI099838 3 726 45 89.55
+484 gi|3450120|gb|AI100159.1|AI100159 35 F 494 gi|3449439|gb|AI099700.1|AI099700 8 882 32 93.46
+432 gi|3450114|gb|AI100153.1|AI100153 27 F 441 gi|3449470|gb|AI099731.1|AI099731 13 765 36 91.75
+467 gi|3450113|gb|AI100152.1|AI100152 14 F 463 gi|3450027|gb|AI100744.1|AI100744 0 873 19 95.91
+409 gi|3450113|gb|AI100152.1|AI100152 12 F 407 gi|3449890|gb|AI099578.1|AI099578 0 702 38 90.69
+426 gi|3450113|gb|AI100152.1|AI100152 55 F 419 gi|3449819|gb|AI100080.1|AI100080 0 743 34 91.95
+474 gi|3450113|gb|AI100152.1|AI100152 7 F 450 gi|3449642|gb|AI099903.1|AI099903 0 801 41 91.13
+446 gi|3450113|gb|AI100152.1|AI100152 35 F 436 gi|3449612|gb|AI099873.1|AI099873 0 774 36 91.84
+419 gi|3450093|gb|AI100132.1|AI100132 199 F 422 gi|3450037|gb|AI100754.1|AI100754 1 793 16 96.20
+434 gi|3450093|gb|AI100132.1|AI100132 184 F 437 gi|3449839|gb|AI099527.1|AI099527 6 772 33 92.42
+454 gi|3450093|gb|AI100132.1|AI100132 164 F 456 gi|3449788|gb|AI100049.1|AI100049 0 859 17 96.26
+503 gi|3450093|gb|AI100132.1|AI100132 115 F 511 gi|3449709|gb|AI099970.1|AI099970 2 879 45 91.12
+410 gi|3450093|gb|AI100132.1|AI100132 204 F 414 gi|3449579|gb|AI099840.1|AI099840 1 731 31 92.48
+447 gi|3450091|gb|AI100130.1|AI100130 138 F 476 gi|2764292|gb|R65289.1|R65289 0 737 62 86.57
+412 gi|3450090|gb|AI100129.1|AI100129 0 F 415 gi|3450027|gb|AI100744.1|AI100744 68 746 27 93.47
+417 gi|3450090|gb|AI100129.1|AI100129 0 F 417 gi|3449819|gb|AI100080.1|AI100080 27 705 43 89.69
+417 gi|3450090|gb|AI100129.1|AI100129 0 F 413 gi|3449642|gb|AI099903.1|AI099903 62 722 36 91.33
+557 gi|3450073|gb|AI100112.1|AI100112 17 F 561 gi|3449727|gb|AI099988.1|AI099988 0 884 78 86.05
+405 gi|3450072|gb|AI100111.1|AI100111 233 F 417 gi|2764348|gb|R65515.1|R65515 0 708 38 90.75
+421 gi|3450055|gb|AI100094.1|AI100094 0 F 427 gi|3450049|gb|AI100088.1|AI100088 8 770 26 93.87
+424 gi|3450047|gb|AI100764.1|AI100764 0 F 420 gi|3449639|gb|AI099900.1|AI099900 64 772 24 94.31
+423 gi|3450037|gb|AI100754.1|AI100754 0 F 423 gi|3449839|gb|AI099527.1|AI099527 20 747 33 92.20
+409 gi|3450037|gb|AI100754.1|AI100754 14 F 409 gi|3449796|gb|AI100057.1|AI100057 0 728 30 92.67
+423 gi|3450037|gb|AI100754.1|AI100754 0 F 422 gi|3449788|gb|AI100049.1|AI100049 34 818 9 97.87
+420 gi|3450037|gb|AI100754.1|AI100754 3 F 422 gi|3449709|gb|AI099970.1|AI099970 91 785 19 95.49
+404 gi|3450037|gb|AI100754.1|AI100754 15 F 407 gi|3449579|gb|AI099840.1|AI099840 8 736 25 93.83
+438 gi|3450034|gb|AI100751.1|AI100751 0 F 451 gi|2764257|gb|R65162.1|R65162 83 730 53 88.08
+403 gi|3450027|gb|AI100744.1|AI100744 9 F 407 gi|3449951|gb|AI099639.1|AI099639 0 648 54 86.67
+411 gi|3450027|gb|AI100744.1|AI100744 1 F 414 gi|3449890|gb|AI099578.1|AI099578 3 696 43 89.58
+445 gi|3450027|gb|AI100744.1|AI100744 38 F 439 gi|3449819|gb|AI100080.1|AI100080 0 791 31 92.99
+483 gi|3450027|gb|AI100744.1|AI100744 0 F 464 gi|3449642|gb|AI099903.1|AI099903 6 842 35 92.61
+444 gi|3450027|gb|AI100744.1|AI100744 19 F 436 gi|3449612|gb|AI099873.1|AI099873 0 778 34 92.27
+396 gi|3449964|gb|AI099652.1|AI099652 76 F 417 gi|3449577|gb|AI099838.1|AI099838 0 687 42 89.67
+419 gi|3449964|gb|AI099652.1|AI099652 53 F 419 gi|3449439|gb|AI099700.1|AI099700 29 781 19 95.47
+426 gi|3449951|gb|AI099639.1|AI099639 0 F 424 gi|3449890|gb|AI099578.1|AI099578 12 766 28 93.41
+433 gi|3449890|gb|AI099578.1|AI099578 0 F 413 gi|3449642|gb|AI099903.1|AI099903 4 630 72 82.98
+409 gi|3449890|gb|AI099578.1|AI099578 24 F 401 gi|3449612|gb|AI099873.1|AI099873 2 615 65 83.95
+409 gi|3449842|gb|AI099530.1|AI099530 23 F 417 gi|2764144|gb|R64742.1|R64742 1 721 35 91.53
+410 gi|3449839|gb|AI099527.1|AI099527 33 F 408 gi|3449796|gb|AI100057.1|AI100057 1 725 31 92.42
+442 gi|3449839|gb|AI099527.1|AI099527 1 F 440 gi|3449788|gb|AI100049.1|AI100049 16 789 31 92.97
+440 gi|3449839|gb|AI099527.1|AI099527 3 F 442 gi|3449709|gb|AI099970.1|AI099970 71 792 30 93.20
+413 gi|3449839|gb|AI099527.1|AI099527 26 F 414 gi|3449579|gb|AI099840.1|AI099840 1 704 41 90.08
+444 gi|3449819|gb|AI100080.1|AI100080 0 F 439 gi|3449642|gb|AI099903.1|AI099903 36 772 37 91.62
+419 gi|3449819|gb|AI100080.1|AI100080 0 F 419 gi|3449612|gb|AI099873.1|AI099873 17 715 41 90.21
+409 gi|3449796|gb|AI100057.1|AI100057 0 F 409 gi|3449788|gb|AI100049.1|AI100049 47 734 28 93.15
+407 gi|3449796|gb|AI100057.1|AI100057 2 F 407 gi|3449709|gb|AI099970.1|AI099970 106 742 24 94.10
+405 gi|3449796|gb|AI100057.1|AI100057 0 F 405 gi|3449579|gb|AI099840.1|AI099840 10 681 43 89.38
+456 gi|3449788|gb|AI100049.1|AI100049 0 F 463 gi|3449709|gb|AI099970.1|AI099970 50 844 25 94.56
+412 gi|3449788|gb|AI100049.1|AI100049 40 F 414 gi|3449579|gb|AI099840.1|AI099840 1 742 28 93.22
+436 gi|3449729|gb|AI099990.1|AI099990 50 F 431 gi|3449423|gb|AI099684.1|AI099684 1 786 27 93.77
+443 gi|3449713|gb|AI099974.1|AI099974 5 F 421 gi|3449643|gb|AI099904.1|AI099904 26 732 44 89.81
+414 gi|3449709|gb|AI099970.1|AI099970 95 F 414 gi|3449579|gb|AI099840.1|AI099840 1 735 31 92.51
+404 gi|3449671|gb|AI099932.1|AI099932 97 F 411 gi|2764323|gb|R65397.1|R65397 3 746 23 94.36
+395 gi|3449671|gb|AI099932.1|AI099932 101 F 405 gi|2764203|gb|R64930.1|R64930 0 713 29 92.75
+451 gi|3449645|gb|AI099906.1|AI099906 10 F 463 gi|2764164|gb|R64829.1|R64829 0 740 58 87.31
+429 gi|3449642|gb|AI099903.1|AI099903 21 F 436 gi|3449612|gb|AI099873.1|AI099873 0 754 37 91.45
+445 gi|3449577|gb|AI099838.1|AI099838 1 F 425 gi|3449439|gb|AI099700.1|AI099700 52 732 46 89.43
+477 gi|2764330|gb|R65444.1|R65444 0 F 478 gi|2764154|gb|R64784.1|R64784 6 832 41 91.41
+446 gi|2764330|gb|R65444.1|R65444 20 F 439 gi|2764013|gb|R30104.1|R30104 0 762 41 90.73
+403 gi|2764323|gb|R65397.1|R65397 8 F 408 gi|2764203|gb|R64930.1|R64930 0 754 19 95.31
+415 gi|2764287|gb|R65283.1|R65283 0 F 414 gi|2764057|gb|R30273.1|R30273 27 700 43 89.63
+438 gi|2764254|gb|R65153.1|R65153 0 F 439 gi|2764169|gb|R64845.1|R64845 23 748 43 90.19
+433 gi|2764205|gb|R64942.1|R64942 0 F 427 gi|2764186|gb|R64887.1|R64887 1 776 28 93.49
+458 gi|2764205|gb|R64942.1|R64942 0 F 455 gi|2764183|gb|R64880.1|R64880 0 829 28 93.87
+450 gi|2764205|gb|R64942.1|R64942 9 F 443 gi|2764068|gb|R30324.1|R30324 0 809 28 93.73
+427 gi|2764186|gb|R64887.1|R64887 1 F 432 gi|2764183|gb|R64880.1|R64880 0 796 21 95.11
+416 gi|2764186|gb|R64887.1|R64887 10 F 415 gi|2764068|gb|R30324.1|R30324 0 783 16 96.15
+403 gi|2764186|gb|R64887.1|R64887 7 F 417 gi|2764054|gb|R30268.1|R30268 0 700 40 90.24
+446 gi|2764183|gb|R64880.1|R64880 9 F 440 gi|2764068|gb|R30324.1|R30324 0 826 20 95.49
+405 gi|2764183|gb|R64880.1|R64880 6 F 413 gi|2764054|gb|R30268.1|R30268 0 710 36 91.20
+494 gi|2764162|gb|R64814.1|R64814 0 F 499 gi|2764100|gb|R30437.1|R30437 9 882 37 92.55
+449 gi|2764154|gb|R64784.1|R64784 26 F 439 gi|2764013|gb|R30104.1|R30104 0 759 43 90.32
+458 gi|2764148|gb|R64752.1|R64752 3 F 471 gi|2764073|gb|R30334.1|R30334 0 827 34 92.68
+435 gi|2764122|gb|R30547.1|R30547 6 F 446 gi|2764003|gb|R30056.1|R30056 0 734 49 88.88
+399 gi|2764068|gb|R30324.1|R30324 0 F 414 gi|2764054|gb|R30268.1|R30268 3 705 36 91.14
+414 gi|3719089|dbj|C99741.1|C99741 0 P 420 gi|3450056|gb|AI100095.1|AI100095 20 729 35 91.61
diff --git a/testdata/see-ext-at1MB-400-seqlength.matches b/testdata/see-ext-at1MB-400-seqlength.matches
new file mode 100644
index 0000000..4c24435
--- /dev/null
+++ b/testdata/see-ext-at1MB-400-seqlength.matches
@@ -0,0 +1,228 @@
+597 1 0 F 592 4 7 898 97 83.68 852 668
+538 1 9 F 523 47 0 779 94 82.28 852 738
+577 2 72 F 606 3 0 916 89 84.95 719 746
+626 2 34 F 656 5 0 1063 73 88.61 719 800
+484 2 176 F 513 6 104 730 89 82.15 719 797
+706 2 0 F 749 16 84 1269 62 91.48 719 865
+660 2 0 F 687 39 0 1065 94 86.04 719 874
+668 3 0 F 660 5 38 1139 63 90.51 746 800
+639 3 14 F 631 6 14 1063 69 89.13 746 797
+655 3 0 F 650 16 156 1047 86 86.82 746 865
+653 3 0 F 643 39 72 1203 31 95.22 746 874
+613 4 16 F 571 47 0 1022 54 90.88 668 738
+704 5 52 F 700 6 14 1056 116 83.48 800 797
+742 5 0 F 746 16 118 1323 55 92.61 800 865
+756 5 0 F 750 39 34 1275 77 89.77 800 874
+599 6 104 F 601 16 260 915 95 84.17 797 865
+783 6 14 F 788 39 86 1400 57 92.74 797 874
+467 11 135 F 449 29 138 766 50 89.08 602 685
+767 16 84 F 766 39 0 1248 95 87.61 865 874
+397 18 0 F 417 46 194 634 60 85.26 497 613
+458 34 157 F 442 1317 0 789 37 91.78 650 442
+399 35 140 F 402 72 145 717 28 93.01 627 547
+430 61 134 F 438 65 137 787 27 93.78 584 594
+517 64 0 F 517 65 0 1034 0 100.00 517 594
+461 78 86 F 459 80 149 800 40 91.30 765 793
+542 78 223 F 540 1488 8 995 29 94.64 765 548
+568 79 56 F 568 1495 0 1022 38 93.31 624 568
+417 223 0 F 414 271 2 801 10 97.59 447 416
+418 229 0 F 419 270 0 828 3 99.28 418 419
+418 318 13 F 428 1693 142 621 75 82.27 431 570
+405 336 36 F 419 1703 0 734 30 92.72 441 424
+439 376 0 F 450 1694 81 703 62 86.05 441 533
+400 380 1 F 408 451 26 766 14 96.53 403 434
+403 380 0 F 406 630 10 722 29 92.83 403 434
+401 380 0 F 404 736 106 784 7 98.26 403 510
+400 380 3 F 403 846 215 773 10 97.51 403 618
+403 380 0 F 407 902 16 783 9 97.78 403 423
+401 380 2 F 408 1100 35 740 23 94.31 403 443
+401 380 2 F 407 1143 2 721 29 92.82 403 427
+403 380 0 F 407 1151 49 786 8 98.02 403 456
+403 380 0 F 409 1230 104 773 13 96.80 403 513
+399 380 0 F 406 1360 9 730 25 93.79 403 415
+475 404 165 F 466 819 35 809 44 90.65 640 519
+418 404 186 F 420 975 52 760 26 93.79 640 472
+420 404 213 F 444 1362 2 699 55 87.27 640 450
+453 404 187 F 455 1500 29 806 34 92.51 640 502
+434 406 8 F 430 542 0 771 31 92.82 442 430
+402 406 40 F 413 1056 0 713 34 91.66 442 413
+430 412 83 F 436 1525 0 755 37 91.45 513 436
+434 426 27 F 429 795 0 722 47 89.11 547 429
+409 432 9 F 410 652 0 735 28 93.16 422 410
+422 432 0 F 423 825 61 791 18 95.74 422 509
+397 432 0 F 403 1469 51 728 24 94.00 422 454
+423 449 0 F 421 868 143 802 14 96.68 423 604
+434 451 0 F 427 736 83 825 12 97.21 434 510
+434 451 0 F 427 846 189 816 15 96.52 434 618
+424 451 10 F 420 902 1 787 19 95.50 434 423
+434 451 0 F 429 1100 12 764 33 92.35 434 443
+434 451 0 F 428 1151 26 823 13 96.98 434 456
+434 451 0 F 431 1230 80 805 20 95.38 434 513
+417 451 15 F 414 1360 1 726 35 91.58 434 415
+415 452 0 F 413 882 3 750 26 93.72 415 421
+424 454 70 F 432 1837 0 793 21 95.09 523 432
+453 460 27 F 452 1351 0 821 28 93.81 481 452
+492 474 48 F 480 543 0 903 23 95.27 540 480
+540 474 0 F 522 658 80 975 29 94.54 540 602
+454 474 86 F 440 713 0 786 36 91.95 540 440
+423 474 0 F 408 736 18 693 46 88.93 540 510
+435 474 105 F 433 798 0 811 19 95.62 540 433
+480 474 35 F 479 826 2 914 15 96.87 540 481
+423 474 0 F 418 846 114 685 52 87.63 540 618
+422 474 118 F 417 849 0 758 27 93.56 540 417
+488 474 47 F 483 912 0 932 13 97.32 540 483
+407 474 57 F 407 988 0 664 50 87.71 540 426
+419 474 45 F 417 1049 0 722 38 90.91 540 470
+453 474 87 F 444 1120 0 798 33 92.64 540 444
+422 474 1 F 425 1230 2 679 56 86.78 540 513
+500 474 40 F 475 1297 0 852 41 91.59 540 475
+447 474 68 F 436 1327 0 775 36 91.85 540 436
+409 480 46 F 398 926 0 744 21 94.80 455 461
+425 489 0 F 429 1339 12 806 16 96.25 425 441
+409 522 41 F 410 1134 0 723 32 92.19 488 410
+406 530 14 F 398 1343 30 735 23 94.28 420 428
+422 536 58 F 414 1082 12 755 27 93.54 480 426
+400 542 30 F 413 1056 0 738 25 93.85 430 413
+477 543 3 F 476 658 126 890 21 95.59 480 602
+436 543 44 F 429 713 11 793 24 94.45 480 440
+429 543 51 F 430 798 3 793 22 94.88 480 433
+455 543 0 F 466 826 15 852 23 95.01 480 481
+419 543 61 F 416 849 1 748 29 93.05 480 417
+475 543 0 F 482 912 1 897 20 95.82 480 483
+397 543 7 F 407 988 0 633 57 85.82 480 426
+404 543 0 F 414 1049 3 677 47 88.51 480 470
+447 543 33 F 444 1120 0 798 31 93.04 480 444
+480 543 0 F 468 1297 7 855 31 93.46 480 475
+439 543 16 F 436 1327 0 782 31 92.91 480 436
+436 549 0 F 448 661 68 773 37 91.63 436 529
+402 568 10 F 406 1793 2 739 23 94.31 412 409
+432 584 48 F 449 1661 0 707 58 86.83 480 457
+412 630 2 F 414 736 96 730 32 92.25 434 510
+415 630 1 F 416 846 202 729 34 91.82 434 618
+415 630 1 F 419 902 4 732 34 91.85 434 423
+416 630 0 F 420 1100 23 719 39 90.67 434 443
+425 630 9 F 426 1143 1 728 41 90.36 434 427
+415 630 1 F 418 1151 38 737 32 92.32 434 456
+416 630 0 F 421 1230 92 732 35 91.64 434 513
+409 630 3 F 414 1360 1 688 45 89.06 434 415
+400 652 10 F 401 825 79 711 30 92.51 410 509
+412 654 1 F 407 807 63 711 36 91.21 469 470
+440 654 1 F 432 866 142 719 51 88.30 469 574
+461 654 0 F 461 1212 120 799 41 91.11 469 581
+441 658 161 F 438 713 2 777 34 92.26 602 440
+425 658 60 F 426 736 0 683 56 86.84 602 510
+428 658 174 F 433 798 0 795 22 94.89 602 433
+467 658 110 F 481 826 0 867 27 94.30 602 481
+465 658 20 F 485 846 47 737 71 85.05 602 618
+416 658 186 F 416 849 1 763 23 94.47 602 417
+471 658 126 F 479 912 4 896 18 96.21 602 483
+395 658 131 F 407 988 0 646 52 87.03 602 426
+395 658 131 F 405 1049 12 677 41 89.75 602 470
+444 658 158 F 444 1120 0 786 34 92.34 602 444
+397 658 88 F 416 1230 11 624 63 84.50 602 513
+486 658 116 F 475 1297 0 853 36 92.51 602 475
+437 658 140 F 436 1327 0 777 32 92.67 602 436
+415 691 0 F 433 814 49 722 42 90.09 483 482
+421 695 59 F 427 938 0 761 29 93.16 502 433
+432 701 5 F 422 715 7 731 41 90.40 437 438
+423 713 17 F 432 798 1 753 34 92.05 440 433
+415 713 0 F 428 826 53 729 38 90.98 440 481
+413 713 27 F 417 849 0 710 40 90.36 440 417
+435 713 0 F 446 912 37 782 33 92.51 440 483
+437 713 3 F 442 1120 2 789 30 93.17 440 444
+437 713 3 F 437 1297 38 769 35 91.99 440 475
+414 713 1 F 420 1327 16 723 37 91.13 440 436
+382 724 29 F 433 1826 2 605 70 82.82 498 435
+510 736 0 F 525 846 91 915 40 92.27 510 618
+414 736 96 F 416 902 5 800 10 97.59 510 423
+435 736 75 F 437 1100 4 782 30 93.12 510 443
+406 736 104 F 407 1143 0 726 29 92.87 510 427
+452 736 58 F 454 1151 0 876 10 97.79 510 456
+485 736 25 F 500 1230 11 898 29 94.11 510 513
+411 736 97 F 414 1360 1 747 26 93.70 510 415
+408 798 0 F 407 826 74 755 20 95.09 433 481
+420 798 13 F 417 849 0 723 38 90.92 433 417
+428 798 0 F 428 912 55 796 20 95.33 433 483
+432 798 1 F 428 1120 16 752 36 91.63 433 444
+430 798 3 F 423 1297 52 766 29 93.20 433 475
+405 798 3 F 402 1327 34 714 31 92.32 433 436
+468 807 2 F 464 866 82 800 44 90.56 470 574
+468 807 2 F 476 1212 57 824 40 91.53 470 581
+445 815 0 F 462 1699 0 778 43 90.52 445 462
+451 819 14 F 467 975 5 810 36 92.16 519 472
+418 819 76 F 443 1362 3 726 45 89.55 519 450
+484 819 35 F 494 1500 8 882 32 93.46 519 502
+432 825 27 F 441 1469 13 765 36 91.75 509 454
+467 826 14 F 463 912 0 873 19 95.91 481 483
+409 826 12 F 407 1049 0 702 38 90.69 481 470
+426 826 55 F 419 1120 0 743 34 91.95 481 444
+474 826 7 F 450 1297 0 801 41 91.13 481 475
+446 826 35 F 436 1327 0 774 36 91.84 481 436
+419 846 199 F 422 902 1 793 16 96.20 618 423
+434 846 184 F 437 1100 6 772 33 92.42 618 443
+454 846 164 F 456 1151 0 859 17 96.26 618 456
+503 846 115 F 511 1230 2 879 45 91.12 618 513
+410 846 204 F 414 1360 1 731 31 92.48 618 415
+447 848 138 F 476 1658 0 737 62 86.57 620 476
+412 849 0 F 415 912 68 746 27 93.47 417 483
+417 849 0 F 417 1120 27 705 43 89.69 417 444
+417 849 0 F 413 1297 62 722 36 91.33 417 475
+557 866 17 F 561 1212 0 884 78 86.05 574 581
+405 867 233 F 417 1602 0 708 38 90.75 640 418
+421 884 0 F 427 890 8 770 26 93.87 421 435
+424 892 0 F 420 1300 64 772 24 94.31 425 485
+423 902 0 F 423 1100 20 747 33 92.20 423 443
+409 902 14 F 409 1143 0 728 30 92.67 423 427
+423 902 0 F 422 1151 34 818 9 97.87 423 456
+420 902 3 F 422 1230 91 785 19 95.49 423 513
+404 902 15 F 407 1360 8 736 25 93.83 423 415
+438 905 0 F 451 1693 83 730 53 88.08 446 570
+403 912 9 F 407 988 0 648 54 86.67 483 426
+411 912 1 F 414 1049 3 696 43 89.58 483 470
+445 912 38 F 439 1120 0 791 31 92.99 483 444
+483 912 0 F 464 1297 6 842 35 92.61 483 475
+444 912 19 F 436 1327 0 778 34 92.27 483 436
+396 975 76 F 417 1362 0 687 42 89.67 472 450
+419 975 53 F 419 1500 29 781 19 95.47 472 502
+426 988 0 F 424 1049 12 766 28 93.41 426 470
+433 1049 0 F 413 1297 4 630 72 82.98 470 475
+409 1049 24 F 401 1327 2 615 65 83.95 470 436
+409 1097 23 F 417 1806 1 721 35 91.53 432 422
+410 1100 33 F 408 1143 1 725 31 92.42 443 427
+442 1100 1 F 440 1151 16 789 31 92.97 443 456
+440 1100 3 F 442 1230 71 792 30 93.20 443 513
+413 1100 26 F 414 1360 1 704 41 90.08 443 415
+444 1120 0 F 439 1297 36 772 37 91.62 444 475
+419 1120 0 F 419 1327 17 715 41 90.21 444 436
+409 1143 0 F 409 1151 47 734 28 93.15 427 456
+407 1143 2 F 407 1230 106 742 24 94.10 427 513
+405 1143 0 F 405 1360 10 681 43 89.38 427 415
+456 1151 0 F 463 1230 50 844 25 94.56 456 513
+412 1151 40 F 414 1360 1 742 28 93.22 456 415
+436 1210 50 F 431 1516 1 786 27 93.77 500 432
+443 1226 5 F 421 1296 26 732 44 89.81 448 463
+414 1230 95 F 414 1360 1 735 31 92.51 513 415
+404 1268 97 F 411 1627 3 746 23 94.36 503 414
+395 1268 101 F 405 1747 0 713 29 92.75 503 416
+451 1294 10 F 463 1786 0 740 58 87.31 464 465
+429 1297 21 F 436 1327 0 754 37 91.45 475 436
+445 1362 1 F 425 1500 52 732 46 89.43 450 502
+477 1620 0 F 478 1796 6 832 41 91.41 479 510
+446 1620 20 F 439 1937 0 762 41 90.73 479 450
+403 1627 8 F 408 1747 0 754 19 95.31 414 416
+415 1663 0 F 414 1893 27 700 43 89.63 415 475
+438 1696 0 F 439 1781 23 748 43 90.19 438 527
+433 1745 0 F 427 1764 1 776 28 93.49 459 428
+458 1745 0 F 455 1767 0 829 28 93.87 459 455
+450 1745 9 F 443 1882 0 809 28 93.73 459 455
+427 1764 1 F 432 1767 0 796 21 95.11 428 455
+416 1764 10 F 415 1882 0 783 16 96.15 428 455
+403 1764 7 F 417 1896 0 700 40 90.24 428 417
+446 1767 9 F 440 1882 0 826 20 95.49 455 455
+405 1767 6 F 413 1896 0 710 36 91.20 455 417
+494 1788 0 F 499 1850 9 882 37 92.55 512 521
+449 1796 26 F 439 1937 0 759 43 90.32 510 450
+458 1802 3 F 471 1877 0 827 34 92.68 461 491
+435 1828 6 F 446 1947 0 734 49 88.88 475 450
+399 1882 0 F 414 1896 3 705 36 91.14 455 417
+414 299 0 P 420 883 20 729 35 91.61 420 468
diff --git a/testdata/see-ext-at1MB-400-trace.matches b/testdata/see-ext-at1MB-400-trace.matches
new file mode 100644
index 0000000..4f5dd87
--- /dev/null
+++ b/testdata/see-ext-at1MB-400-trace.matches
@@ -0,0 +1,230 @@
+# Options: -ii at1MB -outfmt trace=50 -l 400 -minidentity 80 -history 60
+# Fields: s. len, s. seqnum, s. start, strand, q. len, q. seqnum, q. start, score, editdist, % identity, trace
+597 1 0 F 592 4 7 898 97 83.68 50,50,50,53,50,50,50,50,50,49,49,41
+538 1 9 F 523 47 0 779 94 82.28 50,50,51,52,50,50,52,48,45,42,33
+577 2 72 F 606 3 0 916 89 84.95 50,50,50,50,50,50,50,50,53,59,60,34
+626 2 34 F 656 5 0 1063 73 88.61 50,50,50,50,50,50,50,50,50,54,58,60,34
+484 2 176 F 513 6 104 730 89 82.15 51,50,50,50,50,50,54,57,59,42
+706 2 0 F 749 16 84 1269 62 91.48 50,50,50,50,50,50,50,50,50,50,56,58,63,66,6
+660 2 0 F 687 39 0 1065 94 86.04 50,50,50,50,50,50,50,50,50,50,56,58,62,11
+668 3 0 F 660 5 38 1139 63 90.51 50,50,50,50,50,50,50,50,50,49,49,49,48,15
+639 3 14 F 631 6 14 1063 69 89.13 50,50,51,50,50,50,50,50,49,49,50,46,36
+655 3 0 F 650 16 156 1047 86 86.82 50,50,50,50,50,50,50,50,50,49,49,49,48,5
+653 3 0 F 643 39 72 1203 31 95.22 50,50,50,50,50,50,50,50,50,49,49,49,43,3
+613 4 16 F 571 47 0 1022 54 90.88 50,50,50,50,50,50,50,50,46,44,35,38,8
+704 5 52 F 700 6 14 1056 116 83.48 50,50,51,50,50,50,50,50,50,50,51,50,45,48,5
+742 5 0 F 746 16 118 1323 55 92.61 50,50,50,50,50,50,50,50,50,50,50,50,50,51,45
+756 5 0 F 750 39 34 1275 77 89.77 50,50,50,50,50,50,50,50,50,50,50,50,50,45,48,7
+599 6 104 F 601 16 260 915 95 84.17 49,50,50,50,50,50,50,50,49,50,54,49
+783 6 14 F 788 39 86 1400 57 92.74 50,50,49,50,50,50,50,50,50,50,49,50,50,50,51,39
+467 11 135 F 449 29 138 766 50 89.08 48,50,50,50,50,50,50,45,42,14
+767 16 84 F 766 39 0 1248 95 87.61 50,50,50,50,50,50,50,50,50,50,50,50,50,49,47,20
+397 18 0 F 417 46 194 634 60 85.26 50,50,50,50,50,52,58,57
+458 34 157 F 442 1317 0 789 37 91.78 41,46,49,50,50,50,50,48,50,8
+399 35 140 F 402 72 145 717 28 93.01 56,50,50,50,50,50,49,47
+430 61 134 F 438 65 137 787 27 93.78 50,50,50,50,49,50,50,51,38
+517 64 0 F 517 65 0 1034 0 100.00 50,50,50,50,50,50,50,50,50,50,17
+461 78 86 F 459 80 149 800 40 91.30 48,50,50,50,49,50,48,53,50,11
+542 78 223 F 540 1488 8 995 29 94.64 50,49,49,50,50,50,50,50,50,50,42
+568 79 56 F 568 1495 0 1022 38 93.31 47,51,52,50,50,50,50,50,50,50,50,18
+417 223 0 F 414 271 2 801 10 97.59 48,50,50,50,50,50,50,49,17
+418 229 0 F 419 270 0 828 3 99.28 50,50,50,50,50,50,50,50,19
+418 318 13 F 428 1693 142 621 75 82.27 55,50,48,50,57,58,52,44,14
+405 336 36 F 419 1703 0 734 30 92.72 51,50,50,50,50,50,56,57,5
+439 376 0 F 450 1694 81 703 62 86.05 57,52,53,50,50,51,51,50,36
+400 380 1 F 408 451 26 766 14 96.53 57,51,50,50,50,50,50,50
+403 380 0 F 406 630 10 722 29 92.83 51,52,50,50,50,50,50,50,3
+401 380 0 F 404 736 106 784 7 98.26 53,50,50,50,50,50,50,50,1
+400 380 3 F 403 846 215 773 10 97.51 53,50,50,50,50,50,50,50
+403 380 0 F 407 902 16 783 9 97.78 54,50,50,50,50,50,50,50,3
+401 380 2 F 408 1100 35 740 23 94.31 55,52,50,50,50,50,50,50,1
+401 380 2 F 407 1143 2 721 29 92.82 52,53,51,50,50,50,50,50,1
+403 380 0 F 407 1151 49 786 8 98.02 54,50,50,50,50,50,50,50,3
+403 380 0 F 409 1230 104 773 13 96.80 53,52,51,50,50,50,50,50,3
+399 380 0 F 406 1360 9 730 25 93.79 56,51,50,50,50,50,50,49
+475 404 165 F 466 819 35 809 44 90.65 42,47,51,51,50,50,50,50,50,25
+418 404 186 F 420 975 52 760 26 93.79 50,50,51,51,50,50,50,50,18
+420 404 213 F 444 1362 2 699 55 87.27 57,55,59,53,50,50,50,50,20
+453 404 187 F 455 1500 29 806 34 92.51 50,49,52,51,50,50,50,50,50,3
+434 406 8 F 430 542 0 771 31 92.82 46,50,50,50,50,50,50,50,34
+402 406 40 F 413 1056 0 713 34 91.66 51,56,54,50,50,50,50,50,2
+430 412 83 F 436 1525 0 755 37 91.45 56,53,48,49,50,50,50,50,30
+434 426 27 F 429 795 0 722 47 89.11 47,47,49,51,51,50,50,50,34
+409 432 9 F 410 652 0 735 28 93.16 48,53,50,50,50,50,50,50,9
+422 432 0 F 423 825 61 791 18 95.74 50,51,50,50,50,50,50,50,22
+397 432 0 F 403 1469 51 728 24 94.00 55,53,48,50,50,50,50,47
+423 449 0 F 421 868 143 802 14 96.68 48,51,49,50,50,50,50,50,23
+434 451 0 F 427 736 83 825 12 97.21 46,47,50,50,50,50,50,50,34
+434 451 0 F 427 846 189 816 15 96.52 46,47,50,50,50,50,50,50,34
+424 451 10 F 420 902 1 787 19 95.50 48,48,50,50,50,50,50,50,24
+434 451 0 F 429 1100 12 764 33 92.35 44,51,50,50,50,50,50,50,34
+434 451 0 F 428 1151 26 823 13 96.98 46,48,50,50,50,50,50,50,34
+434 451 0 F 431 1230 80 805 20 95.38 47,47,53,50,50,50,50,50,34
+417 451 15 F 414 1360 1 726 35 91.58 49,48,50,50,50,50,50,50,17
+415 452 0 F 413 882 3 750 26 93.72 50,49,48,51,50,50,50,50,15
+424 454 70 F 432 1837 0 793 21 95.09 49,50,50,50,50,50,51,54,28
+453 460 27 F 452 1351 0 821 28 93.81 50,51,50,48,50,50,50,50,50,3
+492 474 48 F 480 543 0 903 23 95.27 43,46,50,49,50,50,50,50,50,42
+540 474 0 F 522 658 80 975 29 94.54 45,45,46,49,48,49,50,50,50,50,40
+454 474 86 F 440 713 0 786 36 91.95 42,46,48,50,50,50,50,50,50,4
+423 474 0 F 408 736 18 693 46 88.93 44,47,49,50,49,50,50,48,21
+435 474 105 F 433 798 0 811 19 95.62 48,50,49,51,50,50,50,50,35
+480 474 35 F 479 826 2 914 15 96.87 50,51,49,49,50,50,50,50,50,30
+423 474 0 F 418 846 114 685 52 87.63 54,48,48,50,49,50,50,48,21
+422 474 118 F 417 849 0 758 27 93.56 49,47,50,50,50,49,50,50,22
+488 474 47 F 483 912 0 932 13 97.32 47,49,49,50,50,50,50,50,50,38
+407 474 57 F 407 988 0 664 50 87.71 49,52,49,49,50,50,50,50,8
+419 474 45 F 417 1049 0 722 38 90.91 49,48,51,49,50,50,50,49,21
+453 474 87 F 444 1120 0 798 33 92.64 45,49,48,50,50,49,50,50,50,3
+422 474 1 F 425 1230 2 679 56 86.78 54,52,49,52,50,50,50,48,20
+500 474 40 F 475 1297 0 852 41 91.59 39,42,47,47,50,50,50,50,50,50
+447 474 68 F 436 1327 0 775 36 91.85 43,48,48,50,50,50,50,50,47
+409 480 46 F 398 926 0 744 21 94.80 43,46,50,50,50,50,50,50,9
+425 489 0 F 429 1339 12 806 16 96.25 53,52,49,50,50,50,50,50,25
+409 522 41 F 410 1134 0 723 32 92.19 51,50,50,50,50,50,50,50,9
+406 530 14 F 398 1343 30 735 23 94.28 44,48,50,50,50,50,50,50,6
+422 536 58 F 414 1082 12 755 27 93.54 45,47,50,50,50,50,50,50,22
+400 542 30 F 413 1056 0 738 25 93.85 56,53,54,50,50,50,50,50
+477 543 3 F 476 658 126 890 21 95.59 53,49,48,50,49,50,50,50,50,27
+436 543 44 F 429 713 11 793 24 94.45 45,50,48,50,50,50,50,50,36
+429 543 51 F 430 798 3 793 22 94.88 51,49,50,51,50,50,50,50,29
+455 543 0 F 466 826 15 852 23 95.01 60,51,50,50,50,50,50,50,50,5
+419 543 61 F 416 849 1 748 29 93.05 49,49,50,50,50,49,50,50,19
+475 543 0 F 482 912 1 897 20 95.82 56,51,49,51,50,50,50,50,50,25
+397 543 7 F 407 988 0 633 57 85.82 56,53,50,50,50,50,50,48
+404 543 0 F 414 1049 3 677 47 88.51 57,51,51,50,50,50,49,52,4
+447 543 33 F 444 1120 0 798 31 93.04 50,49,49,50,50,49,50,50,47
+480 543 0 F 468 1297 7 855 31 93.46 44,48,47,49,50,50,50,50,50,30
+439 543 16 F 436 1327 0 782 31 92.91 49,48,50,50,50,50,50,50,39
+436 549 0 F 448 661 68 773 37 91.63 56,52,50,51,51,51,50,51,36
+402 568 10 F 406 1793 2 739 23 94.31 51,51,50,50,50,50,51,51,2
+432 584 48 F 449 1661 0 707 58 86.83 54,53,50,50,50,50,51,55,36
+412 630 2 F 414 736 96 730 32 92.25 53,50,49,50,50,50,50,50,12
+415 630 1 F 416 846 202 729 34 91.82 52,50,49,50,50,50,50,50,15
+415 630 1 F 419 902 4 732 34 91.85 55,50,49,50,50,50,50,50,15
+416 630 0 F 420 1100 23 719 39 90.67 52,53,49,50,50,50,50,50,16
+425 630 9 F 426 1143 1 728 41 90.36 48,52,51,50,50,50,50,50,25
+415 630 1 F 418 1151 38 737 32 92.32 54,50,49,50,50,50,50,50,15
+416 630 0 F 421 1230 92 732 35 91.64 53,51,51,50,50,50,50,50,16
+409 630 3 F 414 1360 1 688 45 89.06 55,51,49,50,50,50,50,50,9
+400 652 10 F 401 825 79 711 30 92.51 52,49,50,50,50,50,50,50
+412 654 1 F 407 807 63 711 36 91.21 46,52,49,49,49,50,50,50,12
+440 654 1 F 432 866 142 719 51 88.30 48,49,48,48,49,50,50,50,40
+461 654 0 F 461 1212 120 799 41 91.11 52,51,49,49,49,50,50,50,50,11
+441 658 161 F 438 713 2 777 34 92.26 47,50,49,51,50,50,50,50,41
+425 658 60 F 426 736 0 683 56 86.84 46,52,54,51,51,51,50,49,22
+428 658 174 F 433 798 0 795 22 94.89 51,52,50,52,50,50,50,50,28
+467 658 110 F 481 826 0 867 27 94.30 57,54,51,51,51,50,50,50,50,17
+465 658 20 F 485 846 47 737 71 85.05 54,61,54,52,52,50,51,50,50,11
+416 658 186 F 416 849 1 763 23 94.47 51,49,50,51,49,50,50,50,16
+471 658 126 F 479 912 4 896 18 96.21 53,52,52,50,51,50,50,50,50,21
+395 658 131 F 407 988 0 646 52 87.03 55,54,51,50,51,50,50,46
+395 658 131 F 405 1049 12 677 41 89.75 54,52,52,50,51,50,50,46
+444 658 158 F 444 1120 0 786 34 92.34 50,50,50,51,50,49,50,50,44
+397 658 88 F 416 1230 11 624 63 84.50 60,57,51,54,50,51,50,43
+486 658 116 F 475 1297 0 853 36 92.51 43,47,48,50,51,50,50,50,50,36
+437 658 140 F 436 1327 0 777 32 92.67 48,49,51,51,50,50,50,50,37
+415 691 0 F 433 814 49 722 42 90.09 63,55,50,50,50,50,50,50,15
+421 695 59 F 427 938 0 761 29 93.16 51,53,53,50,49,50,50,50,21
+432 701 5 F 422 715 7 731 41 90.40 43,46,51,50,50,50,50,50,32
+423 713 17 F 432 798 1 753 34 92.05 57,51,50,51,50,50,50,50,23
+415 713 0 F 428 826 53 729 38 90.98 60,51,52,50,50,50,50,50,15
+413 713 27 F 417 849 0 710 40 90.36 56,49,50,50,49,50,50,50,13
+435 713 0 F 446 912 37 782 33 92.51 58,50,53,50,50,50,50,50,35
+437 713 3 F 442 1120 2 789 30 93.17 55,50,51,50,50,49,50,50,37
+437 713 3 F 437 1297 38 769 35 91.99 51,48,51,50,50,50,50,50,37
+414 713 1 F 420 1327 16 723 37 91.13 55,49,52,50,50,50,50,50,14
+382 724 29 F 433 1826 2 605 70 82.82 67,59,51,50,50,56,61,39
+510 736 0 F 525 846 91 915 40 92.27 64,52,49,50,50,50,50,50,50,50,10
+414 736 96 F 416 902 5 800 10 97.59 52,50,50,50,50,50,50,50,14
+435 736 75 F 437 1100 4 782 30 93.12 48,54,50,50,50,50,50,50,35
+406 736 104 F 407 1143 0 726 29 92.87 46,54,51,50,50,50,50,50,6
+452 736 58 F 454 1151 0 876 10 97.79 51,51,50,50,50,50,50,50,50,2
+485 736 25 F 500 1230 11 898 29 94.11 60,52,50,53,50,50,50,50,50,35
+411 736 97 F 414 1360 1 747 26 93.70 52,51,50,50,50,50,50,50,11
+408 798 0 F 407 826 74 755 20 95.09 50,50,50,49,50,50,50,50,8
+420 798 13 F 417 849 0 723 38 90.92 51,48,50,49,50,49,50,50,20
+428 798 0 F 428 912 55 796 20 95.33 51,49,51,49,50,50,50,50,28
+432 798 1 F 428 1120 16 752 36 91.63 50,48,50,49,50,49,50,50,32
+430 798 3 F 423 1297 52 766 29 93.20 47,48,49,49,50,50,50,50,30
+405 798 3 F 402 1327 34 714 31 92.32 49,49,50,49,50,50,50,50,5
+468 807 2 F 464 866 82 800 44 90.56 50,51,47,50,48,50,50,50,50,18
+468 807 2 F 476 1212 57 824 40 91.53 53,55,50,50,50,50,50,50,50,18
+445 815 0 F 462 1699 0 778 43 90.52 51,52,51,50,50,51,51,58,48
+451 819 14 F 467 975 5 810 36 92.16 59,56,51,50,50,50,50,50,50,1
+418 819 76 F 443 1362 3 726 45 89.55 60,55,57,53,50,50,50,50,18
+484 819 35 F 494 1500 8 882 32 93.46 56,53,51,50,50,50,50,50,50,34
+432 825 27 F 441 1469 13 765 36 91.75 56,55,48,50,50,50,50,50,32
+467 826 14 F 463 912 0 873 19 95.91 45,51,49,51,50,50,50,50,50,17
+409 826 12 F 407 1049 0 702 38 90.69 48,49,51,50,50,50,50,49,10
+426 826 55 F 419 1120 0 743 34 91.95 46,49,49,50,50,49,50,50,26
+474 826 7 F 450 1297 0 801 41 91.13 38,43,47,48,50,50,50,50,50,24
+446 826 35 F 436 1327 0 774 36 91.84 42,49,49,50,50,50,50,50,46
+419 846 199 F 422 902 1 793 16 96.20 53,50,50,50,50,50,50,50,19
+434 846 184 F 437 1100 6 772 33 92.42 49,54,50,50,50,50,50,50,34
+454 846 164 F 456 1151 0 859 17 96.26 50,52,50,50,50,50,50,50,50,4
+503 846 115 F 511 1230 2 879 45 91.12 49,55,51,52,51,50,50,50,50,50,3
+410 846 204 F 414 1360 1 731 31 92.48 53,51,50,50,50,50,50,50,10
+447 848 138 F 476 1658 0 737 62 86.57 54,51,51,52,51,50,51,58,58
+412 849 0 F 415 912 68 746 27 93.47 49,53,50,50,50,51,50,50,12
+417 849 0 F 417 1120 27 705 43 89.69 49,51,50,50,49,51,50,50,17
+417 849 0 F 413 1297 62 722 36 91.33 46,50,49,50,50,51,50,50,17
+557 866 17 F 561 1212 0 884 78 86.05 44,51,52,54,51,52,50,50,50,50,50,7
+405 867 233 F 417 1602 0 708 38 90.75 52,51,50,50,50,50,52,56,6
+421 884 0 F 427 890 8 770 26 93.87 53,51,52,50,50,50,50,50,21
+424 892 0 F 420 1300 64 772 24 94.31 48,48,50,50,50,50,50,50,24
+423 902 0 F 423 1100 20 747 33 92.20 47,53,50,50,50,50,50,50,23
+409 902 14 F 409 1143 0 728 30 92.67 45,54,51,50,50,50,50,50,9
+423 902 0 F 422 1151 34 818 9 97.87 49,50,50,50,50,50,50,50,23
+420 902 3 F 422 1230 91 785 19 95.49 50,49,53,50,50,50,50,50,20
+404 902 15 F 407 1360 8 736 25 93.83 52,51,50,50,50,50,50,50,4
+438 905 0 F 451 1693 83 730 53 88.08 50,49,49,50,51,55,59,51,37
+403 912 9 F 407 988 0 648 54 86.67 51,53,49,50,50,50,49,52,3
+411 912 1 F 414 1049 3 696 43 89.58 52,49,52,49,50,50,50,50,12
+445 912 38 F 439 1120 0 791 31 92.99 47,50,48,50,50,49,50,50,45
+483 912 0 F 464 1297 6 842 35 92.61 40,45,48,48,50,50,50,50,50,33
+444 912 19 F 436 1327 0 778 34 92.27 44,50,48,50,50,50,50,50,44
+396 975 76 F 417 1362 0 687 42 89.67 55,54,58,54,50,50,50,46
+419 975 53 F 419 1500 29 781 19 95.47 50,49,51,50,50,50,50,50,19
+426 988 0 F 424 1049 12 766 28 93.41 50,46,52,50,50,50,50,50,26
+433 1049 0 F 413 1297 4 630 72 82.98 40,44,46,49,50,50,50,51,33
+409 1049 24 F 401 1327 2 615 65 83.95 44,48,49,50,50,50,51,46,13
+409 1097 23 F 417 1806 1 721 35 91.53 54,51,50,49,50,50,52,52,9
+410 1100 33 F 408 1143 1 725 31 92.42 45,52,51,50,50,50,50,50,10
+442 1100 1 F 440 1151 16 789 31 92.97 50,49,49,50,50,50,50,50,42
+440 1100 3 F 442 1230 71 792 30 93.20 53,47,52,50,50,50,50,50,40
+413 1100 26 F 414 1360 1 704 41 90.08 53,48,50,50,50,50,50,50,13
+444 1120 0 F 439 1297 36 772 37 91.62 47,48,49,50,50,51,50,50,44
+419 1120 0 F 419 1327 17 715 41 90.21 49,49,51,50,50,51,50,50,19
+409 1143 0 F 409 1151 47 734 28 93.15 54,47,49,50,50,50,50,50,9
+407 1143 2 F 407 1230 106 742 24 94.10 51,48,51,50,50,50,50,50,7
+405 1143 0 F 405 1360 10 681 43 89.38 53,48,49,50,50,50,50,50,5
+456 1151 0 F 463 1230 50 844 25 94.56 55,49,51,52,50,50,50,50,50,6
+412 1151 40 F 414 1360 1 742 28 93.22 51,51,50,50,50,50,50,50,12
+436 1210 50 F 431 1516 1 786 27 93.77 46,48,51,50,50,50,50,50,36
+443 1226 5 F 421 1296 26 732 44 89.81 39,42,48,49,50,50,50,50,43
+414 1230 95 F 414 1360 1 735 31 92.51 52,50,48,50,50,50,50,50,14
+404 1268 97 F 411 1627 3 746 23 94.36 53,51,50,50,50,50,50,52,5
+395 1268 101 F 405 1747 0 713 29 92.75 53,50,50,50,50,50,53,49
+451 1294 10 F 463 1786 0 740 58 87.31 54,55,52,51,50,50,51,51,48,1
+429 1297 21 F 436 1327 0 754 37 91.45 54,51,52,50,50,50,50,50,29
+445 1362 1 F 425 1500 52 732 46 89.43 45,48,41,47,49,50,50,50,45
+477 1620 0 F 478 1796 6 832 41 91.41 50,50,50,50,50,50,48,50,54,26
+446 1620 20 F 439 1937 0 762 41 90.73 50,50,50,50,50,49,48,48,44
+403 1627 8 F 408 1747 0 754 19 95.31 50,50,50,50,50,50,53,52,3
+415 1663 0 F 414 1893 27 700 43 89.63 50,50,50,50,49,51,48,50,16
+438 1696 0 F 439 1781 23 748 43 90.19 50,50,50,50,50,50,51,51,37
+433 1745 0 F 427 1764 1 776 28 93.49 50,50,50,50,50,50,49,47,31
+458 1745 0 F 455 1767 0 829 28 93.87 50,50,50,50,50,50,50,50,48,7
+450 1745 9 F 443 1882 0 809 28 93.73 49,50,50,50,50,50,49,46,49
+427 1764 1 F 432 1767 0 796 21 95.11 50,50,50,50,50,50,51,53,28
+416 1764 10 F 415 1882 0 783 16 96.15 49,50,50,50,50,50,50,50,16
+403 1764 7 F 417 1896 0 700 40 90.24 49,50,50,50,50,51,59,54,4
+446 1767 9 F 440 1882 0 826 20 95.49 49,50,50,50,50,50,48,48,45
+405 1767 6 F 413 1896 0 710 36 91.20 49,50,50,50,50,51,58,50,5
+494 1788 0 F 499 1850 9 882 37 92.55 50,50,50,50,50,50,50,49,51,49
+449 1796 26 F 439 1937 0 759 43 90.32 50,50,50,50,50,50,49,47,43
+458 1802 3 F 471 1877 0 827 34 92.68 50,50,50,50,50,50,52,55,55,9
+435 1828 6 F 446 1947 0 734 49 88.88 50,50,50,50,50,50,51,56,39
+399 1882 0 F 414 1896 3 705 36 91.14 50,50,50,50,50,52,58,54
+414 299 0 P 420 883 20 729 35 91.61 50,50,50,50,52,51,54,50,13
diff --git a/testdata/see-ext-at1MB-500-al.matches b/testdata/see-ext-at1MB-500-al.matches
new file mode 100644
index 0000000..0a1b9a8
--- /dev/null
+++ b/testdata/see-ext-at1MB-500-al.matches
@@ -0,0 +1,947 @@
+# Options: -ii at1MB -l 500 -outfmt alignment=70 -minidentity 80 -history 60
+# Fields: s. len, s. seqnum, s. start, strand, q. len, q. seqnum, q. start, score, editdist, % identity
+597 1 0 F 592 4 7 898 97 83.68
+Sbjct  0    atgnanantcaaaaatggagtntaggtttcatatct-ctcgcttttctcttcatcacttcctcttcagct  68
+            ||| | | ||| ||||||||| ||||||||| || | || ||||| |||||||||||||||||||| |||
+Query  7    atggatagtcacaaatggagtctaggtttcacat-tacttgctttcctcttcatcacttcctcttccgct  75
+
+Sbjct  69   gagttcatcattcaacaggtcacaaagggcanaggaatagagtacaacagttcttacagtctcgagga-g  137
+            ||| |||||||| ||||||||||| |||||| |||||||||||||||||  |||||||||||| | |  |
+Query  76   gagctcatcattaaacaggtcacacagggcagaggaatagagtacaacaactcttacagtctc-acgtcg  144
+
+Sbjct  138  aatcttggagtgacnaga-gag--ttgagagaagagcgaccatcgagtaagatagtgacaataacaagct  204
+            |||||||||||||| | | |||  |||||||| ||||||||||| ||||||||||||||||| |||||||
+Query  145  aatcttggagtgacgacaagagagttgagagacgagcgaccatcaagtaagatagtgacaatcacaagct  214
+
+Sbjct  205  tctcagtgattaaagg-cagaggagaaccctatgaatcctctgtttttgaggctgctggttacaaatgga  273
+            |||| |||||||| || ||||||||||||||||||||| ||| ||||||||||||| |||||||||||||
+Query  215  tctctgtgattaa-ggacagaggagaaccctatgaatcatctatttttgaggctgccggttacaaatgga  283
+
+Sbjct  274  gattggttttgtacgtgaatggtaataa-aaacgacggtggaaatgatcatatttccctttacgcaagga  342
+            |||| |||||||||||||| ||||||   ||| | ||||  |||| |||||||||| |||||||| ||||
+Query  284  gattagttttgtacgtgaagggtaatccgaaagg-cggtataaataatcatatttcactttacgcgagga  352
+
+Sbjct  343  tcgaagagaca-aa-ctctcttccattaggttgggaagtgaatgttgatctcaaactctttgtccataat  410
+            | ||||||||| || |||| | |||  ||| ||||||||||||||||||||||||||||||||||| |||
+Query  353  tagaagagacagaaactct-t-ccaagagggtgggaagtgaatgttgatctcaaactctttgtccacaat  420
+
+Sbjct  411  gggaagctacacaaatatttgactgttacagatggcttanttgaagcgatataacaatgcnaaaaaagaa  480
+             ||||  || | ||||||||| |||||||||||||   | | ||||||||| ||| |||| |||||||| 
+Query  421  cggaanttaaagaaatatttgtctgttacagatggaacagt-gaagcgatacaacgatgcaaaaaaagag  489
+
+Sbjct  481  tggggtttcggacaattgattcctcnatc-aacattctacaacgcgaacgaagg-ttacctt-tgaccaa  547
+            ||||| |||  |||||||||| |||  || |||||||||||||||||||||||| || |||| || ||| 
+Query  490  tggggattcncacaattgatttctct-tccaacattctacaacgcgaacgaagggtt-ccttgtg-cca-  556
+
+Sbjct  548  ggacactggttccttttgggtggcnggaaaancctttattgtttaaacc  596
+            ||||||   ||||||| ||||| | | | || | || || ||| || ||
+Query  557  ggacacancttccttt-gggtg-ctg-anaa-c-ttcatcgtt-aaccc  598
+
+538 1 9 F 523 47 0 779 94 82.28
+Sbjct  9    caaaaatggagtntaggtttcatatctctcgcttttctcttcatcacttcctcttcagctgagttcatca  78
+            || ||||||||| ||||||||| ||  || ||||| |||||||||||||||||||| |||||| ||||||
+Query  0    cacaaatggagtctaggtttcacattacttgctttcctcttcatcacttcctcttccgctgagctcatca  69
+
+Sbjct  79   ttcaacaggtcacaaagggcanaggaatagagtacaacagttcttacagtctcgagga-gaatcttggag  147
+            || ||||||||||| |||||| |||||||||||||||||  |||||||||||| | |  |||||||||||
+Query  70   ttaaacaggtcacacagggcagaggaatagagtacaacaactcttacagtctc-acgtcgaatcttggag  138
+
+Sbjct  148  tgacnaga-gag--ttgagagaagagcgaccatcgagtaagatagtgacaataacaagcttctcagtgat  214
+            |||| | | |||  |||||||| ||||||||||| ||||||||||||||||| ||||||||||| |||||
+Query  139  tgacgacaagagagttgagagacgagcgaccatcaagtaagatagtgacaatcacaagcttctctgtgat  208
+
+Sbjct  215  taaagg-cagaggagaaccctatgaatcctctgtttttgaggctgctggttacaaatggagattggtttt  283
+            ||| || ||||||||||||||||||||| ||| ||||||||||||| |||||||||||||||||  ||||
+Query  209  taa-ggacagaggagaaccctatgaatcatctatttttgaggctgccggttacaaatggagattantttt  277
+
+Sbjct  284  gtacgtgaatggtaataa-aaacgacggtggaaatgatcatatttccctttacgcaaggatcgaagagac  352
+            ||||||||| ||||||   ||| | ||||  | || |||||||||| |||||||| ||||| ||||||||
+Query  278  gtacgtgaagggtaatccgaaagg-cggtatanataatcatatttcactttacgcgaggatagaagagac  346
+
+Sbjct  353  a-aa-ctctcttccatta-ggttgggaagtgaatgttgatctcaaactctttgtccataatgggaagct-  419
+            | || |||| | |||  | ||| |||||||||||||||||||||||||||||||||| ||| ||||| | 
+Query  347  agaaactct-t-ccaagaaggt-gggaagtgaatgttgatctcaaactctttgtccacaatcggaag-tn  412
+
+Sbjct  420  acacaaatatttgactgttacagatgg-cttanttgaagcgatataacaatgcnaaaaaagaatggggtt  487
+            | | || |||| | ||||||||||||| |  | | ||| ||||  | | |||| |||||||| ||||| |
+Query  413  aaagaa-tatt-gtctgttacagatggac--a-t-gaancgatcca-cnatgcnaaaaaaga-tggggat  474
+
+Sbjct  488  tcggacaattgattcctcnatcaacattctacaacgcgaacgaaggttacctt-tgacca  546
+             |  ||| ||||||| ||  || |||| || || | |||| |||||| || ||  |||||
+Query  475  cc--aca-ttgattc-tc--tccacat-ct-ca-c-cgaa-gaaggt-actttcagacca  522
+
+577 2 72 F 606 3 0 916 89 84.95
+Sbjct  72   gtgaagcgatataacaatgcgaaaaaagaatggggtttcggacaattgattcctcgatc-aacattctac  140
+            ||||||||||| ||| |||| |||||||| ||||| |||  |||||||||| |||  || ||||||||||
+Query  0    gtgaagcgatacaacgatgcaaaaaaagagtggggattcacacaattgatttctct-tccaacattctac  68
+
+Sbjct  141  aacgcgaacgaaggttaccttgaccaggacactggttcttttggtgctgagatctttattgttaaaccgg  210
+            |||||||||||||| ||| |||  |||||||| | ||||||||||||||||||||| || ||||| ||| 
+Query  69   aacgcgaacgaagggtacnttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccga  138
+
+Sbjct  211  ctcaacaacaagagaaagttacattcatatcaaaccctccaaacaatgttttcacttggaagatacttcg  280
+            |  || ||||||||||||| |||||||||||||||||||| |||||||||||||||||||||||||||||
+Query  139  cagaaaaacaagagaaagtcacattcatatcaaaccctccgaacaatgttttcacttggaagatacttcg  208
+
+Sbjct  281  tttctctaccttggaagataaattctattactccgatgattttctcgttgaagaccgatactggagacta  350
+            ||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||| ||
+Query  209  tttctctaccttggaagataaattctattactctgatgattttctcgttgaagaccgatactggagatta  278
+
+Sbjct  351  ggatttaacccgaaaggggatggaggaggaagaccacatgcacttccaatcttcctatttgctcaaggcc  420
+            |||||||||||||||||   ||| ||||| |||||||||||||||||||||||||||| |||||||||||
+Query  279  ggatttaacccgaaaggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggcc  348
+
+Sbjct  421  ataaggcaaatgcagttgctacaaacacttggggagcggttaatctgcggttaaagaatcaacgaanttc  490
+            |||||||||| ||||||| |||||||||||||||||||||||||||||||||||||||||||||||  ||
+Query  349  ataaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctc  418
+
+Sbjct  491  taaccatagacaat-atnt-ctgca-cttggtaccc--attggaaacg-ttatggtntgggant-aaca-  553
+             ||||| | ||||| || | ||||| ||||||||||  ||| ||| || ||||||| ||||| | |||| 
+Query  419  caaccacaaacaattatattctgcagcttggtaccccgattcgaagcgattatggtgtgggagtgaacaa  488
+
+Sbjct  554  tatc-tactgttg-ctgat--taac-ga-gcatccaaaggattt-tggtga-tga-gccnt-atctt--g  610
+            |||| || || || | ||   |||  || ||||| ||||| | | |||||| ||| ||| | |||||  |
+Query  489  tatcatattgatgtcagaagctaaaagatgcatcnaaagggtatatggtgaatgatgccattatcttttg  558
+
+Sbjct  611  aa-ctgaa-tggttaag-nc-ctat-acca-c-t-ctctcc-ctnaa  648
+            || ||||| ||||||||  | || | | || | |  ||||| || ||
+Query  559  aaactgaaatggttaaggtctctgtgaacaacatantctccncttaa  605
+
+626 2 34 F 656 5 0 1063 73 88.61
+Sbjct  34   ggaagctacacaaatatttgactgttacagatggcttagtgaagcgatataacaatgcgaaaaaagaatg  103
+            ||||| || | ||||||||| |||||||||||||   |||||||||||| ||| |||| |||||||| ||
+Query  0    ggaagttaaagaaatatttgtctgttacagatggaacagtgaagcgatacaacgatgcaaaaaaagagtg  69
+
+Sbjct  104  gggtttcggacaattgattcctcgatc-aacattctacaacgcgaacgaaggttaccttgaccaggacac  172
+            ||| |||  |||||||||| |||  || |||||||||||||||||||||||| |||||||  ||||||||
+Query  70   gggattcacacaattgatttctct-tccaacattctacaacgcgaacgaagggtaccttgtgcaggacac  138
+
+Sbjct  173  tggttcttttggtgctgagatctttattgttaaaccggctcaacaacaagagaaagttacattcatatca  242
+             | ||||||||||||||||||||| || ||||| ||| |  || ||||||||||||| ||||||||||||
+Query  139  agcttcttttggtgctgagatcttcatcgttaacccgacagaaaaacaagagaaagtcacattcatatca  208
+
+Sbjct  243  aaccctccaaacaatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattact  312
+            ||||||||| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  209  aaccctccagacaatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattact  278
+
+Sbjct  313  ccgatgattttctcgttgaagaccgatactggagactaggatttaacccgaaaggggatggaggaggaag  382
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  279  ccgatgattttctcgttgaagaccgatactggagactaggatttaacccgaaaggggatggaggaggaag  348
+
+Sbjct  383  accacatgcacttccaatcttcctatttgctcaaggccataaggcaaatgcagttgctacaaacacttgg  452
+            |||||||||||||||||||||||||||||||||||||||||||||||| |||||||||||||||||||||
+Query  349  accacatgcacttccaatcttcctatttgctcaaggccataaggcaaacgcagttgctacaaacacttgg  418
+
+Sbjct  453  ggagcggttaatctgcggttaaagaatcaacgaanttctaaccatagacaa-tatnt-ctgca-cttggt  519
+            |||||||||||||||||||||||||||||||||| | |||||||||||||| ||| | ||||| ||||||
+Query  419  ggagcggttaatctgcggttaaagaatcaacgaagtactaaccatagacaaatatattctgcagcttggt  488
+
+Sbjct  520  accc-attggaaacg-ttatggtntgggant-aaca-tatc-tactgtt-gctgatt-aa-cga-gcatc  580
+            |||| ||||||| || ||||||| ||||| | |||| |||| ||||||| ||||||| || ||| |||||
+Query  489  acccgattggaagcggttatggtgtgggagtgaacaatatcatactgttagctgatttaaacgatgcatc  558
+
+Sbjct  581  caaaggat-tttggtga-tga-gccnt-atctt-gaa-ctgaa-tggttaagn-c-ctata-cca-c-tc  638
+             ||||||| |||||||| ||| ||| | ||||| ||| ||||| ||||||||  | ||||| ||| | ||
+Query  559  aaaaggatatttggtgaatgatgccattatctttgaagctgaaatggttaaggtctctataaccaacatc  628
+
+Sbjct  639  -tctcc-ctnaa-t-tct-c-cttctt  659
+             ||||| || || | ||| | ||||||
+Query  629  gtctccgcttaaatatctgcacttctt  655
+
+706 2 0 F 749 16 84 1269 62 91.48
+Sbjct  0    gtgantgttgatctcaaactctttgtccataatgggaagctacacaaatatttgactgttacagatggct  69
+            |||| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  84   gtgaatgttgatctcaaactctttgtccataatgggaagctacacaaatatttgactgttacagatggct  153
+
+Sbjct  70   tagtgaagcgatataacaatgcgaaaaaagaatggggtttcggacaattgattcctcgatcaacattcta  139
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  154  tagtgaagcgatataacaatgcgaaaaaagaatggggtttcggacaattgattcctcgatcaacattcta  223
+
+Sbjct  140  caacgcgaacgaaggttaccttgaccaggacactggttcttttggtgctgagatctttattgttaaaccg  209
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  224  caacgcgaacgaaggttaccttgaccaggacactggttcttttggtgctgagatctttattgttaaaccg  293
+
+Sbjct  210  gctcaacaacaagagaaagttacattcatatcaaaccctccaaacaatgttttcacttggaagatacttc  279
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  294  gctcaacaacaagagaaagttacattcatatcaaaccctccaaacaatgttttcacttggaagatacttc  363
+
+Sbjct  280  gtttctctaccttggaagataaattctattactccgatgattttctcgttgaagaccgatactggagact  349
+            ||||||||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||
+Query  364  gtttctctaccttggaagataaattctattactccgatgatnttctcgttgaagaccgatactggagact  433
+
+Sbjct  350  aggatttaacccgaaaggggatggaggaggaagaccacatgcacttccaatcttcctatttgctcaaggc  419
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  434  aggatttaacccgaaaggggatggaggaggaagaccacatgcacttccaatcttcctatttgctcaaggc  503
+
+Sbjct  420  cataaggcaaatgcagttgctacaaacacttggggagcggttaatctgcggttaaagaatcaacgaantt  489
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| | 
+Query  504  cataaggcaaatgcagttgctacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagta  573
+
+Sbjct  490  ctaaccatagacaa-tatnt-ctgca-cttggtaccc-attggaaacg-ttatggtntgggant-aaca-  553
+            |||||||||||||| ||| | ||||| |||||||||| |||||||||| ||||||| ||||| | |||| 
+Query  574  ctaaccatagacaaatatattctgcagcttggtacccgattggaaacggttatggtgtgggagtgaacaa  643
+
+Sbjct  554  tatc-tactgtt-gctgatt-aa-cga-gcatccaaaggat-tttggtga-tga-gccnt-atctt-gaa  612
+            |||| ||||||| ||||||| || ||| ||||||||||||| |||||||| ||| ||| | ||||| |||
+Query  644  tatcatactgttagctgatttaaacgatgcatccaaaggatatttggtgaatgatgccattatctttgaa  713
+
+Sbjct  613  -ctgaa-tggttaagn-c-ctata-cca-c-tc-tctcc-ctnaa-t-tct-c-cttcttn-tcn-cna-  667
+             ||||| ||||||||  | ||||| ||| | || ||||| || || | ||| | ||||||  ||  | | 
+Query  714  gctgaaatggttaaggtctctataaccaacatcgtctccgcttaaatatctgcncttctttgtctacnan  783
+
+Sbjct  668  ca-tcn-cnttnat-aa-aaaa---ttt-a-tt-gat-aattttttanaa  705
+            || ||  | || || || ||||   ||| | || ||| ||||| ||| ||
+Query  784  caatccacctt-atgaataaaaaaattttaatttgatgaatttgttataa  832
+
+660 2 0 F 687 39 0 1065 94 86.04
+Sbjct  0    gtgantgttgatctcaaactctttgtccataatgggaagctacacaaatatttgactgttacagatggct  69
+            |||| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||  
+Query  0    gtgaatgttgatctcaaactctttgtccataatgggaagctacacaaatatttgactgttacagatggaa  69
+
+Sbjct  70   tagtgaagcgatataacaatgcgaaaaaagaatggggtttcggacaattgattcctcgatc-aacattct  138
+             |||||||||||| ||| |||| |||||||| ||||| |||  |||||||||| |||  || ||||||||
+Query  70   cagtgaagcgatacaacgatgcnaaaaaagagtggggattcacacaattgatttctct-tccaacattct  138
+
+Sbjct  139  acaacgcgaacgaaggttaccttgaccaggacactggttcttttggtgctgagatctttattgttaaacc  208
+            |||||||||||||||| |||||||  |||||||| | ||||||||||||||||||||| || ||||| ||
+Query  139  acaacgcgaacgaagggtaccttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaaccc  208
+
+Sbjct  209  ggctcaacaacaagagaaagttacattcatatcaaaccctccaaacaatgttttcacttggaagatactt  278
+            | |  || ||||||||||||| ||||||||||||||||||||||||||||||||||||||||||||||||
+Query  209  gacagaaaaacaagagaaagtcacattcatatcaaaccctccaaacaatgttttcacttggaagatactt  278
+
+Sbjct  279  cgtttctctaccttggaagataaattctattactccgatgattttctcgttgaagaccgatactggagac  348
+            ||||||||||||||||||||||||||||||||||| ||||||||||| |||| |||||||||||||||||
+Query  279  cgtttctctaccttggaagataaattctattactctgatgattttctngttggagaccgatactggagac  348
+
+Sbjct  349  taggatttaacccgaaaggggatggaggaggaagaccacatgcacttccaatcttcctatttgctcaagg  418
+            |||||||||||||||||||   ||| |||||||||||||||||||||||||||||||||| |||||||||
+Query  349  taggatttaacccgaaaggatctggtggaggaagaccacatgcacttccaatcttcctatatgctcaagg  418
+
+Sbjct  419  ccataaggcaaatgcagttgctacaaacacttggggagcggttaatctgcggttaaagaatcaacgaant  488
+            |||||||||||| ||||||| |||||||||||||||||||||||||||||||||||||||||||||||  
+Query  419  ccataaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagc  488
+
+Sbjct  489  tctaaccatagacaat-atnt-ctgca-cttggtaccc-attggaaacg-ttatggtntgggant-aaca  552
+            || ||||| | ||||| || | ||||| |||||||||| ||| ||| || ||||||| ||||| | ||||
+Query  489  tccaaccacaaacaattatattctgcagcttggtacccgattcgaagcgattatggtgtgggagtgaaca  558
+
+Sbjct  553  -tatc-tactgttg-ctgat-taac-ga-gcatccaaaggattt-tggtga-tga-gccnt-atctt-ga  611
+             |||  || || || | ||  |||  || ||||| ||||| | | |||||| ||| ||| | ||||| ||
+Query  559  atataatattgatgtcagagctaaaagatgcatcaaaagggtatatggtgaatgatgccattatctttga  628
+
+Sbjct  612  a-ctgaa-tggttaagn-c-ctat-acca-c-t-ctctccct-naattctc-cttctt  659
+            | ||||| ||||||||  | || | || | | |  ||||| |  || | || || |||
+Query  629  agctgaaatggttaaggtctctgtgacaaacatagtctccgtttaaatatcactactt  686
+
+668 3 0 F 660 5 38 1139 63 90.51
+Sbjct  0    gtgaagcgatacaacgatgcaaaaaaagagtggggattcacacaattgatttctcttccaacattctaca  69
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  38   gtgaagcgatacaacgatgcaaaaaaagagtggggattcacacaattgatttctcttccaacattctaca  107
+
+Sbjct  70   acgcgaacgaagggtacnttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgac  139
+            ||||||||||||||||| ||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  108  acgcgaacgaagggtaccttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgac  177
+
+Sbjct  140  agaaaaacaagagaaagtcacattcatatcaaaccctcc-gaacaatgttttcacttggaagatacttcg  208
+            ||||||||||||||||||||||||||||||||||||||| || |||||||||||||||||||||||||||
+Query  178  agaaaaacaagagaaagtcacattcatatcaaaccctccaga-caatgttttcacttggaagatacttcg  246
+
+Sbjct  209  tttctctaccttggaagataaattctattactctgatgattttctcgttgaagaccgatactggagatta  278
+            ||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||| ||
+Query  247  tttctctaccttggaagataaattctattactccgatgattttctcgttgaagaccgatactggagacta  316
+
+Sbjct  279  ggatttaacccgaaaggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggcc  348
+            |||||||||||||||||   ||| ||||| |||||||||||||||||||||||||||| |||||||||||
+Query  317  ggatttaacccgaaaggggatggaggaggaagaccacatgcacttccaatcttcctatttgctcaaggcc  386
+
+Sbjct  349  ataaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctc  418
+            |||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||||||||| | 
+Query  387  ataaggcaaacgcagttgctacaaacacttggggagcggttaatctgcggttaaagaatcaacgaag-ta  455
+
+Sbjct  419  c-aaccacaaacaattatattctgcagcttggtaccccgattcgaagcgattatggtgtgggagtgaaca  487
+            | ||||| | |||| |||||||||||||||||||||| |||| |||||| ||||||||||||||||||||
+Query  456  ctaaccatagacaaatatattctgcagcttggtaccc-gattggaagcggttatggtgtgggagtgaaca  524
+
+Sbjct  488  atatcatattgat-gtcagaagctaaaagatgcatcnaaagggtatatggtgaatgatgccattatcttt  556
+            |||||||| || | | | ||   |||| |||||||| ||||| ||| |||||||||||||||||||||||
+Query  525  atatcatactgttag-ctgatt-taaacgatgcatcaaaaggatatttggtgaatgatgccattatcttt  592
+
+Sbjct  557  tgaaactgaaatggttaaggtctctgtgaac-aacatantctccncttaaatatatntcactacttcttt  625
+             ||| |||||||||||||||||||| | ||| |||||  ||||| ||||||||| |  |||| ||| | |
+Query  593  -gaagctgaaatggttaaggtctctat-aaccaacatcgtctccgcttaaatatctg-cacttctt-tgt  658
+
+Sbjct  626  atcccc-cgnaat-aaccttacaaagaaaaattgatgatttaat  667
+             | |   |  ||| |||||||  || ||| |  ||| |||| ||
+Query  659  ctacgatc--aatcaaccttatgaataaaga--gat-atttgat  697
+
+639 3 14 F 631 6 14 1063 69 89.13
+Sbjct  14   cgatgcaaaaaaagagtggggattcacacaattgatttctcttccaacattctacaacgcgaacgaaggg  83
+            |||||   ||||  | || |||||  ||  || ||| |||||||    |||||    |||||| ||||||
+Query  14   cgatgnnnaaaannantgnggattnncannatngatntctcttcnnnnattctnnnncgcgaangaaggg  83
+
+Sbjct  84   tacnttgtgcaggacacagcttcttttggtgctgagatcttcat-cgttaacccgacagaaaaacaagag  152
+            ||| ||||| | |||    ||||||| |||||||| |||||||| || || ||||||||||| ||   | 
+Query  84   taccttgtgnangacnnnncttctttnggtgctganatcttcatgcgntancccgacagaaanacnnnan  153
+
+Sbjct  153  aaagtcacattcatatcaaaccctccgaacaatgttttcacttggaagatacttcgtttctctaccttgg  222
+            | |||| ||||||||||  ||||||| |||||||||||||||||||||||||||||||||||||||||||
+Query  154  anagtcncattcatatcnnaccctccnaacaatgttttcacttggaagatacttcgtttctctaccttgg  223
+
+Sbjct  223  aagataaattctattactctgatgattttctcgttgaagaccgatactggagattaggatttaacccgaa  292
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  224  aagataaattctattactctgatgattttctcgttgaagaccgatactggagattaggatttaacccgaa  293
+
+Sbjct  293  aggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggccataaggcaaacgca  362
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  294  aggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggccataaggcaaacgca  363
+
+Sbjct  363  gttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctccaaccacaaacaat  432
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  364  gttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctccaaccacaaacaat  433
+
+Sbjct  433  tatattctgcagcttggtaccccgattcgaagcgattatggtgtgggagtgaacaatatcatattgatgt  502
+            |||||||||||||||||||||| |||||||||||||||||||||||||||||||||||| ||||||||||
+Query  434  tatattctgcagcttggtaccc-gattcgaagcgattatggtgtgggagtgaacaatataatattgatgt  502
+
+Sbjct  503  cagaagctaaaagatgcatcnaaa-gggtatatggtgaatgatgccattatcttttgaaactgaaatggt  571
+            |||| ||||||||||||||| ||| |||||||||||||||||||||||||||||| ||| ||||||||||
+Query  503  caga-gctaaaagatgcatccaaaagggtatatggtgaatgatgccattatcttt-gaagctgaaatggt  570
+
+Sbjct  572  taaggtctctgtgaacaa-catantctccncttaaatatatntcactacttctttatcccccgnaataac  640
+            |||||||||||||| ||| |||| |||||  ||||||||    |||||||||||| ||  |   || |||
+Query  571  taaggtctctgtga-caaacatagtctccgtttaaatat----cactacttctttttcaac---aacaac  632
+
+Sbjct  641  cttacaaagaaa  652
+            ||||| || |||
+Query  633  cttacgaataaa  644
+
+655 3 0 F 650 16 156 1047 86 86.82
+Sbjct  0    gtgaagcgatacaacgatgcaaaaaaagagtggggattcacacaattgatttctct-tccaacattctac  68
+            ||||||||||| ||| |||| |||||||| ||||| |||  |||||||||| |||  || ||||||||||
+Query  156  gtgaagcgatataacaatgcgaaaaaagaatggggtttcggacaattgattcctcgatc-aacattctac  224
+
+Sbjct  69   aacgcgaacgaagggtacnttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccga  138
+            |||||||||||||| ||| |||  |||||||| | ||||||||||||||||||||| || ||||| ||| 
+Query  225  aacgcgaacgaaggttaccttgaccaggacactggttcttttggtgctgagatctttattgttaaaccgg  294
+
+Sbjct  139  cagaaaaacaagagaaagtcacattcatatcaaaccctccgaacaatgttttcacttggaagatacttcg  208
+            |  || ||||||||||||| |||||||||||||||||||| |||||||||||||||||||||||||||||
+Query  295  ctcaacaacaagagaaagttacattcatatcaaaccctccaaacaatgttttcacttggaagatacttcg  364
+
+Sbjct  209  tttctctaccttggaagataaattctattactctgatgattttctcgttgaagaccgatactggagatta  278
+            ||||||||||||||||||||||||||||||||| |||||| |||||||||||||||||||||||||| ||
+Query  365  tttctctaccttggaagataaattctattactccgatgatnttctcgttgaagaccgatactggagacta  434
+
+Sbjct  279  ggatttaacccgaaaggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggcc  348
+            |||||||||||||||||   ||| ||||| |||||||||||||||||||||||||||| |||||||||||
+Query  435  ggatttaacccgaaaggggatggaggaggaagaccacatgcacttccaatcttcctatttgctcaaggcc  504
+
+Sbjct  349  ataaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctc  418
+            |||||||||| ||||||| |||||||||||||||||||||||||||||||||||||||||||||||| | 
+Query  505  ataaggcaaatgcagttgctacaaacacttggggagcggttaatctgcggttaaagaatcaacgaag-ta  573
+
+Sbjct  419  c-aaccacaaacaattatattctgcagcttggtaccccgattcgaagcgattatggtgtgggagtgaaca  487
+            | ||||| | |||| |||||||||||||||||||||| |||| ||| || ||||||||||||||||||||
+Query  574  ctaaccatagacaaatatattctgcagcttggtaccc-gattggaaacggttatggtgtgggagtgaaca  642
+
+Sbjct  488  atatcatattgat-gtcagaagctaaaagatgcatcnaaagggtatatggtgaatgatgccattatcttt  556
+            |||||||| || | | | ||   |||| |||||||| ||||| ||| |||||||||||||||||||||||
+Query  643  atatcatactgttag-ctgatt-taaacgatgcatccaaaggatatttggtgaatgatgccattatcttt  710
+
+Sbjct  557  tgaaactgaaatggttaaggtctctgtgaac-aacatantctccncttaaatatatntcactacttcttt  625
+             ||| |||||||||||||||||||| | ||| |||||  ||||| ||||||||| |  | || ||| | |
+Query  711  -gaagctgaaatggttaaggtctctat-aaccaacatcgtctccgcttaaatatctg-cncttctt-tgt  776
+
+Sbjct  626  atcccccgnaat-aaccttacaaagaaaaa  654
+             | |     |||  ||||||  || |||||
+Query  777  ctac-nancaatccaccttatgaataaaaa  805
+
+653 3 0 F 643 39 72 1203 31 95.22
+Sbjct  0    gtgaagcgatacaacgatgcaaaaaaagagtggggattcacacaattgatttctcttccaacattctaca  69
+            |||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||||||||||
+Query  72   gtgaagcgatacaacgatgcnaaaaaagagtggggattcacacaattgatttctcttccaacattctaca  141
+
+Sbjct  70   acgcgaacgaagggtacnttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgac  139
+            ||||||||||||||||| ||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  142  acgcgaacgaagggtaccttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgac  211
+
+Sbjct  140  agaaaaacaagagaaagtcacattcatatcaaaccctccgaacaatgttttcacttggaagatacttcgt  209
+            ||||||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||
+Query  212  agaaaaacaagagaaagtcacattcatatcaaaccctccaaacaatgttttcacttggaagatacttcgt  281
+
+Sbjct  210  ttctctaccttggaagataaattctattactctgatgattttctcgttgaagaccgatactggagattag  279
+            |||||||||||||||||||||||||||||||||||||||||||| |||| |||||||||||||||| |||
+Query  282  ttctctaccttggaagataaattctattactctgatgattttctngttggagaccgatactggagactag  351
+
+Sbjct  280  gatttaacccgaaaggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggcca  349
+            |||||||||||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||
+Query  352  gatttaacccgaaaggatctggtggaggaagaccacatgcacttccaatcttcctatatgctcaaggcca  421
+
+Sbjct  350  taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc  419
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  422  taaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc  491
+
+Sbjct  420  aaccacaaacaattatattctgcagcttggtaccccgattcgaagcgattatggtgtgggagtgaacaat  489
+            ||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||||
+Query  492  aaccacaaacaattatattctgcagcttggtaccc-gattcgaagcgattatggtgtgggagtgaacaat  560
+
+Sbjct  490  atcatattgatgtcagaagctaaaagatgcatcnaaagggtatatggtgaatgatgccattatcttttga  559
+            || |||||||||||||| ||||||||||||||| ||||||||||||||||||||||||||||||||| ||
+Query  561  ataatattgatgtcaga-gctaaaagatgcatcaaaagggtatatggtgaatgatgccattatcttt-ga  628
+
+Sbjct  560  aactgaaatggttaaggtctctgtgaacaa-catantctccncttaaatatatntcactacttctttatc  628
+            | |||||||||||||||||||||||| ||| |||| |||||  ||||||||    |||||||||||| ||
+Query  629  agctgaaatggttaaggtctctgtga-caaacatagtctccgtttaaatat----cactacttctttttc  693
+
+Sbjct  629  ccccgnaataaccttacaaagaaa  652
+              |   || |||||||| || |||
+Query  694  aac---aacaaccttacgaataaa  714
+
+613 4 16 F 571 47 0 1022 54 90.88
+Sbjct  16   cacaaatggagtctaggtttcacattacttgctttcctcttcatcacttcctcttccgctgagctcatca  85
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  0    cacaaatggagtctaggtttcacattacttgctttcctcttcatcacttcctcttccgctgagctcatca  69
+
+Sbjct  86   ttaaacaggtcacacagggcagaggaatagagtacaacaactcttacagtctcacgtcgaatcttggagt  155
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  70   ttaaacaggtcacacagggcagaggaatagagtacaacaactcttacagtctcacgtcgaatcttggagt  139
+
+Sbjct  156  gacgacaagagagttgagagacgagcgaccatcaagtaagatagtgacaatcacaagcttctctgtgatt  225
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  140  gacgacaagagagttgagagacgagcgaccatcaagtaagatagtgacaatcacaagcttctctgtgatt  209
+
+Sbjct  226  aaggacagaggagaaccctatgaatcatctatttttgaggctgccggttacaaatggagattagttttgt  295
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ||||||
+Query  210  aaggacagaggagaaccctatgaatcatctatttttgaggctgccggttacaaatggagattanttttgt  279
+
+Sbjct  296  acgtgaagggtaatccgaaaggcggtataaataatcatatttcactttacgcgaggatagaagagacaga  365
+            ||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||||||||||
+Query  280  acgtgaagggtaatccgaaaggcggtatanataatcatatttcactttacgcgaggatagaagagacaga  349
+
+Sbjct  366  aactcttccaagagggtgggaagtgaatgttgatctcaaactctttgtccacaatcggaanttaaagaaa  435
+            ||||||||||||| |||||||||||||||||||||||||||||||||||||||||||||| | |||||| 
+Query  350  aactcttccaagaaggtgggaagtgaatgttgatctcaaactctttgtccacaatcggaagtnaaagaa-  419
+
+Sbjct  436  tatttgtctgttacagatggaacagtgaagcgatacaacgatgcaaaaaaagagtggggattcncacaat  505
+            |||| |||||||||||||||| || |||| |||| || | |||| |||||||| ||||||| | |||| |
+Query  420  tatt-gtctgttacagatgga-ca-tgaancgatcca-cnatgcnaaaaaaga-tggggat-c-caca-t  480
+
+Sbjct  506  tgatttctcttccaacattctacaacgcgaacgaagggttccttgtgccaggacacancttcctttgggt  575
+            ||||| |||| ||| ||| || || | |||| ||||| | | || | | || || || || | ||||| |
+Query  481  tgatt-ctct-cca-cat-ct-ca-c-cgaa-gaagg-tac-tt-t-c-ag-ac-ca-ct-c-tttgg-t  531
+
+Sbjct  576  gctganaacttcatcgttaacccgaccgaaaaaccagaaaaaatccctttctt  628
+            ||||| | || | || ||| || ||| ||||  | |||||   ||| || |||
+Query  532  gctgana-ct-c-tcntta-cc-gac-gaaa--c-agaaa---tcc-tt-ctt  570
+
+704 5 52 F 700 6 14 1056 116 83.48
+Sbjct  52   cgatgcaaaaaaagagtggggattcacacaattgatttctcttccaacattctacaacgcgaacgaaggg  121
+            |||||   ||||  | || |||||  ||  || ||| |||||||    |||||    |||||| ||||||
+Query  14   cgatgnnnaaaannantgnggattnncannatngatntctcttcnnnnattctnnnncgcgaangaaggg  83
+
+Sbjct  122  taccttgtgcaggacacagcttcttttggtgctgagatcttcat-cgttaacccgacagaaaaacaagag  190
+            ||||||||| | |||    ||||||| |||||||| |||||||| || || ||||||||||| ||   | 
+Query  84   taccttgtgnangacnnnncttctttnggtgctganatcttcatgcgntancccgacagaaanacnnnan  153
+
+Sbjct  191  aaagtcacattcatatcaaaccctcc-agacaatgttttcacttggaagatacttcgtttctctaccttg  259
+            | |||| ||||||||||  ||||||| | |||||||||||||||||||||||||||||||||||||||||
+Query  154  anagtcncattcatatcnnaccctccna-acaatgttttcacttggaagatacttcgtttctctaccttg  222
+
+Sbjct  260  gaagataaattctattactccgatgattttctcgttgaagaccgatactggagactaggatttaacccga  329
+            |||||||||||||||||||| ||||||||||||||||||||||||||||||||| |||||||||||||||
+Query  223  gaagataaattctattactctgatgattttctcgttgaagaccgatactggagattaggatttaacccga  292
+
+Sbjct  330  aaggggatggaggaggaagaccacatgcacttccaatcttcctatttgctcaaggccataaggcaaacgc  399
+            ||||   ||| ||||| |||||||||||||||||||||||||||| ||||||||||||||||||||||||
+Query  293  aaggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggccataaggcaaacgc  362
+
+Sbjct  400  agttgctacaaacacttggggagcggttaatctgcggttaaagaatcaacgaag-tactaaccatagaca  468
+            ||||| |||||||||||||||||||||||||||||||||||||||||||||||| | | ||||| | |||
+Query  363  agttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc-aaccacaaaca  431
+
+Sbjct  469  aatatattctgcagcttggtacccgattggaagcggttatggtgtgggagtgaacaatatcatactgtta  538
+            | |||||||||||||||||||||||||| |||||| |||||||||||||||||||||||| ||| || | 
+Query  432  attatattctgcagcttggtacccgattcgaagcgattatggtgtgggagtgaacaatataatattgat-  501
+
+Sbjct  539  g-ctgatttaaacgatgcatc-aaaaggatatttggtgaatgatgccattatctttgaagctgaaatggt  606
+            | | ||  |||| |||||||| |||||| ||| |||||||||||||||||||||||||||||||||||||
+Query  502  gtcagagctaaaagatgcatccaaaagggtatatggtgaatgatgccattatctttgaagctgaaatggt  570
+
+Sbjct  607  taaggtctctataaccaacatcgtctccgcttaaatatctgc-acttctttgtctacgatcaatcaacct  675
+            |||||||||| | || ||||| ||||||| |||||||||  | |||||||| || || | ||| |  | |
+Query  571  taaggtctctgtgacaaacatagtctccgtttaaatatca-ctacttctttttcaacaa-caa-c--c-t  634
+
+Sbjct  676  tatgaataaagagata-tttgatgagtttgtaataagaaa-acgttaatgtt-t-g-tgaattgtgaagt  740
+            || |||||||| |  | ||||||||||||  |||  |  | |||  || ||| | | ||  |||||| ||
+Query  635  tacgaataaagtgg-actttgatgagttt--aatttgttatacgacaacgttgttgatg-cttgtgatgt  700
+
+Sbjct  741  tattacttctgtt-ct  755
+             ||  | | |||| ||
+Query  701  aat--cgt-tgtttct  713
+
+742 5 0 F 746 16 118 1323 55 92.61
+Sbjct  0    ggaagttaaagaaatatttgtctgttacagatggaacagtgaagcgatacaacgatgcaaaaaaagagtg  69
+            ||||| || | ||||||||| |||||||||||||   |||||||||||| ||| |||| |||||||| ||
+Query  118  ggaagctacacaaatatttgactgttacagatggcttagtgaagcgatataacaatgcgaaaaaagaatg  187
+
+Sbjct  70   gggattcacacaattgatttctct-tccaacattctacaacgcgaacgaagggtaccttgtgcaggacac  138
+            ||| |||  |||||||||| |||  || |||||||||||||||||||||||| |||||||  ||||||||
+Query  188  gggtttcggacaattgattcctcgatc-aacattctacaacgcgaacgaaggttaccttgaccaggacac  256
+
+Sbjct  139  agcttcttttggtgctgagatcttcatcgttaacccgacagaaaaacaagagaaagtcacattcatatca  208
+             | ||||||||||||||||||||| || ||||| ||| |  || ||||||||||||| ||||||||||||
+Query  257  tggttcttttggtgctgagatctttattgttaaaccggctcaacaacaagagaaagttacattcatatca  326
+
+Sbjct  209  aaccctccagacaatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattact  278
+            ||||||||| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  327  aaccctccaaacaatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattact  396
+
+Sbjct  279  ccgatgattttctcgttgaagaccgatactggagactaggatttaacccgaaaggggatggaggaggaag  348
+            |||||||| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  397  ccgatgatnttctcgttgaagaccgatactggagactaggatttaacccgaaaggggatggaggaggaag  466
+
+Sbjct  349  accacatgcacttccaatcttcctatttgctcaaggccataaggcaaacgcagttgctacaaacacttgg  418
+            |||||||||||||||||||||||||||||||||||||||||||||||| |||||||||||||||||||||
+Query  467  accacatgcacttccaatcttcctatttgctcaaggccataaggcaaatgcagttgctacaaacacttgg  536
+
+Sbjct  419  ggagcggttaatctgcggttaaagaatcaacgaagtactaaccatagacaaatatattctgcagcttggt  488
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  537  ggagcggttaatctgcggttaaagaatcaacgaagtactaaccatagacaaatatattctgcagcttggt  606
+
+Sbjct  489  acccgattggaagcggttatggtgtgggagtgaacaatatcatactgttagctgatttaaacgatgcatc  558
+            |||||||||||| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  607  acccgattggaaacggttatggtgtgggagtgaacaatatcatactgttagctgatttaaacgatgcatc  676
+
+Sbjct  559  aaaaggatatttggtgaatgatgccattatctttgaagctgaaatggttaaggtctctataaccaacatc  628
+             |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  677  caaaggatatttggtgaatgatgccattatctttgaagctgaaatggttaaggtctctataaccaacatc  746
+
+Sbjct  629  gtctccgcttaaatatctgcacttctttgtctacgatcaatcaaccttatgaataaagagatatttgat-  698
+            |||||||||||||||||||| ||||||||||||| | ||||| |||||||||||||| | || ||| || 
+Query  747  gtctccgcttaaatatctgcncttctttgtctacnancaatccaccttatgaataaaaaaat-tttaatt  815
+
+Sbjct  699  -ga-g--tttgtaataagaaaacgttaatgtttgtgaattgtgaagtt  741
+             || |  ||||| |||| ||||| ||||||||||| || |||||| ||
+Query  816  tgatgaatttgttataanaaaactttaatgtttgttaaatgtgaaatt  863
+
+756 5 0 F 750 39 34 1275 77 89.77
+Sbjct  0    ggaagttaaagaaatatttgtctgttacagatggaacagtgaagcgatacaacgatgcaaaaaaagagtg  69
+            ||||| || | ||||||||| ||||||||||||||||||||||||||||||||||||| |||||||||||
+Query  34   ggaagctacacaaatatttgactgttacagatggaacagtgaagcgatacaacgatgcnaaaaaagagtg  103
+
+Sbjct  70   gggattcacacaattgatttctcttccaacattctacaacgcgaacgaagggtaccttgtgcaggacaca  139
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  104  gggattcacacaattgatttctcttccaacattctacaacgcgaacgaagggtaccttgtgcaggacaca  173
+
+Sbjct  140  gcttcttttggtgctgagatcttcatcgttaacccgacagaaaaacaagagaaagtcacattcatatcaa  209
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  174  gcttcttttggtgctgagatcttcatcgttaacccgacagaaaaacaagagaaagtcacattcatatcaa  243
+
+Sbjct  210  accctccagacaatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactc  279
+            |||||||| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  244  accctccaaacaatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactc  313
+
+Sbjct  280  cgatgattttctcgttgaagaccgatactggagactaggatttaacccgaaaggggatggaggaggaaga  349
+             ||||||||||| |||| ||||||||||||||||||||||||||||||||||||   ||| |||||||||
+Query  314  tgatgattttctngttggagaccgatactggagactaggatttaacccgaaaggatctggtggaggaaga  383
+
+Sbjct  350  ccacatgcacttccaatcttcctatttgctcaaggccataaggcaaacgcagttgctacaaacacttggg  419
+            ||||||||||||||||||||||||| ||||||||||||||||||||||||||||| ||||||||||||||
+Query  384  ccacatgcacttccaatcttcctatatgctcaaggccataaggcaaacgcagttgttacaaacacttggg  453
+
+Sbjct  420  gagcggttaatctgcggttaaagaatcaacgaag-tactaaccatagacaaatatattctgcagcttggt  488
+            |||||||||||||||||||||||||||||||||| | | ||||| | |||| ||||||||||||||||||
+Query  454  gagcggttaatctgcggttaaagaatcaacgaagctcc-aaccacaaacaattatattctgcagcttggt  522
+
+Sbjct  489  acccgattggaagcggttatggtgtgggagtgaacaatatcatactgttag-ctgatttaaacgatgcat  557
+            |||||||| |||||| |||||||||||||||||||||||| ||| || | | | ||  |||| |||||||
+Query  523  acccgattcgaagcgattatggtgtgggagtgaacaatataatattgat-gtcagagctaaaagatgcat  591
+
+Sbjct  558  caaaaggatatttggtgaatgatgccattatctttgaagctgaaatggttaaggtctctataaccaacat  627
+            ||||||| ||| ||||||||||||||||||||||||||||||||||||||||||||||| | || |||||
+Query  592  caaaagggtatatggtgaatgatgccattatctttgaagctgaaatggttaaggtctctgtgacaaacat  661
+
+Sbjct  628  cgtctccgcttaaatatctgc-acttctttgtctacgatcaatcaaccttatgaataaagagata-tttg  695
+             ||||||| |||||||||  | |||||||| || || | ||| |  | ||| |||||||| |  | ||||
+Query  662  agtctccgtttaaatatca-ctacttctttttcaacaa-caa-c--c-ttacgaataaagtgg-actttg  724
+
+Sbjct  696  atgagtttgtaataagaaa-acgttaatgtt-t-g-tgaattgtgaagttattacttctgtt-ct  755
+            ||||||||  |||  |  | |||  || ||| | | ||  |||||| || ||  | | |||| ||
+Query  725  atgagttt--aatttgttatacgacaacgttgttgatg-cttgtgatgtnat--cgt-tgtttct  783
+
+599 6 104 F 601 16 260 915 95 84.17
+Sbjct  104  ttctttnggtgctganatcttcatgcgntancccgacagaa-anacnnnananagtcncattcatatcnn  172
+            |||||| |||||||| ||||| ||  | ||  ||| |  || | ||   | | |||  ||||||||||  
+Query  260  ttcttttggtgctgagatctttatt-gttaaaccggctcaaca-acaagagaaagttacattcatatcaa  327
+
+Sbjct  173  accctccnaacaatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactc  242
+            ||||||| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  328  accctccaaacaatgttttcacttggaagatacttcgtttctctaccttggaagataaattctattactc  397
+
+Sbjct  243  tgatgattttctcgttgaagaccgatactggagattaggatttaacccgaaaggatctggtggagggaga  312
+             |||||| |||||||||||||||||||||||||| |||||||||||||||||||   ||| ||||| |||
+Query  398  cgatgatnttctcgttgaagaccgatactggagactaggatttaacccgaaaggggatggaggaggaaga  467
+
+Sbjct  313  ccacatgcacttccaatcttcctatatgctcaaggccataaggcaaacgcagttgttacaaacacttggg  382
+            ||||||||||||||||||||||||| ||||||||||||||||||||| ||||||| ||||||||||||||
+Query  468  ccacatgcacttccaatcttcctatttgctcaaggccataaggcaaatgcagttgctacaaacacttggg  537
+
+Sbjct  383  gagcggttaatctgcggttaaagaatcaacgaagctcc-aaccacaaacaattatattctgcagcttggt  451
+            |||||||||||||||||||||||||||||||||| | | ||||| | |||| ||||||||||||||||||
+Query  538  gagcggttaatctgcggttaaagaatcaacgaag-tactaaccatagacaaatatattctgcagcttggt  606
+
+Sbjct  452  acccgattcgaagcgattatggtgtgggagtgaacaatataatattgat-gtcagagctaaaagatgcat  520
+            |||||||| ||| || |||||||||||||||||||||||| ||| || | | | ||  |||| |||||||
+Query  607  acccgattggaaacggttatggtgtgggagtgaacaatatcatactgttag-ctgatttaaacgatgcat  675
+
+Sbjct  521  ccaaaagggtatatggtgaatgatgccattatctttgaagctgaaatggttaaggtctctgtgacaaaca  590
+            ||||| || ||| ||||||||||||||||||||||||||||||||||||||||||||||| | || ||||
+Query  676  ccaaa-ggatatttggtgaatgatgccattatctttgaagctgaaatggttaaggtctctataaccaaca  744
+
+Sbjct  591  tagtctccgtttaaatatca-ctacttctttttcaacaa-caa-cc---ttacgaataaagtggactttg  654
+            | ||||||| |||||||||  |  ||||||| || || | ||| ||   ||| |||||||    | ||| 
+Query  745  tcgtctccgcttaaatatctgcn-cttctttgtctacnancaatccaccttatgaataaaaaa-atttta  812
+
+Sbjct  655  atgagtttaatttgttatacgacaacgttgttgatgcttgtga--tgt-aa  702
+            ||  | | |||||||||||  | ||| || |  ||| |||| |  ||| ||
+Query  813  atttgatgaatttgttataanaaaac-tt-t-aatgtttgttaaatgtgaa  860
+
+783 6 14 F 788 39 86 1400 57 92.74
+Sbjct  14   cgatgnnnaaaannantgnggattnncannatngatntctcttcnnnnattctnnnncgcgaangaaggg  83
+            |||||   ||||  | || |||||  ||  || ||| |||||||    |||||    |||||| ||||||
+Query  86   cgatgcnaaaaaagagtggggattcacacaattgatttctcttccaacattctacaacgcgaacgaaggg  155
+
+Sbjct  84   taccttgtgnangacnnnncttctttnggtgctganatcttcatgcgntancccgacagaaanacnnnan  153
+            ||||||||| | |||    ||||||| |||||||| |||||||| || || ||||||||||| ||   | 
+Query  156  taccttgtgcaggacacagcttcttttggtgctgagatcttcat-cgttaacccgacagaaaaacaagag  224
+
+Sbjct  154  anagtcncattcatatcnnaccctccnaacaatgttttcacttggaagatacttcgtttctctaccttgg  223
+            | |||| ||||||||||  ||||||| |||||||||||||||||||||||||||||||||||||||||||
+Query  225  aaagtcacattcatatcaaaccctccaaacaatgttttcacttggaagatacttcgtttctctaccttgg  294
+
+Sbjct  224  aagataaattctattactctgatgattttctcgttgaagaccgatactggagattaggatttaacccgaa  293
+            ||||||||||||||||||||||||||||||| |||| |||||||||||||||| ||||||||||||||||
+Query  295  aagataaattctattactctgatgattttctngttggagaccgatactggagactaggatttaacccgaa  364
+
+Sbjct  294  aggatctggtggagggagaccacatgcacttccaatcttcctatatgctcaaggccataaggcaaacgca  363
+            ||||||||||||||| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  365  aggatctggtggaggaagaccacatgcacttccaatcttcctatatgctcaaggccataaggcaaacgca  434
+
+Sbjct  364  gttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctccaaccacaaacaat  433
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  435  gttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagctccaaccacaaacaat  504
+
+Sbjct  434  tatattctgcagcttggtacccgattcgaagcgattatggtgtgggagtgaacaatataatattgatgtc  503
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  505  tatattctgcagcttggtacccgattcgaagcgattatggtgtgggagtgaacaatataatattgatgtc  574
+
+Sbjct  504  agagctaaaagatgcatccaaaagggtatatggtgaatgatgccattatctttgaagctgaaatggttaa  573
+            |||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  575  agagctaaaagatgcatc-aaaagggtatatggtgaatgatgccattatctttgaagctgaaatggttaa  643
+
+Sbjct  574  ggtctctgtgacaaacatagtctccgtttaaatatcactacttctttttcaacaacaaccttacgaataa  643
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  644  ggtctctgtgacaaacatagtctccgtttaaatatcactacttctttttcaacaacaaccttacgaataa  713
+
+Sbjct  644  agtggactttgatgagtttaatttgttatacgacaacgttgttgatgcttgtgatgtaatcgttgtttct  713
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ||||||||||||
+Query  714  agtggactttgatgagtttaatttgttatacgacaacgttgttgatgcttgtgatgtnatcgttgtttct  783
+
+Sbjct  714  gctctccgagttttcgttttactttttttttcatgttttgctatc-aatgaaa-taaa-ggtataaaact  780
+            ||||||||||||||||||||||||||||||||||||||||||||| ||||||| |||| ||| |||||||
+Query  784  gctctccgagttttcgttttactttttttttcatgttttgctatccaatgaaaataaaaggtttaaaact  853
+
+Sbjct  781  ctc-tt-ggtttt-aaa-gt  796
+            ||| || |||||| ||| ||
+Query  854  ctcctttggtttttaaaagt  873
+
+767 16 84 F 766 39 0 1248 95 87.61
+Sbjct  84   gtgaatgttgatctcaaactctttgtccataatgggaagctacacaaatatttgactgttacagatggct  153
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||  
+Query  0    gtgaatgttgatctcaaactctttgtccataatgggaagctacacaaatatttgactgttacagatggaa  69
+
+Sbjct  154  tagtgaagcgatataacaatgcgaaaaaagaatggggtttcggacaattgattcctcgatc-aacattct  222
+             |||||||||||| ||| |||| |||||||| ||||| |||  |||||||||| |||  || ||||||||
+Query  70   cagtgaagcgatacaacgatgcnaaaaaagagtggggattcacacaattgatttctct-tccaacattct  138
+
+Sbjct  223  acaacgcgaacgaaggttaccttgaccaggacactggttcttttggtgctgagatctttattgttaaacc  292
+            |||||||||||||||| |||||||  |||||||| | ||||||||||||||||||||| || ||||| ||
+Query  139  acaacgcgaacgaagggtaccttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaaccc  208
+
+Sbjct  293  ggctcaacaacaagagaaagttacattcatatcaaaccctccaaacaatgttttcacttggaagatactt  362
+            | |  || ||||||||||||| ||||||||||||||||||||||||||||||||||||||||||||||||
+Query  209  gacagaaaaacaagagaaagtcacattcatatcaaaccctccaaacaatgttttcacttggaagatactt  278
+
+Sbjct  363  cgtttctctaccttggaagataaattctattactccgatgatnttctcgttgaagaccgatactggagac  432
+            ||||||||||||||||||||||||||||||||||| |||||| |||| |||| |||||||||||||||||
+Query  279  cgtttctctaccttggaagataaattctattactctgatgattttctngttggagaccgatactggagac  348
+
+Sbjct  433  taggatttaacccgaaaggggatggaggaggaagaccacatgcacttccaatcttcctatttgctcaagg  502
+            |||||||||||||||||||   ||| |||||||||||||||||||||||||||||||||| |||||||||
+Query  349  taggatttaacccgaaaggatctggtggaggaagaccacatgcacttccaatcttcctatatgctcaagg  418
+
+Sbjct  503  ccataaggcaaatgcagttgctacaaacacttggggagcggttaatctgcggttaaagaatcaacgaag-  572
+            |||||||||||| ||||||| |||||||||||||||||||||||||||||||||||||||||||||||| 
+Query  419  ccataaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaatcaacgaagc  488
+
+Sbjct  573  tactaaccatagacaaatatattctgcagcttggtacccgattggaaacggttatggtgtgggagtgaac  641
+            | | ||||| | |||| |||||||||||||||||||||||||| ||| || |||||||||||||||||||
+Query  489  tcc-aaccacaaacaattatattctgcagcttggtacccgattcgaagcgattatggtgtgggagtgaac  557
+
+Sbjct  642  aatatcatactgttag-ctgatttaaacgatgcatccaaaggatatttggtgaatgatgccattatcttt  710
+            ||||| ||| || | | | ||  |||| |||||||| ||||| ||| |||||||||||||||||||||||
+Query  558  aatataatattgat-gtcagagctaaaagatgcatcaaaagggtatatggtgaatgatgccattatcttt  626
+
+Sbjct  711  gaagctgaaatggttaaggtctctataaccaacatcgtctccgcttaaatatctgcn-cttctttgtcta  779
+            |||||||||||||||||||||||| | || ||||| ||||||| |||||||||  |  ||||||| || |
+Query  627  gaagctgaaatggttaaggtctctgtgacaaacatagtctccgtttaaatatca-ctacttctttttcaa  695
+
+Sbjct  780  cnancaatccaccttatgaataaaaaa-attttaatttgatgaatttgttataanaaaac-tt-t-aatg  845
+            | | ||| ||   ||| |||||||    | ||| ||  | | |||||||||||  | ||| || |  |||
+Query  696  caa-caa-cc---ttacgaataaagtggactttgatgagtttaatttgttatacgacaacgttgttgatg  760
+
+Sbjct  846  tttgt  850
+             ||||
+Query  761  cttgt  765
+
+517 64 0 F 517 65 0 1034 0 100.00
+Sbjct  0    cacgaaagtcttacgcgtctccttgaagatgcgaaatctattattgagaaatattggaaactcagatgga  69
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  0    cacgaaagtcttacgcgtctccttgaagatgcgaaatctattattgagaaatattggaaactcagatgga  69
+
+Sbjct  70   gcagacacgtttgcaggaagtacaggtacatcaaaaaactcgaatcgatagaacttgaattagtaagggt  139
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  70   gcagacacgtttgcaggaagtacaggtacatcaaaaaactcgaatcgatagaacttgaattagtaagggt  139
+
+Sbjct  140  agcacgtgagatacaagtccaccaatggaccgatatcaaagaaatgaaggcgatacaagtccaccaatgg  209
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  140  agcacgtgagatacaagtccaccaatggaccgatatcaaagaaatgaaggcgatacaagtccaccaatgg  209
+
+Sbjct  210  accgatatcaaagaaatgaaggcgatacaagtcgaccaatggaccgatatcaaagaaatgaaggcgatac  279
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  210  accgatatcaaagaaatgaaggcgatacaagtcgaccaatggaccgatatcaaagaaatgaaggcgatac  279
+
+Sbjct  280  aagtcgaccaatggatcgatatcaaagaaatgaaggcgatacaagtcgaccaatggaccgatatcaaaga  349
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  280  aagtcgaccaatggatcgatatcaaagaaatgaaggcgatacaagtcgaccaatggaccgatatcaaaga  349
+
+Sbjct  350  aatgaaggccagatatctgaaaagcataataaatgaatcaatatctaaaatctggtgtttttctctcttt  419
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  350  aatgaaggccagatatctgaaaagcataataaatgaatcaatatctaaaatctggtgtttttctctcttt  419
+
+Sbjct  420  cttcttccccacaatgattgaaaaactcttcttgttatgaataaagatggatgcccatttataagggcca  489
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  420  cttcttccccacaatgattgaaaaactcttcttgttatgaataaagatggatgcccatttataagggcca  489
+
+Sbjct  490  tcatctaagcccatcatctagattttt  516
+            |||||||||||||||||||||||||||
+Query  490  tcatctaagcccatcatctagattttt  516
+
+542 78 223 F 540 1488 8 995 29 94.64
+Sbjct  223  cctat-cttatatgtttata-gtttatacaagtg-ttttta-tgtttgttggatttgaagcgaagcttaa  288
+            ||| | |||| ||| ||||| |||| | | || |  |||||  ||| || |||||||| ||| |||||| 
+Query  8    cctttccttaaatg-ttataggttt-tcc-ag-gnnttttanggttggtgggatttgacgcg-agcttac  72
+
+Sbjct  289  ccatc-ttatggtgac-ttagatctatttagaacc-tttagttggtggcttttctccggatcgtcatgtt  355
+            ||||| |||||||| | || || |||||||| ||| ||||| |||||||||| ||||||||| |||||||
+Query  73   ccatctttatggtg-ctttgga-ctatttag-accntttag-tggtggctttcctccggatcntcatgtt  138
+
+Sbjct  356  gggtatacggattactgaaatttcaaggatagtttgcaaataaaattgaagaaaagaaagaaatttcctt  425
+            |||||| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  139  gggtatccggattactgaaatttcaaggatagtttgcaaataaaattgaagaaaagaaagaaatttcctt  208
+
+Sbjct  426  cgcgattttaagatgccttttagccgtgatttcaattgttcggagttttgattcgttttgcaaccagctt  495
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  209  cgcgattttaagatgccttttagccgtgatttcaattgttcggagttttgattcgttttgcaaccagctt  278
+
+Sbjct  496  tgtcggtgaaaatcagaagaatcaatagtcgaatttcagttatcggcaatgattttcttcaccagaatca  565
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  279  tgtcggtgaaaatcagaagaatcaatagtcgaatttcagttatcggcaatgattttcttcaccagaatca  348
+
+Sbjct  566  gcatcttagatggcggtggtgatgtcggaaagcttttagaattttcatccaacacgtgtaccactgttga  635
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  349  gcatcttagatggcggtggtgatgtcggaaagcttttagaattttcatccaacacgtgtaccactgttga  418
+
+Sbjct  636  cacgtttgtttgggaatgaaactaatgataaactttcttcaagttgaagcaatatattgtgtgggccttt  705
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  419  cacgtttgtttgggaatgaaactaatgataaactttcttcaagttgaagcaatatattgtgtgggccttt  488
+
+Sbjct  706  atgggctgtaatctgttttgtaacccatgttgttatgaataaaatcctaatcttgcgag  764
+            |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  489  atgggctgtaatctgttttgtaacccatgttgttatgaataaaatcctaatcttgcgag  547
+
+568 79 56 F 568 1495 0 1022 38 93.31
+Sbjct  56   ttggccggatttggtttgtatccaacgttgttttgtttttctttcaataatctcatagatcttatg-ttg  124
+            || ||||| ||||||||||  |||||||||||| | ||| ||| | |||| | ||| |  ||| || |||
+Query  0    tt-gccgg-tttggtttgtncccaacgttgtttggntttcctt-cnataaccccatggnccttntggttg  66
+
+Sbjct  125  gtgataatggtttaggtgatttttcgc-ttaaagatcttt-attatccaattcgatcttttgagtttgag  192
+            |   |||||||||||| | |||||||| ||||||| |||| |||| ||||||||| ||||  |||||| |
+Query  67   gnn-taatggtttaggngttttttcgcattaaaga-cttttattanccaattcgacctttnnagtttggg  134
+
+Sbjct  193  -atttgcaggaat-caatttag-agatttgcatc-ttaagttgaagaaaagaagaagttttcgttgcata  258
+             |||||| || || |||||| | ||||| ||||| |||||||||||||| ||||||||||||||||||||
+Query  135  gatttgcngggattcaattttggagatt-gcatcnttaagttgaagaaa-gaagaagttttcgttgcata  202
+
+Sbjct  259  ttaatattgcccttagctgctaagtttttatctggaagttcgattggtttgtttaaggtgaaacccagaa  328
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  203  ttaatattgcccttagctgctaagtttttatctggaagttcgattggtttgtttaaggtgaaacccagaa  272
+
+Sbjct  329  gaatcaaacttgctttcattatcaatgttgatttttctcaccggaatcaatctcagacggcaaaggaaga  398
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  273  gaatcaaacttgctttcattatcaatgttgatttttctcaccggaatcaatctcagacggcaaaggaaga  342
+
+Sbjct  399  tgtcggaaatgcttttagattactcatccaaacgtgtgctgtgttgttttcagctgttgacacgtaagat  468
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  343  tgtcggaaatgcttttagattactcatccaaacgtgtgctgtgttgttttcagctgttgacacgtaagat  412
+
+Sbjct  469  tggttggagccacaatatcagttcttcatctttaagcaatgttcttggactcatttaggacttcaaatgt  538
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  413  tggttggagccacaatatcagttcttcatctttaagcaatgttcttggactcatttaggacttcaaatgt  482
+
+Sbjct  539  tcttgtaatctcagtgtatgttgggcttttggttttttagcccatgtatggttggttaacgttaataaga  608
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  483  tcttgtaatctcagtgtatgttgggcttttggttttttagcccatgtatggttggttaacgttaataaga  552
+
+Sbjct  609  ttttccacttatgag  623
+            |||||||||||||||
+Query  553  ttttccacttatgag  567
+
+540 474 0 F 522 658 80 975 29 94.54
+Sbjct  0    tgaaggttgcccccaatcggaagagaagttgngcnctttcttcctccctgccnttagtgccgttgaattg  69
+            || |||||||||| | ||||||||||| |||  | ||| |||||||| |  | |||||| ||| || |||
+Query  80   tg-aggttgcccc-a-tcggaagagaanttgaactctt-cttcctcc-tnnc-ttagtgacgt-ga-ttg  141
+
+Sbjct  70   gctaaggaagttg-cttccttctccgcaacaagtggatcccttgtgttgaattcgagttggagcaccgga  138
+            ||||||||||| | || ||||||||||| || |||||| ||| ||||||| ||||||||||||||| |||
+Query  142  gctaaggaagt-gact-ccttctccgca-ca-gtggattcct-gtgttga-ttcgagttggagcac-gga  204
+
+Sbjct  139  ttngtgtaccgtgagcacggaaccactcccggatactatgatggacggtactggacaatgtggaagcttc  208
+            || |||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||| |||||
+Query  205  tttgtgtaccgtgagcacggaac-actcccggatactatgatggacggtactggacaatgtgga-gcttc  272
+
+Sbjct  209  cattggttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtaccctg  278
+            ||||| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ||
+Query  273  cattg-ttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaaggagtacc-tg  340
+
+Sbjct  279  gcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaa  348
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  341  gcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttcattgcctacaa  410
+
+Sbjct  349  gcccccaagcttcaccgaagcttaatcccctttctggaatattcagcgttgattattctggaacccattt  418
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  411  gcccccaagcttcaccgaagcttaatcccctttctggaatattcagcgttgattattctggaacccattt  480
+
+Sbjct  419  ctatgtggtcaatgcaaatttaagaaattatttgccgacttaaaagttgaggaactattgtttgaaagtg  488
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  481  ctatgtggtcaatgcaaatttaagaaattatttgccgacttaaaagttgaggaactattgtttgaaagtg  550
+
+Sbjct  489  aaaatgttattcctatcagtttctctataattatagttatcatttcatttc  539
+            |||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  551  aaaatgttattcctatcagtttctctataattatagttatcatttcatttc  601
+
+510 736 0 F 525 846 91 915 40 92.27
+Sbjct  0    ca-cac-ggg-a-attncct-catg-a-g-gt-gcc-ccaatgg-a-agaagatttg-g-ct-tttcttn  54
+            || ||| ||| | | |  || |||| | | || ||| ||| ||| | ||||| | || | || | |||| 
+Query  91   cagcacggggaagagtngctncatgaaggtgtngccaccattggaagagaag-tntgagactctatctta  159
+
+Sbjct  55   cc-ncctgccttagtg-cgtcgaatggctaaggaagttgactnc-ttctccgcaacaagtggat-ccntt  120
+            ||  |||| ||||||| |||||| ||||  |||||||||||| | ||| ||||| || |||||| || | 
+Query  160  cctccctgacttagtgacgtcgattggc-naggaagttgactaccttcaccgcanca-gtggattccct-  227
+
+Sbjct  121  gtgttgaattcgagttagagcacggatttgtgtaccgtgagcacggaaacactcccggatactacgatgg  190
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  228  gtgttgaattcgagttagagcacggatttgtgtaccgtgagcacggaaacactcccggatactacgatgg  296
+
+Sbjct  191  acggtactggacaatgtggaagcttccattgttcggatgcaccgactccgctcaagtgttgaaggaagtt  260
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  297  acggtactggacaatgtggaagcttccattgttcggatgcaccgactccgctcaagtgttgaaggaagtt  366
+
+Sbjct  261  gaagaatgcaagaaggagtacccgggcgccttcattaggatcatcggattcgacaacacccgtcaagtcc  330
+            ||||||||||||||||| ||||||||||| ||||||||||||||||||||||||||||||||||||||||
+Query  367  gaagaatgcaagaaggantacccgggcgcnttcattaggatcatcggattcgacaacacccgtcaagtcc  436
+
+Sbjct  331  aatgcatcagtttcattgcctacaagcccccaagcttcaccgaagcttaatttcttttctaaaacattct  400
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  437  aatgcatcagtttcattgcctacaagcccccaagcttcaccgaagcttaatttcttttctaaaacattct  506
+
+Sbjct  401  tatgaattatctctgctcatttcatttcctattgtctgtgttctttttctctttatgagacaatttctat  470
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  507  tatgaattatctctgctcatttcatttcctattgtctgtgttctttttctctttatgagacaatttctat  576
+
+Sbjct  471  cggattgtcaaatgtctgatttatgaatatgtaatttat  509
+            |||||||||||||||||||||||||||||||||||||||
+Query  577  cggattgtcaaatgtctgatttatgaatatgtaatttat  615
+
+503 846 115 F 511 1230 2 879 45 91.12
+Sbjct  115  gaaggtgtngccaccattgg-aag-agaagtntgagactctatcttacctccct-gac-ttagtgacgtc  180
+            |||| ||   || | ||||| ||| |||| | || | || | |||| || |||| | | |||||  | ||
+Query  2    gaagntgccccc-caattggaaagaagaantttgggcct-tttctt-ccnccctggcctttagtnccntc  68
+
+Sbjct  181  -g-attggc-naggaagttgactacc-ttcaccgcancag-tggattccct-gtgttgaattcgagttag  244
+             | ||||||  |||||||||||| || ||| | ||| ||  ||| | |||| ||||||||||||||||||
+Query  69   ggaattggctaaggaagttgact-ccnttctcngcaacaaatggnt-cccttgtgttgaattcgagttag  136
+
+Sbjct  245  agcacggatttgtgtaccgtgagcacggaaacactcccggatactacgatggac-ggtactggacaat-g  312
+             || ||||||||||| |||||||| ||||||||||||||||||||||||||||| ||||||||||||| |
+Query  137  ggcncggatttgtgtcccgtgagcccggaaacactcccggatactacgatggaccggtactggacaattg  206
+
+Sbjct  313  tggaagcttcc-attgttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaag  381
+            ||||||||||| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  207  tggaagcttcccattgttcggatgcaccgactccgctcaagtgttgaaggaagttgaagaatgcaagaag  276
+
+Sbjct  382  gantacccgggcgcnttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttca  451
+            || ||||||||||| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  277  gagtacccgggcgccttcattaggatcatcggattcgacaacacccgtcaagtccaatgcatcagtttca  346
+
+Sbjct  452  ttgcctacaagcccccaagcttcaccgaagcttaatttcttttctaaaacattcttatgaattatctctg  521
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  347  ttgcctacaagcccccaagcttcaccgaagcttaatttcttttctaaaacattcttatgaattatctctg  416
+
+Sbjct  522  ctcatttcatttcctattgtctgtgttctttttctctttatgagacaatttctatcggattgtcaaatgt  591
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  417  ctcatttcatttcctattgtctgtgttctttttctctttatgagacaatttctatcggattgtcaaatgt  486
+
+Sbjct  592  ctgatttatgaatatgtaatttatat  617
+            ||||||||||||||||||||||||||
+Query  487  ctgatttatgaatatgtaatttatat  512
+
+557 866 17 F 561 1212 0 884 78 86.05
+Sbjct  17   cgtttcttgtgacaactcccatcc-gacgtcaagaatgctaggatctgngatccgttccccatcaaccac  85
+            || |||||||| | ||  ||| || | | || || || ||||| | || |  ||| ||||  || |||||
+Query  0    cg-ttcttgtg-c-acntccaaccggccttc-ag-atcctagg-tntg-ggnccg-tcccnttc-accac  60
+
+Sbjct  86   c-atgagc--tactcagcctt-ggaacnc-gatgattggccc-cgagaggc-gtttagagagncc-atgg  147
+            | ||| ||  | |||| |||| || || | | || ||||||| || | ||| |||||| ||| || ||||
+Query  61   cnatgngctttnctcacccttngg-acncggttg-ttggcccncg-ggggcggtttagggagcccaatgg  127
+
+Sbjct  148  ncc-atgcncctttcgttgcatc-tacaa-ngatnccacatagatgntnccca-gc-tctgtggaagccc  212
+             || |||| ||||||| |||||| | |||  | | || |||||||| |  ||| || ||||||||| || 
+Query  128  nccaatgc-cctttcggtgcatcttncaagggntcccncatagatggttnccangcttctgtggaancca  196
+
+Sbjct  213  agtactgt-cccacacaagcccgcatgtggtggaatcagaa-gantnccgtgacccttgacgctgacca-  280
+            |||||||| |||||||||| ||||||||||||| ||||||| || | ||||| ||||||||||||| || 
+Query  197  agtactgtgcccacacaagnccgcatgtggtggnatcagaaagagttccgtg-cccttgacgctgaacaa  265
+
+Sbjct  281  tggcgtcgtctcaa-tgggtccgtatgaagtggnccatntacaactactntaccgaccggactaggttcc  348
+            |||||||||||||| ||||| |||||||||||| |||| |||||||||| ||||||||||||||||||||
+Query  266  tggcgtcgtctcaaatgggttcgtatgaagtggnccatctacaactactgtaccgaccggactaggttcc  335
+
+Sbjct  349  cgnttatgccagctgaatntaaaagggacagagacgcntaagttactac-cnttgagggttttaatgaat  417
+            || ||||||||||||||| |||||||||||||||||| ||||||||||| | ||| ||||||||||||||
+Query  336  cggttatgccagctgaatgtaaaagggacagagacgcataagttactactc-ttgngggttttaatgaat  404
+
+Sbjct  418  ttatgctatcattattatttgaattatgcttgttcaagagattgatatatgtattgtttgttggcccatg  487
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  405  ttatgctatcattattatttgaattatgcttgttcaagagattgatatatgtattgtttgttggcccatg  474
+
+Sbjct  488  atgtttatgctatatttgggcctaaaattacatgttataattcatatatgtattgattagctatgtattt  557
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  475  atgtttatgctatatttgggcctaaaattacatgttataattcatatatgtattgattagctatgtattt  544
+
+Sbjct  558  tcatatgttatgatct  573
+            ||||||||||||||||
+Query  545  tcatatgttatgatct  560
+
+# Fields: s. len, s. seqnum, s. start, strand, q. len, q. seqnum, q. start, score, editdist, % identity
diff --git a/testdata/see-ext-at1MB-500-alignment-seed_in_algn.matches b/testdata/see-ext-at1MB-500-alignment-seed_in_algn.matches
new file mode 100644
index 0000000..b69f9eb
--- /dev/null
+++ b/testdata/see-ext-at1MB-500-alignment-seed_in_algn.matches
@@ -0,0 +1,321 @@
+# Options: -ii at1MB -l 700 -outfmt alignment=60 seed_in_algn -minidentity 80 -history 60
+# Fields: s. len, s. seqnum, s. start, strand, q. len, q. seqnum, q. start, score, editdist, % identity
+706 2 0 F 749 16 84 1269 62 91.48
+Sbjct  0    gtgantgttgatctcaaactctttgtccataatgggaagctacacaaatatttgactgtt  59
+            |||| ++++++++++|||||||||||||||||||||||||||||||||||||||||||||
+Query  84   gtgaatgttgatctcaaactctttgtccataatgggaagctacacaaatatttgactgtt  143
+
+Sbjct  60   acagatggcttagtgaagcgatataacaatgcgaaaaaagaatggggtttcggacaattg  119
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  144  acagatggcttagtgaagcgatataacaatgcgaaaaaagaatggggtttcggacaattg  203
+
+Sbjct  120  attcctcgatcaacattctacaacgcgaacgaaggttaccttgaccaggacactggttct  179
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  204  attcctcgatcaacattctacaacgcgaacgaaggttaccttgaccaggacactggttct  263
+
+Sbjct  180  tttggtgctgagatctttattgttaaaccggctcaacaacaagagaaagttacattcata  239
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  264  tttggtgctgagatctttattgttaaaccggctcaacaacaagagaaagttacattcata  323
+
+Sbjct  240  tcaaaccctccaaacaatgttttcacttggaagatacttcgtttctctaccttggaagat  299
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  324  tcaaaccctccaaacaatgttttcacttggaagatacttcgtttctctaccttggaagat  383
+
+Sbjct  300  aaattctattactccgatgattttctcgttgaagaccgatactggagactaggatttaac  359
+            ||||||||||||||||||||| ||||||||||||||||||||||||||||||||||||||
+Query  384  aaattctattactccgatgatnttctcgttgaagaccgatactggagactaggatttaac  443
+
+Sbjct  360  ccgaaaggggatggaggaggaagaccacatgcacttccaatcttcctatttgctcaaggc  419
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  444  ccgaaaggggatggaggaggaagaccacatgcacttccaatcttcctatttgctcaaggc  503
+
+Sbjct  420  cataaggcaaatgcagttgctacaaacacttggggagcggttaatctgcggttaaagaat  479
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  504  cataaggcaaatgcagttgctacaaacacttggggagcggttaatctgcggttaaagaat  563
+
+Sbjct  480  caacgaanttctaaccatagacaa-tatnt-ctgca-cttggtaccc-attggaaacg-t  534
+            ||||||| | |||||||||||||| ||| | ||||| |||||||||| |||||||||| |
+Query  564  caacgaagtactaaccatagacaaatatattctgcagcttggtacccgattggaaacggt  623
+
+Sbjct  535  tatggtntgggant-aaca-tatc-tactgtt-gctgatt-aa-cga-gcatccaaagga  587
+            |||||| ||||| | |||| |||| ||||||| ||||||| || ||| ||||||||||||
+Query  624  tatggtgtgggagtgaacaatatcatactgttagctgatttaaacgatgcatccaaagga  683
+
+Sbjct  588  t-tttggtga-tga-gccnt-atctt-gaa-ctgaa-tggttaagn-c-ctata-cca-c  636
+            | |||||||| ||| ||| | ||||| ||| ||||| ||||||||  | ||||| ||| |
+Query  684  tatttggtgaatgatgccattatctttgaagctgaaatggttaaggtctctataaccaac  743
+
+Sbjct  637  -tc-tctcc-ctnaa-t-tct-c-cttcttn-tcn-cna-ca-tcn-cnttnat-aa-aa  682
+             || ||||| || || | ||| | ||||||  ||  | | || ||  | || || || ||
+Query  744  atcgtctccgcttaaatatctgcncttctttgtctacnancaatccacctt-atgaataa  802
+
+Sbjct  683  aa---ttt-a-tt-gat-aattttttanaa  705
+            ||   ||| | || ||| ||||| ||| ||
+Query  803  aaaaattttaatttgatgaatttgttataa  832
+
+704 5 52 F 700 6 14 1056 116 83.48
+Sbjct  52   cgatgcaaaaaaagagtggggattcacacaattgatttctcttccaacattctacaacgc  111
+            |||||   ||||  | || |||||  ||  || ||| |||||||    |||||    |||
+Query  14   cgatgnnnaaaannantgnggattnncannatngatntctcttcnnnnattctnnnncgc  73
+
+Sbjct  112  gaacgaagggtaccttgtgcaggacacagcttcttttggtgctgagatcttcat-cgtta  170
+            ||| ++++++++++||||| | |||    ||||||| |||||||| |||||||| || ||
+Query  74   gaangaagggtaccttgtgnangacnnnncttctttnggtgctganatcttcatgcgnta  133
+
+Sbjct  171  acccgacagaaaaacaagagaaagtcacattcatatcaaaccctcc-agacaatgttttc  229
+             ||||||||||| ||   | | |||| ||||||||||  ||||||| | |||||||||||
+Query  134  ncccgacagaaanacnnnananagtcncattcatatcnnaccctccna-acaatgttttc  192
+
+Sbjct  230  acttggaagatacttcgtttctctaccttggaagataaattctattactccgatgatttt  289
+            |||||||||||||||||||||||||||||||||||||||||||||||||| |||||||||
+Query  193  acttggaagatacttcgtttctctaccttggaagataaattctattactctgatgatttt  252
+
+Sbjct  290  ctcgttgaagaccgatactggagactaggatttaacccgaaaggggatggaggaggaaga  349
+            |||||||||||||||||||||||| |||||||||||||||||||   ||| ||||| |||
+Query  253  ctcgttgaagaccgatactggagattaggatttaacccgaaaggatctggtggagggaga  312
+
+Sbjct  350  ccacatgcacttccaatcttcctatttgctcaaggccataaggcaaacgcagttgctaca  409
+            ||||||||||||||||||||||||| ||||||||||||||||||||||||||||| ||||
+Query  313  ccacatgcacttccaatcttcctatatgctcaaggccataaggcaaacgcagttgttaca  372
+
+Sbjct  410  aacacttggggagcggttaatctgcggttaaagaatcaacgaag-tactaaccatagaca  468
+            |||||||||||||||||||||||||||||||||||||||||||| | | ||||| | |||
+Query  373  aacacttggggagcggttaatctgcggttaaagaatcaacgaagctcc-aaccacaaaca  431
+
+Sbjct  469  aatatattctgcagcttggtacccgattggaagcggttatggtgtgggagtgaacaatat  528
+            | |||||||||||||||||||||||||| |||||| ||||||||||||||||||||||||
+Query  432  attatattctgcagcttggtacccgattcgaagcgattatggtgtgggagtgaacaatat  491
+
+Sbjct  529  catactgttag-ctgatttaaacgatgcatc-aaaaggatatttggtgaatgatgccatt  586
+             ||| || | | | ||  |||| |||||||| |||||| ||| |||||||||||||||||
+Query  492  aatattgat-gtcagagctaaaagatgcatccaaaagggtatatggtgaatgatgccatt  550
+
+Sbjct  587  atctttgaagctgaaatggttaaggtctctataaccaacatcgtctccgcttaaatatct  646
+            |||||||||||||||||||||||||||||| | || ||||| ||||||| ||||||||| 
+Query  551  atctttgaagctgaaatggttaaggtctctgtgacaaacatagtctccgtttaaatatca  610
+
+Sbjct  647  gc-acttctttgtctacgatcaatcaaccttatgaataaagagata-tttgatgagtttg  704
+             | |||||||| || || | ||| |  | ||| |||||||| |  | |||||||||||| 
+Query  611  -ctacttctttttcaacaa-caa-c--c-ttacgaataaagtgg-actttgatgagttt-  663
+
+Sbjct  705  taataagaaa-acgttaatgtt-t-g-tgaattgtgaagttattacttctgtt-ct  755
+             |||  |  | |||  || ||| | | ||  |||||| || ||  | | |||| ||
+Query  664  -aatttgttatacgacaacgttgttgatg-cttgtgatgtaat--cgt-tgtttct  713
+
+742 5 0 F 746 16 118 1323 55 92.61
+Sbjct  0    ggaagttaaagaaatatttgtctgttacagatggaacagtgaagcgatacaacgatgcaa  59
+            ||||| || | ||||||||| ++++++++++|||   |||||||||||| ||| |||| |
+Query  118  ggaagctacacaaatatttgactgttacagatggcttagtgaagcgatataacaatgcga  177
+
+Sbjct  60   aaaaagagtggggattcacacaattgatttctct-tccaacattctacaacgcgaacgaa  118
+            ||||||| ||||| |||  |||||||||| |||  || ||||||||||||||||||||||
+Query  178  aaaaagaatggggtttcggacaattgattcctcgatc-aacattctacaacgcgaacgaa  236
+
+Sbjct  119  gggtaccttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgaca  178
+            || |||||||  |||||||| | ||||||||||||||||||||| || ||||| ||| | 
+Query  237  ggttaccttgaccaggacactggttcttttggtgctgagatctttattgttaaaccggct  296
+
+Sbjct  179  gaaaaacaagagaaagtcacattcatatcaaaccctccagacaatgttttcacttggaag  238
+             || ||||||||||||| ||||||||||||||||||||| ||||||||||||||||||||
+Query  297  caacaacaagagaaagttacattcatatcaaaccctccaaacaatgttttcacttggaag  356
+
+Sbjct  239  atacttcgtttctctaccttggaagataaattctattactccgatgattttctcgttgaa  298
+            |||||||||||||||||||||||||||||||||||||||||||||||| |||||||||||
+Query  357  atacttcgtttctctaccttggaagataaattctattactccgatgatnttctcgttgaa  416
+
+Sbjct  299  gaccgatactggagactaggatttaacccgaaaggggatggaggaggaagaccacatgca  358
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  417  gaccgatactggagactaggatttaacccgaaaggggatggaggaggaagaccacatgca  476
+
+Sbjct  359  cttccaatcttcctatttgctcaaggccataaggcaaacgcagttgctacaaacacttgg  418
+            |||||||||||||||||||||||||||||||||||||| |||||||||||||||||||||
+Query  477  cttccaatcttcctatttgctcaaggccataaggcaaatgcagttgctacaaacacttgg  536
+
+Sbjct  419  ggagcggttaatctgcggttaaagaatcaacgaagtactaaccatagacaaatatattct  478
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  537  ggagcggttaatctgcggttaaagaatcaacgaagtactaaccatagacaaatatattct  596
+
+Sbjct  479  gcagcttggtacccgattggaagcggttatggtgtgggagtgaacaatatcatactgtta  538
+            |||||||||||||||||||||| |||||||||||||||||||||||||||||||||||||
+Query  597  gcagcttggtacccgattggaaacggttatggtgtgggagtgaacaatatcatactgtta  656
+
+Sbjct  539  gctgatttaaacgatgcatcaaaaggatatttggtgaatgatgccattatctttgaagct  598
+            |||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||
+Query  657  gctgatttaaacgatgcatccaaaggatatttggtgaatgatgccattatctttgaagct  716
+
+Sbjct  599  gaaatggttaaggtctctataaccaacatcgtctccgcttaaatatctgcacttctttgt  658
+            |||||||||||||||||||||||||||||||||||||||||||||||||| |||||||||
+Query  717  gaaatggttaaggtctctataaccaacatcgtctccgcttaaatatctgcncttctttgt  776
+
+Sbjct  659  ctacgatcaatcaaccttatgaataaagagatatttgat--ga-g--tttgtaataagaa  713
+            |||| | ||||| |||||||||||||| | || ||| ||  || |  ||||| |||| ||
+Query  777  ctacnancaatccaccttatgaataaaaaaat-tttaatttgatgaatttgttataanaa  835
+
+Sbjct  714  aacgttaatgtttgtgaattgtgaagtt  741
+            ||| ||||||||||| || |||||| ||
+Query  836  aactttaatgtttgttaaatgtgaaatt  863
+
+756 5 0 F 750 39 34 1275 77 89.77
+Sbjct  0    ggaagttaaagaaatatttgtctgttacagatggaacagtgaagcgatacaacgatgcaa  59
+            ||||| || | ||||||||| ++++++++++||||||||||||||||||||||||||| |
+Query  34   ggaagctacacaaatatttgactgttacagatggaacagtgaagcgatacaacgatgcna  93
+
+Sbjct  60   aaaaagagtggggattcacacaattgatttctcttccaacattctacaacgcgaacgaag  119
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  94   aaaaagagtggggattcacacaattgatttctcttccaacattctacaacgcgaacgaag  153
+
+Sbjct  120  ggtaccttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgacag  179
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  154  ggtaccttgtgcaggacacagcttcttttggtgctgagatcttcatcgttaacccgacag  213
+
+Sbjct  180  aaaaacaagagaaagtcacattcatatcaaaccctccagacaatgttttcacttggaaga  239
+            |||||||||||||||||||||||||||||||||||||| |||||||||||||||||||||
+Query  214  aaaaacaagagaaagtcacattcatatcaaaccctccaaacaatgttttcacttggaaga  273
+
+Sbjct  240  tacttcgtttctctaccttggaagataaattctattactccgatgattttctcgttgaag  299
+            |||||||||||||||||||||||||||||||||||||||| ||||||||||| |||| ||
+Query  274  tacttcgtttctctaccttggaagataaattctattactctgatgattttctngttggag  333
+
+Sbjct  300  accgatactggagactaggatttaacccgaaaggggatggaggaggaagaccacatgcac  359
+            ||||||||||||||||||||||||||||||||||   ||| |||||||||||||||||||
+Query  334  accgatactggagactaggatttaacccgaaaggatctggtggaggaagaccacatgcac  393
+
+Sbjct  360  ttccaatcttcctatttgctcaaggccataaggcaaacgcagttgctacaaacacttggg  419
+            ||||||||||||||| ||||||||||||||||||||||||||||| ||||||||||||||
+Query  394  ttccaatcttcctatatgctcaaggccataaggcaaacgcagttgttacaaacacttggg  453
+
+Sbjct  420  gagcggttaatctgcggttaaagaatcaacgaag-tactaaccatagacaaatatattct  478
+            |||||||||||||||||||||||||||||||||| | | ||||| | |||| ||||||||
+Query  454  gagcggttaatctgcggttaaagaatcaacgaagctcc-aaccacaaacaattatattct  512
+
+Sbjct  479  gcagcttggtacccgattggaagcggttatggtgtgggagtgaacaatatcatactgtta  538
+            |||||||||||||||||| |||||| |||||||||||||||||||||||| ||| || | 
+Query  513  gcagcttggtacccgattcgaagcgattatggtgtgggagtgaacaatataatattgat-  572
+
+Sbjct  539  g-ctgatttaaacgatgcatcaaaaggatatttggtgaatgatgccattatctttgaagc  597
+            | | ||  |||| |||||||||||||| ||| ||||||||||||||||||||||||||||
+Query  573  gtcagagctaaaagatgcatcaaaagggtatatggtgaatgatgccattatctttgaagc  631
+
+Sbjct  598  tgaaatggttaaggtctctataaccaacatcgtctccgcttaaatatctgc-acttcttt  656
+            ||||||||||||||||||| | || ||||| ||||||| |||||||||  | ||||||||
+Query  632  tgaaatggttaaggtctctgtgacaaacatagtctccgtttaaatatca-ctacttcttt  690
+
+Sbjct  657  gtctacgatcaatcaaccttatgaataaagagata-tttgatgagtttgtaataagaaa-  715
+             || || | ||| |  | ||| |||||||| |  | ||||||||||||  |||  |  | 
+Query  691  ttcaacaa-caa-c--c-ttacgaataaagtgg-actttgatgagttt--aatttgttat  742
+
+Sbjct  716  acgttaatgtt-t-g-tgaattgtgaagttattacttctgtt-ct  755
+            |||  || ||| | | ||  |||||| || ||  | | |||| ||
+Query  743  acgacaacgttgttgatg-cttgtgatgtnat--cgt-tgtttct  783
+
+783 6 14 F 788 39 86 1400 57 92.74
+Sbjct  14   cgatgnnnaaaannantgnggattnncannatngatntctcttcnnnnattctnnnncgc  73
+            |||||   ||||  | || |||||  ||  || ||| |||||||    |||||    |||
+Query  86   cgatgcnaaaaaagagtggggattcacacaattgatttctcttccaacattctacaacgc  145
+
+Sbjct  74   gaangaagggtaccttgtgnangacnnnncttctttnggtgctganatcttcatgcgnta  133
+            ||| ++++++++++||||| | |||    ||||||| |||||||| |||||||| || ||
+Query  146  gaacgaagggtaccttgtgcaggacacagcttcttttggtgctgagatcttcat-cgtta  204
+
+Sbjct  134  ncccgacagaaanacnnnananagtcncattcatatcnnaccctccnaacaatgttttca  193
+             ||||||||||| ||   | | |||| ||||||||||  ||||||| |||||||||||||
+Query  205  acccgacagaaaaacaagagaaagtcacattcatatcaaaccctccaaacaatgttttca  264
+
+Sbjct  194  cttggaagatacttcgtttctctaccttggaagataaattctattactctgatgattttc  253
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  265  cttggaagatacttcgtttctctaccttggaagataaattctattactctgatgattttc  324
+
+Sbjct  254  tcgttgaagaccgatactggagattaggatttaacccgaaaggatctggtggagggagac  313
+            | |||| |||||||||||||||| ||||||||||||||||||||||||||||||| ||||
+Query  325  tngttggagaccgatactggagactaggatttaacccgaaaggatctggtggaggaagac  384
+
+Sbjct  314  cacatgcacttccaatcttcctatatgctcaaggccataaggcaaacgcagttgttacaa  373
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  385  cacatgcacttccaatcttcctatatgctcaaggccataaggcaaacgcagttgttacaa  444
+
+Sbjct  374  acacttggggagcggttaatctgcggttaaagaatcaacgaagctccaaccacaaacaat  433
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  445  acacttggggagcggttaatctgcggttaaagaatcaacgaagctccaaccacaaacaat  504
+
+Sbjct  434  tatattctgcagcttggtacccgattcgaagcgattatggtgtgggagtgaacaatataa  493
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  505  tatattctgcagcttggtacccgattcgaagcgattatggtgtgggagtgaacaatataa  564
+
+Sbjct  494  tattgatgtcagagctaaaagatgcatccaaaagggtatatggtgaatgatgccattatc  553
+            |||||||||||||||||||||||||||| |||||||||||||||||||||||||||||||
+Query  565  tattgatgtcagagctaaaagatgcatc-aaaagggtatatggtgaatgatgccattatc  623
+
+Sbjct  554  tttgaagctgaaatggttaaggtctctgtgacaaacatagtctccgtttaaatatcacta  613
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  624  tttgaagctgaaatggttaaggtctctgtgacaaacatagtctccgtttaaatatcacta  683
+
+Sbjct  614  cttctttttcaacaacaaccttacgaataaagtggactttgatgagtttaatttgttata  673
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  684  cttctttttcaacaacaaccttacgaataaagtggactttgatgagtttaatttgttata  743
+
+Sbjct  674  cgacaacgttgttgatgcttgtgatgtaatcgttgtttctgctctccgagttttcgtttt  733
+            ||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||
+Query  744  cgacaacgttgttgatgcttgtgatgtnatcgttgtttctgctctccgagttttcgtttt  803
+
+Sbjct  734  actttttttttcatgttttgctatc-aatgaaa-taaa-ggtataaaactctc-tt-ggt  788
+            ||||||||||||||||||||||||| ||||||| |||| ||| |||||||||| || |||
+Query  804  actttttttttcatgttttgctatccaatgaaaataaaaggtttaaaactctcctttggt  863
+
+Sbjct  789  ttt-aaa-gt  796
+            ||| ||| ||
+Query  864  ttttaaaagt  873
+
+767 16 84 F 766 39 0 1248 95 87.61
+Sbjct  84   gtgaatgttgatctcaaactctttgtccataatgggaagctacacaaatatttgactgtt  143
+            ++++++++++||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  0    gtgaatgttgatctcaaactctttgtccataatgggaagctacacaaatatttgactgtt  59
+
+Sbjct  144  acagatggcttagtgaagcgatataacaatgcgaaaaaagaatggggtttcggacaattg  203
+            ||||||||   |||||||||||| ||| |||| |||||||| ||||| |||  |||||||
+Query  60   acagatggaacagtgaagcgatacaacgatgcnaaaaaagagtggggattcacacaattg  119
+
+Sbjct  204  attcctcgatc-aacattctacaacgcgaacgaaggttaccttgaccaggacactggttc  262
+            ||| |||  || |||||||||||||||||||||||| |||||||  |||||||| | |||
+Query  120  atttctct-tccaacattctacaacgcgaacgaagggtaccttgtgcaggacacagcttc  178
+
+Sbjct  263  ttttggtgctgagatctttattgttaaaccggctcaacaacaagagaaagttacattcat  322
+            |||||||||||||||||| || ||||| ||| |  || ||||||||||||| ||||||||
+Query  179  ttttggtgctgagatcttcatcgttaacccgacagaaaaacaagagaaagtcacattcat  238
+
+Sbjct  323  atcaaaccctccaaacaatgttttcacttggaagatacttcgtttctctaccttggaaga  382
+            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  239  atcaaaccctccaaacaatgttttcacttggaagatacttcgtttctctaccttggaaga  298
+
+Sbjct  383  taaattctattactccgatgatnttctcgttgaagaccgatactggagactaggatttaa  442
+            ||||||||||||||| |||||| |||| |||| |||||||||||||||||||||||||||
+Query  299  taaattctattactctgatgattttctngttggagaccgatactggagactaggatttaa  358
+
+Sbjct  443  cccgaaaggggatggaggaggaagaccacatgcacttccaatcttcctatttgctcaagg  502
+            |||||||||   ||| |||||||||||||||||||||||||||||||||| |||||||||
+Query  359  cccgaaaggatctggtggaggaagaccacatgcacttccaatcttcctatatgctcaagg  418
+
+Sbjct  503  ccataaggcaaatgcagttgctacaaacacttggggagcggttaatctgcggttaaagaa  562
+            |||||||||||| ||||||| |||||||||||||||||||||||||||||||||||||||
+Query  419  ccataaggcaaacgcagttgttacaaacacttggggagcggttaatctgcggttaaagaa  478
+
+Sbjct  563  tcaacgaag-tactaaccatagacaaatatattctgcagcttggtacccgattggaaacg  621
+            ||||||||| | | ||||| | |||| |||||||||||||||||||||||||| ||| ||
+Query  479  tcaacgaagctcc-aaccacaaacaattatattctgcagcttggtacccgattcgaagcg  537
+
+Sbjct  622  gttatggtgtgggagtgaacaatatcatactgttag-ctgatttaaacgatgcatccaaa  680
+             |||||||||||||||||||||||| ||| || | | | ||  |||| |||||||| |||
+Query  538  attatggtgtgggagtgaacaatataatattgat-gtcagagctaaaagatgcatcaaaa  596
+
+Sbjct  681  ggatatttggtgaatgatgccattatctttgaagctgaaatggttaaggtctctataacc  740
+            || ||| ||||||||||||||||||||||||||||||||||||||||||||||| | || 
+Query  597  gggtatatggtgaatgatgccattatctttgaagctgaaatggttaaggtctctgtgaca  656
+
+Sbjct  741  aacatcgtctccgcttaaatatctgcn-cttctttgtctacnancaatccaccttatgaa  799
+            ||||| ||||||| |||||||||  |  ||||||| || || | ||| ||   ||| |||
+Query  657  aacatagtctccgtttaaatatca-ctacttctttttcaacaa-caa-cc---ttacgaa  710
+
+Sbjct  800  taaaaaa-attttaatttgatgaatttgttataanaaaac-tt-t-aatgtttgt  850
+            ||||    | ||| ||  | | |||||||||||  | ||| || |  ||| ||||
+Query  711  taaagtggactttgatgagtttaatttgttatacgacaacgttgttgatgcttgt  765
+
+# Fields: s. len, s. seqnum, s. start, strand, q. len, q. seqnum, q. start, score, editdist, % identity
diff --git a/testdata/see-ext-at1MB-500-failed_seed.matches b/testdata/see-ext-at1MB-500-failed_seed.matches
new file mode 100644
index 0000000..8330fef
--- /dev/null
+++ b/testdata/see-ext-at1MB-500-failed_seed.matches
@@ -0,0 +1,1477 @@
+# Options: -ii at1MB -outfmt seed failed_seed -l 600 -seedlength 20 -minidentity 80 -history 60
+# Fields: s. len, s. seqnum, s. start, strand, q. len, q. seqnum, q. start, score, editdist, % identity, seedlen, s. seedstart, q. seedstart
+# failed_seed: 20 1 383 F 2 5
+# failed_seed: 20 1 45 F 4 52
+# failed_seed: 20 1 294 F 16 0
+# failed_seed: 20 1 378 F 39 0
+# failed_seed: 20 1 45 F 47 36
+# failed_seed: 20 2 130 F 3 58
+626 2 34 F 656 5 0 1063 73 88.61 20 130 96
+# failed_seed: 20 2 252 F 6 181
+# failed_seed: 20 2 130 F 7 96
+706 2 0 F 749 16 84 1269 62 91.48 20 5 89
+660 2 0 F 687 39 0 1065 94 86.04 20 5 5
+# failed_seed: 20 3 0 F 4 460
+668 3 0 F 660 5 38 1139 63 90.51 20 0 38
+639 3 14 F 631 6 14 1063 69 89.13 20 180 181
+# failed_seed: 20 3 0 F 7 38
+655 3 0 F 650 16 156 1047 86 86.82 20 58 214
+653 3 0 F 643 39 72 1203 31 95.22 20 0 72
+# failed_seed: 20 4 427 F 5 5
+# failed_seed: 20 4 427 F 7 5
+# failed_seed: 20 4 382 F 16 78
+# failed_seed: 20 4 388 F 39 0
+# failed_seed: 20 4 16 F 47 0
+704 5 52 F 700 6 14 1056 116 83.48 20 219 182
+# failed_seed: 20 5 0 F 7 0
+742 5 0 F 746 16 118 1323 55 92.61 20 96 214
+756 5 0 F 750 39 34 1275 77 89.77 20 21 55
+599 6 104 F 601 16 260 915 95 84.17 20 181 336
+783 6 14 F 788 39 86 1400 57 92.74 20 181 252
+# failed_seed: 20 7 96 F 16 214
+# failed_seed: 20 7 295 F 33 21
+# failed_seed: 20 7 21 F 39 55
+# failed_seed: 20 7 309 F 73 36
+# failed_seed: 20 7 295 F 264 555
+# failed_seed: 20 11 162 F 29 163
+767 16 84 F 766 39 0 1248 95 87.61 20 84 0
+# failed_seed: 20 17 1 F 55 0
+# failed_seed: 20 18 243 F 40 207
+# failed_seed: 20 18 20 F 46 214
+# failed_seed: 20 18 243 F 747 120
+# failed_seed: 20 22 368 F 29 0
+# failed_seed: 20 24 164 F 43 1
+# failed_seed: 20 33 137 F 38 704
+# failed_seed: 20 33 35 F 73 36
+# failed_seed: 20 33 0 F 264 534
+# failed_seed: 20 34 264 F 1317 93
+# failed_seed: 20 35 0 F 42 0
+# failed_seed: 20 35 147 F 49 398
+# failed_seed: 20 35 0 F 54 46
+# failed_seed: 20 35 187 F 72 198
+# failed_seed: 20 35 184 F 73 109
+# failed_seed: 20 35 204 F 73 144
+# failed_seed: 20 35 0 F 146 261
+# failed_seed: 20 37 0 F 1823 0
+# failed_seed: 20 40 358 F 66 172
+# failed_seed: 20 40 188 F 747 101
+# failed_seed: 20 42 147 F 49 398
+# failed_seed: 20 42 0 F 54 46
+# failed_seed: 20 42 0 F 146 261
+# failed_seed: 20 54 44 F 146 259
+# failed_seed: 20 59 272 F 651 92
+# failed_seed: 20 61 154 F 61 196
+# failed_seed: 20 61 172 F 61 214
+# failed_seed: 20 61 177 F 61 219
+# failed_seed: 20 61 178 F 61 220
+# failed_seed: 20 61 157 F 61 241
+# failed_seed: 20 61 172 F 61 298
+# failed_seed: 20 61 188 F 64 149
+# failed_seed: 20 61 169 F 64 298
+# failed_seed: 20 61 359 F 64 361
+# failed_seed: 20 61 188 F 65 149
+# failed_seed: 20 61 169 F 65 298
+# failed_seed: 20 61 359 F 65 361
+# failed_seed: 20 62 324 F 555 21
+# failed_seed: 20 64 149 F 64 191
+# failed_seed: 20 64 172 F 64 214
+# failed_seed: 20 64 173 F 64 215
+# failed_seed: 20 64 174 F 64 216
+# failed_seed: 20 64 175 F 64 217
+# failed_seed: 20 64 176 F 64 218
+# failed_seed: 20 64 177 F 64 219
+# failed_seed: 20 64 178 F 64 220
+# failed_seed: 20 64 179 F 64 221
+# failed_seed: 20 64 180 F 64 222
+# failed_seed: 20 64 181 F 64 223
+# failed_seed: 20 64 160 F 64 244
+# failed_seed: 20 64 172 F 64 298
+# failed_seed: 20 64 0 F 65 0
+# failed_seed: 20 65 149 F 65 191
+# failed_seed: 20 65 172 F 65 214
+# failed_seed: 20 65 173 F 65 215
+# failed_seed: 20 65 174 F 65 216
+# failed_seed: 20 65 175 F 65 217
+# failed_seed: 20 65 176 F 65 218
+# failed_seed: 20 65 177 F 65 219
+# failed_seed: 20 65 178 F 65 220
+# failed_seed: 20 65 179 F 65 221
+# failed_seed: 20 65 180 F 65 222
+# failed_seed: 20 65 181 F 65 223
+# failed_seed: 20 65 160 F 65 244
+# failed_seed: 20 65 172 F 65 298
+# failed_seed: 20 66 172 F 747 271
+# failed_seed: 20 72 198 F 73 112
+# failed_seed: 20 72 215 F 73 144
+# failed_seed: 20 78 48 F 80 97
+# failed_seed: 20 78 96 F 80 157
+# failed_seed: 20 78 710 F 80 740
+# failed_seed: 20 78 363 F 1488 146
+# failed_seed: 20 79 236 F 1495 180
+# failed_seed: 20 103 0 F 107 0
+# failed_seed: 20 112 39 F 120 64
+# failed_seed: 20 120 196 F 120 226
+# failed_seed: 20 120 207 F 120 237
+# failed_seed: 20 120 208 F 120 238
+# failed_seed: 20 120 209 F 120 239
+# failed_seed: 20 120 210 F 120 240
+# failed_seed: 20 120 211 F 120 241
+# failed_seed: 20 120 212 F 120 242
+# failed_seed: 20 120 213 F 120 243
+# failed_seed: 20 120 214 F 120 244
+# failed_seed: 20 120 215 F 120 245
+# failed_seed: 20 120 216 F 120 246
+# failed_seed: 20 120 217 F 120 247
+# failed_seed: 20 120 218 F 120 248
+# failed_seed: 20 120 219 F 120 249
+# failed_seed: 20 120 220 F 120 250
+# failed_seed: 20 120 221 F 120 251
+# failed_seed: 20 120 212 F 120 272
+# failed_seed: 20 120 109 F 1624 21
+# failed_seed: 20 120 287 F 1624 259
+# failed_seed: 20 126 102 F 530 148
+# failed_seed: 20 126 117 F 544 104
+# failed_seed: 20 126 102 F 1343 156
+# failed_seed: 20 131 0 F 158 0
+# failed_seed: 20 160 124 F 160 305
+# failed_seed: 20 160 278 F 160 459
+# failed_seed: 20 160 283 F 160 464
+# failed_seed: 20 175 77 F 1821 2
+# failed_seed: 20 197 189 F 385 72
+# failed_seed: 20 197 210 F 665 86
+# failed_seed: 20 204 13 F 273 0
+# failed_seed: 20 216 0 F 277 0
+# failed_seed: 20 221 0 F 266 0
+# failed_seed: 20 223 5 F 271 5
+# failed_seed: 20 229 0 F 270 0
+# failed_seed: 20 237 226 F 468 9
+# failed_seed: 20 238 0 F 274 0
+# failed_seed: 20 242 0 F 294 0
+# failed_seed: 20 244 0 F 272 0
+# failed_seed: 20 247 184 F 880 55
+# failed_seed: 20 248 0 F 292 0
+# failed_seed: 20 253 2 F 276 2
+# failed_seed: 20 264 526 F 300 278
+# failed_seed: 20 306 71 F 1349 195
+# failed_seed: 20 309 22 F 804 102
+# failed_seed: 20 310 109 F 310 149
+# failed_seed: 20 310 130 F 310 170
+# failed_seed: 20 310 131 F 310 171
+# failed_seed: 20 310 132 F 310 172
+# failed_seed: 20 310 133 F 310 173
+# failed_seed: 20 310 134 F 310 174
+# failed_seed: 20 310 135 F 310 175
+# failed_seed: 20 310 136 F 310 176
+# failed_seed: 20 310 137 F 310 177
+# failed_seed: 20 310 138 F 310 178
+# failed_seed: 20 310 139 F 310 179
+# failed_seed: 20 310 140 F 310 180
+# failed_seed: 20 310 141 F 310 181
+# failed_seed: 20 310 142 F 310 182
+# failed_seed: 20 310 143 F 310 183
+# failed_seed: 20 310 144 F 310 184
+# failed_seed: 20 310 145 F 310 185
+# failed_seed: 20 310 146 F 310 186
+# failed_seed: 20 310 147 F 310 187
+# failed_seed: 20 310 148 F 310 188
+# failed_seed: 20 310 84 F 1363 89
+# failed_seed: 20 313 100 F 1782 65
+# failed_seed: 20 313 100 F 1827 26
+# failed_seed: 20 317 172 F 1128 101
+# failed_seed: 20 318 146 F 905 196
+# failed_seed: 20 318 150 F 1693 282
+# failed_seed: 20 319 60 F 626 255
+# failed_seed: 20 322 131 F 793 130
+# failed_seed: 20 335 0 F 1059 206
+# failed_seed: 20 336 47 F 1703 12
+# failed_seed: 20 354 142 F 1077 156
+# failed_seed: 20 355 169 F 499 60
+# failed_seed: 20 355 187 F 589 86
+# failed_seed: 20 356 132 F 496 93
+# failed_seed: 20 358 80 F 1678 3
+# failed_seed: 20 369 53 F 1409 31
+# failed_seed: 20 372 51 F 1348 110
+# failed_seed: 20 376 65 F 1277 80
+# failed_seed: 20 376 191 F 1402 62
+# failed_seed: 20 376 59 F 1694 148
+# failed_seed: 20 379 97 F 1785 182
+# failed_seed: 20 380 53 F 451 86
+# failed_seed: 20 380 77 F 454 118
+# failed_seed: 20 380 77 F 474 178
+# failed_seed: 20 380 169 F 481 70
+# failed_seed: 20 380 61 F 483 56
+# failed_seed: 20 380 143 F 506 69
+# failed_seed: 20 380 83 F 543 125
+# failed_seed: 20 380 172 F 579 100
+# failed_seed: 20 380 140 F 605 120
+# failed_seed: 20 380 189 F 610 69
+# failed_seed: 20 380 140 F 630 153
+# failed_seed: 20 380 140 F 641 61
+# failed_seed: 20 380 169 F 642 58
+# failed_seed: 20 380 77 F 658 243
+# failed_seed: 20 380 111 F 713 113
+# failed_seed: 20 380 49 F 736 158
+# failed_seed: 20 380 93 F 761 19
+# failed_seed: 20 380 89 F 798 83
+# failed_seed: 20 380 49 F 826 117
+# failed_seed: 20 380 49 F 846 264
+# failed_seed: 20 380 115 F 849 95
+# failed_seed: 20 380 49 F 902 69
+# failed_seed: 20 380 77 F 912 126
+# failed_seed: 20 380 176 F 935 134
+# failed_seed: 20 380 59 F 988 103
+# failed_seed: 20 380 68 F 1049 122
+# failed_seed: 20 380 189 F 1076 136
+# failed_seed: 20 380 115 F 1100 155
+# failed_seed: 20 380 106 F 1120 113
+# failed_seed: 20 380 107 F 1143 113
+# failed_seed: 20 380 49 F 1151 102
+# failed_seed: 20 380 107 F 1189 43
+# failed_seed: 20 380 152 F 1196 113
+# failed_seed: 20 380 169 F 1198 91
+# failed_seed: 20 380 55 F 1230 162
+# failed_seed: 20 380 184 F 1289 26
+# failed_seed: 20 380 94 F 1297 132
+# failed_seed: 20 380 98 F 1327 121
+# failed_seed: 20 380 49 F 1328 44
+# failed_seed: 20 380 86 F 1360 102
+# failed_seed: 20 380 83 F 1365 54
+# failed_seed: 20 380 176 F 1456 178
+# failed_seed: 20 380 78 F 1722 56
+# failed_seed: 20 380 77 F 1837 47
+# failed_seed: 20 382 92 F 918 94
+# failed_seed: 20 385 137 F 665 131
+# failed_seed: 20 386 267 F 1201 116
+# failed_seed: 20 404 265 F 819 124
+# failed_seed: 20 404 254 F 975 120
+# failed_seed: 20 404 378 F 1301 96
+# failed_seed: 20 404 396 F 1362 209
+# failed_seed: 20 404 355 F 1500 199
+# failed_seed: 20 406 98 F 542 86
+# failed_seed: 20 406 170 F 1056 141
+# failed_seed: 20 406 52 F 1653 120
+# failed_seed: 20 406 52 F 1828 195
+# failed_seed: 20 406 65 F 1947 202
+# failed_seed: 20 409 143 F 456 0
+# failed_seed: 20 412 196 F 1525 121
+# failed_seed: 20 413 76 F 1250 110
+# failed_seed: 20 413 234 F 1250 279
+# failed_seed: 20 422 236 F 1126 82
+# failed_seed: 20 422 109 F 1794 175
+# failed_seed: 20 426 208 F 795 175
+# failed_seed: 20 428 53 F 1441 80
+# failed_seed: 20 428 64 F 1513 118
+# failed_seed: 20 432 66 F 492 29
+# failed_seed: 20 432 143 F 652 135
+# failed_seed: 20 432 201 F 742 141
+# failed_seed: 20 432 84 F 825 146
+# failed_seed: 20 432 157 F 862 120
+# failed_seed: 20 432 121 F 1469 178
+# failed_seed: 20 432 53 F 1874 29
+# failed_seed: 20 440 67 F 765 156
+# failed_seed: 20 442 181 F 1510 133
+# failed_seed: 20 447 115 F 746 117
+# failed_seed: 20 449 36 F 868 177
+# failed_seed: 20 451 110 F 454 118
+# failed_seed: 20 451 110 F 474 178
+# failed_seed: 20 451 202 F 481 70
+# failed_seed: 20 451 94 F 483 56
+# failed_seed: 20 451 176 F 506 69
+# failed_seed: 20 451 116 F 543 125
+# failed_seed: 20 451 160 F 579 54
+# failed_seed: 20 451 168 F 605 115
+# failed_seed: 20 451 222 F 610 69
+# failed_seed: 20 451 171 F 630 151
+# failed_seed: 20 451 168 F 641 56
+# failed_seed: 20 451 202 F 642 58
+# failed_seed: 20 451 110 F 658 243
+# failed_seed: 20 451 144 F 713 113
+# failed_seed: 20 451 47 F 736 126
+# failed_seed: 20 451 126 F 761 19
+# failed_seed: 20 451 122 F 798 83
+# failed_seed: 20 451 86 F 826 121
+# failed_seed: 20 451 47 F 846 232
+# failed_seed: 20 451 148 F 849 95
+# failed_seed: 20 451 86 F 902 73
+# failed_seed: 20 451 110 F 912 126
+# failed_seed: 20 451 209 F 935 134
+# failed_seed: 20 451 92 F 988 103
+# failed_seed: 20 451 101 F 1049 122
+# failed_seed: 20 451 222 F 1076 136
+# failed_seed: 20 451 148 F 1100 155
+# failed_seed: 20 451 139 F 1120 113
+# failed_seed: 20 451 140 F 1143 113
+# failed_seed: 20 451 86 F 1151 106
+# failed_seed: 20 451 140 F 1189 43
+# failed_seed: 20 451 154 F 1196 80
+# failed_seed: 20 451 202 F 1198 91
+# failed_seed: 20 451 88 F 1230 162
+# failed_seed: 20 451 217 F 1289 26
+# failed_seed: 20 451 127 F 1297 132
+# failed_seed: 20 451 131 F 1327 121
+# failed_seed: 20 451 143 F 1328 106
+# failed_seed: 20 451 119 F 1360 102
+# failed_seed: 20 451 116 F 1365 54
+# failed_seed: 20 451 154 F 1456 122
+# failed_seed: 20 451 111 F 1722 56
+# failed_seed: 20 451 110 F 1837 47
+# failed_seed: 20 452 93 F 882 95
+# failed_seed: 20 454 32 F 474 92
+# failed_seed: 20 454 118 F 483 72
+# failed_seed: 20 454 220 F 506 105
+# failed_seed: 20 454 124 F 543 125
+# failed_seed: 20 454 168 F 579 54
+# failed_seed: 20 454 220 F 605 159
+# failed_seed: 20 454 220 F 630 192
+# failed_seed: 20 454 220 F 642 68
+# failed_seed: 20 454 75 F 658 201
+# failed_seed: 20 454 160 F 713 121
+# failed_seed: 20 454 75 F 736 143
+# failed_seed: 20 454 160 F 761 45
+# failed_seed: 20 454 130 F 798 83
+# failed_seed: 20 454 48 F 826 76
+# failed_seed: 20 454 75 F 846 249
+# failed_seed: 20 454 160 F 849 99
+# failed_seed: 20 454 74 F 902 53
+# failed_seed: 20 454 48 F 912 58
+# failed_seed: 20 454 118 F 988 121
+# failed_seed: 20 454 75 F 1049 87
+# failed_seed: 20 454 230 F 1076 136
+# failed_seed: 20 454 160 F 1100 159
+# failed_seed: 20 454 160 F 1120 126
+# failed_seed: 20 454 160 F 1143 125
+# failed_seed: 20 454 75 F 1151 87
+# failed_seed: 20 454 162 F 1196 80
+# failed_seed: 20 454 46 F 1230 113
+# failed_seed: 20 454 220 F 1297 216
+# failed_seed: 20 454 160 F 1327 142
+# failed_seed: 20 454 160 F 1328 115
+# failed_seed: 20 454 127 F 1360 102
+# failed_seed: 20 454 124 F 1365 54
+# failed_seed: 20 454 162 F 1456 122
+# failed_seed: 20 454 83 F 1722 20
+# failed_seed: 20 454 75 F 1837 4
+# failed_seed: 20 455 38 F 1260 252
+# failed_seed: 20 460 118 F 1351 92
+# failed_seed: 20 460 238 F 1859 0
+# failed_seed: 20 460 113 F 1936 22
+# failed_seed: 20 461 13 F 1788 264
+# failed_seed: 20 461 0 F 1850 260
+# failed_seed: 20 470 300 F 991 64
+# failed_seed: 20 470 116 F 1013 36
+# failed_seed: 20 473 28 F 766 65
+# failed_seed: 20 473 80 F 994 150
+# failed_seed: 20 473 141 F 1190 96
+# failed_seed: 20 474 278 F 481 77
+# failed_seed: 20 474 178 F 483 72
+# failed_seed: 20 474 245 F 506 69
+# failed_seed: 20 474 184 F 543 125
+# failed_seed: 20 474 229 F 579 54
+# failed_seed: 20 474 237 F 605 115
+# failed_seed: 20 474 291 F 610 69
+# failed_seed: 20 474 240 F 630 151
+# failed_seed: 20 474 237 F 641 56
+# failed_seed: 20 474 278 F 642 65
+# failed_seed: 20 474 142 F 658 208
+# failed_seed: 20 474 214 F 713 114
+# failed_seed: 20 474 87 F 736 96
+# failed_seed: 20 474 194 F 761 19
+# failed_seed: 20 474 190 F 798 83
+# failed_seed: 20 474 108 F 826 76
+# failed_seed: 20 474 178 F 846 292
+# failed_seed: 20 474 217 F 849 95
+# failed_seed: 20 474 178 F 902 97
+# failed_seed: 20 474 108 F 912 58
+# failed_seed: 20 474 273 F 935 129
+# failed_seed: 20 474 142 F 988 86
+# failed_seed: 20 474 178 F 1049 131
+# failed_seed: 20 474 259 F 1076 104
+# failed_seed: 20 474 217 F 1100 155
+# failed_seed: 20 474 214 F 1120 119
+# failed_seed: 20 474 214 F 1143 118
+# failed_seed: 20 474 74 F 1151 26
+# failed_seed: 20 474 235 F 1189 69
+# failed_seed: 20 474 223 F 1196 80
+# failed_seed: 20 474 278 F 1198 98
+# failed_seed: 20 474 106 F 1230 113
+# failed_seed: 20 474 286 F 1289 26
+# failed_seed: 20 474 235 F 1297 170
+# failed_seed: 20 474 214 F 1327 135
+# failed_seed: 20 474 214 F 1328 108
+# failed_seed: 20 474 187 F 1360 102
+# failed_seed: 20 474 149 F 1365 17
+# failed_seed: 20 474 223 F 1456 122
+# failed_seed: 20 474 179 F 1722 56
+# failed_seed: 20 474 166 F 1837 35
+# failed_seed: 20 477 29 F 1052 90
+# failed_seed: 20 480 157 F 926 100
+# failed_seed: 20 481 70 F 483 165
+# failed_seed: 20 481 70 F 506 95
+# failed_seed: 20 481 77 F 543 218
+# failed_seed: 20 481 73 F 579 100
+# failed_seed: 20 481 70 F 605 149
+# failed_seed: 20 481 90 F 610 69
+# failed_seed: 20 481 70 F 630 182
+# failed_seed: 20 481 81 F 641 101
+# failed_seed: 20 481 70 F 642 58
+# failed_seed: 20 481 77 F 658 340
+# failed_seed: 20 481 77 F 713 178
+# failed_seed: 20 481 70 F 736 278
+# failed_seed: 20 481 77 F 761 102
+# failed_seed: 20 481 77 F 798 170
+# failed_seed: 20 481 77 F 826 244
+# failed_seed: 20 481 83 F 846 397
+# failed_seed: 20 481 111 F 849 190
+# failed_seed: 20 481 70 F 902 189
+# failed_seed: 20 481 77 F 912 226
+# failed_seed: 20 481 77 F 935 134
+# failed_seed: 20 481 70 F 988 213
+# failed_seed: 20 481 70 F 1049 223
+# failed_seed: 20 481 90 F 1076 136
+# failed_seed: 20 481 70 F 1100 209
+# failed_seed: 20 481 77 F 1120 183
+# failed_seed: 20 481 70 F 1143 175
+# failed_seed: 20 481 70 F 1151 222
+# failed_seed: 20 481 70 F 1189 105
+# failed_seed: 20 481 26 F 1196 88
+# failed_seed: 20 481 70 F 1198 91
+# failed_seed: 20 481 70 F 1230 279
+# failed_seed: 20 481 85 F 1289 26
+# failed_seed: 20 481 77 F 1297 213
+# failed_seed: 20 481 77 F 1327 199
+# failed_seed: 20 481 90 F 1328 185
+# failed_seed: 20 481 90 F 1360 205
+# failed_seed: 20 481 70 F 1365 141
+# failed_seed: 20 481 77 F 1456 178
+# failed_seed: 20 483 139 F 506 69
+# failed_seed: 20 483 78 F 543 125
+# failed_seed: 20 483 123 F 579 54
+# failed_seed: 20 483 131 F 605 115
+# failed_seed: 20 483 185 F 610 69
+# failed_seed: 20 483 134 F 630 151
+# failed_seed: 20 483 131 F 641 56
+# failed_seed: 20 483 165 F 642 58
+# failed_seed: 20 483 72 F 658 243
+# failed_seed: 20 483 107 F 713 113
+# failed_seed: 20 483 56 F 736 170
+# failed_seed: 20 483 97 F 761 27
+# failed_seed: 20 483 106 F 798 104
+# failed_seed: 20 483 97 F 826 169
+# failed_seed: 20 483 56 F 846 276
+# failed_seed: 20 483 111 F 849 95
+# failed_seed: 20 483 56 F 902 81
+# failed_seed: 20 483 72 F 912 126
+# failed_seed: 20 483 172 F 935 134
+# failed_seed: 20 483 56 F 988 105
+# failed_seed: 20 483 63 F 1049 122
+# failed_seed: 20 483 185 F 1076 136
+# failed_seed: 20 483 111 F 1100 155
+# failed_seed: 20 483 102 F 1120 113
+# failed_seed: 20 483 103 F 1143 113
+# failed_seed: 20 483 56 F 1151 114
+# failed_seed: 20 483 103 F 1189 43
+# failed_seed: 20 483 117 F 1196 80
+# failed_seed: 20 483 165 F 1198 91
+# failed_seed: 20 483 56 F 1230 168
+# failed_seed: 20 483 180 F 1289 26
+# failed_seed: 20 483 97 F 1297 139
+# failed_seed: 20 483 97 F 1327 124
+# failed_seed: 20 483 106 F 1328 106
+# failed_seed: 20 483 111 F 1360 131
+# failed_seed: 20 483 78 F 1365 54
+# failed_seed: 20 483 117 F 1456 122
+# failed_seed: 20 483 73 F 1722 56
+# failed_seed: 20 483 72 F 1837 47
+# failed_seed: 20 489 57 F 1339 72
+# failed_seed: 20 492 105 F 652 135
+# failed_seed: 20 492 163 F 742 141
+# failed_seed: 20 492 47 F 825 146
+# failed_seed: 20 492 79 F 862 83
+# failed_seed: 20 492 73 F 1469 168
+# failed_seed: 20 492 29 F 1874 42
+# failed_seed: 20 497 113 F 1544 31
+# failed_seed: 20 497 113 F 1546 209
+# failed_seed: 20 497 127 F 1547 207
+# failed_seed: 20 497 113 F 1549 7
+# failed_seed: 20 497 128 F 1550 199
+# failed_seed: 20 497 127 F 1551 30
+# failed_seed: 20 499 78 F 589 86
+# failed_seed: 20 505 58 F 633 80
+# failed_seed: 20 506 69 F 543 185
+# failed_seed: 20 506 98 F 579 100
+# failed_seed: 20 506 69 F 605 123
+# failed_seed: 20 506 115 F 610 69
+# failed_seed: 20 506 69 F 630 156
+# failed_seed: 20 506 69 F 641 64
+# failed_seed: 20 506 95 F 642 58
+# failed_seed: 20 506 69 F 658 308
+# failed_seed: 20 506 69 F 713 145
+# failed_seed: 20 506 69 F 736 252
+# failed_seed: 20 506 69 F 761 69
+# failed_seed: 20 506 69 F 798 137
+# failed_seed: 20 506 69 F 826 211
+# failed_seed: 20 506 69 F 846 358
+# failed_seed: 20 506 136 F 849 190
+# failed_seed: 20 506 69 F 902 163
+# failed_seed: 20 506 69 F 912 193
+# failed_seed: 20 506 102 F 935 134
+# failed_seed: 20 506 69 F 988 187
+# failed_seed: 20 506 69 F 1049 197
+# failed_seed: 20 506 115 F 1076 136
+# failed_seed: 20 506 69 F 1100 183
+# failed_seed: 20 506 69 F 1120 150
+# failed_seed: 20 506 69 F 1143 149
+# failed_seed: 20 506 69 F 1151 196
+# failed_seed: 20 506 69 F 1189 79
+# failed_seed: 20 506 102 F 1196 136
+# failed_seed: 20 506 95 F 1198 91
+# failed_seed: 20 506 69 F 1230 253
+# failed_seed: 20 506 110 F 1289 26
+# failed_seed: 20 506 69 F 1297 180
+# failed_seed: 20 506 102 F 1327 199
+# failed_seed: 20 506 72 F 1328 142
+# failed_seed: 20 506 115 F 1360 205
+# failed_seed: 20 506 69 F 1365 115
+# failed_seed: 20 506 102 F 1456 178
+# failed_seed: 20 522 135 F 1134 95
+# failed_seed: 20 530 96 F 544 35
+# failed_seed: 20 530 115 F 1304 136
+# failed_seed: 20 530 102 F 1343 110
+# failed_seed: 20 536 201 F 567 119
+# failed_seed: 20 536 140 F 965 30
+# failed_seed: 20 536 209 F 1034 91
+# failed_seed: 20 536 160 F 1082 106
+# failed_seed: 20 538 80 F 667 179
+# failed_seed: 20 539 118 F 1080 25
+# failed_seed: 20 541 56 F 1006 142
+# failed_seed: 20 542 83 F 1056 59
+# failed_seed: 20 542 83 F 1653 165
+# failed_seed: 20 542 85 F 1828 242
+# failed_seed: 20 543 169 F 579 54
+# failed_seed: 20 543 177 F 605 115
+# failed_seed: 20 543 231 F 610 69
+# failed_seed: 20 543 180 F 630 151
+# failed_seed: 20 543 177 F 641 56
+# failed_seed: 20 543 218 F 642 65
+# failed_seed: 20 543 144 F 658 267
+# failed_seed: 20 543 153 F 713 113
+# failed_seed: 20 543 125 F 736 192
+# failed_seed: 20 543 135 F 761 19
+# failed_seed: 20 543 131 F 798 83
+# failed_seed: 20 543 128 F 826 154
+# failed_seed: 20 543 125 F 846 298
+# failed_seed: 20 543 157 F 849 95
+# failed_seed: 20 543 125 F 902 103
+# failed_seed: 20 543 125 F 912 132
+# failed_seed: 20 543 213 F 935 129
+# failed_seed: 20 543 125 F 988 127
+# failed_seed: 20 543 125 F 1049 137
+# failed_seed: 20 543 199 F 1076 104
+# failed_seed: 20 543 157 F 1100 155
+# failed_seed: 20 543 148 F 1120 113
+# failed_seed: 20 543 149 F 1143 113
+# failed_seed: 20 543 125 F 1151 136
+# failed_seed: 20 543 149 F 1189 43
+# failed_seed: 20 543 163 F 1196 80
+# failed_seed: 20 543 218 F 1198 98
+# failed_seed: 20 543 149 F 1230 217
+# failed_seed: 20 543 226 F 1289 26
+# failed_seed: 20 543 136 F 1297 132
+# failed_seed: 20 543 140 F 1327 121
+# failed_seed: 20 543 152 F 1328 106
+# failed_seed: 20 543 128 F 1360 102
+# failed_seed: 20 543 125 F 1365 54
+# failed_seed: 20 543 163 F 1456 122
+# failed_seed: 20 543 125 F 1722 61
+# failed_seed: 20 543 125 F 1837 53
+# failed_seed: 20 544 41 F 1343 110
+# failed_seed: 20 545 31 F 1453 168
+# failed_seed: 20 546 142 F 884 67
+# failed_seed: 20 546 142 F 890 79
+# failed_seed: 20 549 99 F 661 176
+# failed_seed: 20 558 65 F 1254 193
+# failed_seed: 20 560 97 F 1069 64
+# failed_seed: 20 567 127 F 965 99
+# failed_seed: 20 567 127 F 1034 91
+# failed_seed: 20 567 119 F 1082 147
+# failed_seed: 20 568 89 F 1793 83
+# failed_seed: 20 574 125 F 1369 108
+# failed_seed: 20 579 100 F 605 152
+# failed_seed: 20 579 117 F 610 69
+# failed_seed: 20 579 100 F 630 185
+# failed_seed: 20 579 108 F 641 101
+# failed_seed: 20 579 100 F 642 61
+# failed_seed: 20 579 54 F 658 292
+# failed_seed: 20 579 54 F 713 129
+# failed_seed: 20 579 54 F 736 236
+# failed_seed: 20 579 54 F 761 53
+# failed_seed: 20 579 54 F 798 121
+# failed_seed: 20 579 54 F 826 195
+# failed_seed: 20 579 54 F 846 342
+# failed_seed: 20 579 54 F 849 107
+# failed_seed: 20 579 54 F 902 147
+# failed_seed: 20 579 54 F 912 177
+# failed_seed: 20 579 104 F 935 134
+# failed_seed: 20 579 100 F 988 216
+# failed_seed: 20 579 54 F 1049 181
+# failed_seed: 20 579 50 F 1076 70
+# failed_seed: 20 579 54 F 1100 167
+# failed_seed: 20 579 54 F 1120 134
+# failed_seed: 20 579 54 F 1143 133
+# failed_seed: 20 579 54 F 1151 180
+# failed_seed: 20 579 100 F 1189 108
+# failed_seed: 20 579 104 F 1196 136
+# failed_seed: 20 579 100 F 1198 94
+# failed_seed: 20 579 54 F 1230 237
+# failed_seed: 20 579 112 F 1289 26
+# failed_seed: 20 579 104 F 1297 213
+# failed_seed: 20 579 54 F 1327 150
+# failed_seed: 20 579 117 F 1328 185
+# failed_seed: 20 579 117 F 1360 205
+# failed_seed: 20 579 54 F 1365 99
+# failed_seed: 20 579 28 F 1456 101
+# failed_seed: 20 580 77 F 762 135
+# failed_seed: 20 584 247 F 1381 106
+# failed_seed: 20 584 154 F 1661 113
+# failed_seed: 20 588 82 F 775 185
+# failed_seed: 20 591 54 F 1758 61
+# failed_seed: 20 593 81 F 607 134
+# failed_seed: 20 597 70 F 1372 205
+# failed_seed: 20 600 134 F 1251 76
+# failed_seed: 20 601 126 F 609 195
+# failed_seed: 20 605 169 F 610 69
+# failed_seed: 20 605 118 F 630 151
+# failed_seed: 20 605 115 F 641 56
+# failed_seed: 20 605 149 F 642 58
+# failed_seed: 20 605 115 F 658 300
+# failed_seed: 20 605 115 F 713 137
+# failed_seed: 20 605 115 F 736 244
+# failed_seed: 20 605 115 F 761 61
+# failed_seed: 20 605 115 F 798 129
+# failed_seed: 20 605 115 F 826 203
+# failed_seed: 20 605 115 F 846 350
+# failed_seed: 20 605 115 F 849 115
+# failed_seed: 20 605 115 F 902 155
+# failed_seed: 20 605 115 F 912 185
+# failed_seed: 20 605 156 F 935 134
+# failed_seed: 20 605 120 F 988 184
+# failed_seed: 20 605 115 F 1049 189
+# failed_seed: 20 605 169 F 1076 136
+# failed_seed: 20 605 115 F 1100 175
+# failed_seed: 20 605 115 F 1120 142
+# failed_seed: 20 605 115 F 1143 141
+# failed_seed: 20 605 115 F 1151 188
+# failed_seed: 20 605 115 F 1189 71
+# failed_seed: 20 605 132 F 1196 113
+# failed_seed: 20 605 149 F 1198 91
+# failed_seed: 20 605 115 F 1230 245
+# failed_seed: 20 605 164 F 1289 26
+# failed_seed: 20 605 115 F 1297 172
+# failed_seed: 20 605 156 F 1327 199
+# failed_seed: 20 605 126 F 1328 142
+# failed_seed: 20 605 169 F 1360 205
+# failed_seed: 20 605 115 F 1365 107
+# failed_seed: 20 605 115 F 1456 136
+# failed_seed: 20 610 69 F 630 202
+# failed_seed: 20 610 69 F 641 110
+# failed_seed: 20 610 87 F 642 96
+# failed_seed: 20 610 69 F 658 353
+# failed_seed: 20 610 69 F 713 191
+# failed_seed: 20 610 69 F 736 298
+# failed_seed: 20 610 69 F 761 115
+# failed_seed: 20 610 80 F 798 195
+# failed_seed: 20 610 69 F 826 257
+# failed_seed: 20 610 69 F 846 404
+# failed_seed: 20 610 69 F 902 209
+# failed_seed: 20 610 69 F 912 239
+# failed_seed: 20 610 83 F 935 162
+# failed_seed: 20 610 69 F 988 233
+# failed_seed: 20 610 69 F 1049 243
+# failed_seed: 20 610 69 F 1076 136
+# failed_seed: 20 610 69 F 1100 229
+# failed_seed: 20 610 69 F 1120 196
+# failed_seed: 20 610 69 F 1143 195
+# failed_seed: 20 610 69 F 1151 242
+# failed_seed: 20 610 69 F 1196 149
+# failed_seed: 20 610 88 F 1198 130
+# failed_seed: 20 610 69 F 1230 299
+# failed_seed: 20 610 69 F 1289 31
+# failed_seed: 20 610 69 F 1297 226
+# failed_seed: 20 610 69 F 1327 212
+# failed_seed: 20 610 69 F 1328 185
+# failed_seed: 20 610 69 F 1360 205
+# failed_seed: 20 610 69 F 1365 161
+# failed_seed: 20 610 69 F 1456 191
+# failed_seed: 20 624 302 F 1619 141
+# failed_seed: 20 630 151 F 641 59
+# failed_seed: 20 630 182 F 642 58
+# failed_seed: 20 630 151 F 658 303
+# failed_seed: 20 630 151 F 713 140
+# failed_seed: 20 630 151 F 736 247
+# failed_seed: 20 630 151 F 761 64
+# failed_seed: 20 630 151 F 798 132
+# failed_seed: 20 630 151 F 826 206
+# failed_seed: 20 630 151 F 846 353
+# failed_seed: 20 630 151 F 849 118
+# failed_seed: 20 630 151 F 902 158
+# failed_seed: 20 630 151 F 912 188
+# failed_seed: 20 630 189 F 935 134
+# failed_seed: 20 630 153 F 988 184
+# failed_seed: 20 630 151 F 1049 192
+# failed_seed: 20 630 202 F 1076 136
+# failed_seed: 20 630 151 F 1100 178
+# failed_seed: 20 630 151 F 1120 145
+# failed_seed: 20 630 151 F 1143 144
+# failed_seed: 20 630 151 F 1151 191
+# failed_seed: 20 630 151 F 1189 74
+# failed_seed: 20 630 165 F 1196 113
+# failed_seed: 20 630 182 F 1198 91
+# failed_seed: 20 630 151 F 1230 248
+# failed_seed: 20 630 197 F 1289 26
+# failed_seed: 20 630 151 F 1297 175
+# failed_seed: 20 630 189 F 1327 199
+# failed_seed: 20 630 159 F 1328 142
+# failed_seed: 20 630 202 F 1360 205
+# failed_seed: 20 630 151 F 1365 110
+# failed_seed: 20 630 189 F 1456 178
+# failed_seed: 20 634 59 F 976 70
+# failed_seed: 20 641 101 F 642 69
+# failed_seed: 20 641 56 F 658 300
+# failed_seed: 20 641 56 F 713 137
+# failed_seed: 20 641 56 F 736 244
+# failed_seed: 20 641 56 F 761 61
+# failed_seed: 20 641 56 F 798 129
+# failed_seed: 20 641 56 F 826 203
+# failed_seed: 20 641 56 F 846 350
+# failed_seed: 20 641 56 F 902 155
+# failed_seed: 20 641 56 F 912 185
+# failed_seed: 20 641 61 F 988 184
+# failed_seed: 20 641 56 F 1049 189
+# failed_seed: 20 641 56 F 1100 175
+# failed_seed: 20 641 56 F 1120 142
+# failed_seed: 20 641 56 F 1143 141
+# failed_seed: 20 641 56 F 1151 188
+# failed_seed: 20 641 56 F 1189 71
+# failed_seed: 20 641 73 F 1196 113
+# failed_seed: 20 641 101 F 1198 102
+# failed_seed: 20 641 56 F 1230 245
+# failed_seed: 20 641 105 F 1289 26
+# failed_seed: 20 641 56 F 1297 172
+# failed_seed: 20 641 101 F 1327 203
+# failed_seed: 20 641 67 F 1328 142
+# failed_seed: 20 641 110 F 1360 205
+# failed_seed: 20 641 56 F 1365 107
+# failed_seed: 20 641 56 F 1456 136
+# failed_seed: 20 642 65 F 658 340
+# failed_seed: 20 642 65 F 713 178
+# failed_seed: 20 642 58 F 736 278
+# failed_seed: 20 642 65 F 761 102
+# failed_seed: 20 642 65 F 798 170
+# failed_seed: 20 642 65 F 826 244
+# failed_seed: 20 642 71 F 846 397
+# failed_seed: 20 642 99 F 849 190
+# failed_seed: 20 642 58 F 902 189
+# failed_seed: 20 642 65 F 912 226
+# failed_seed: 20 642 65 F 935 134
+# failed_seed: 20 642 58 F 988 213
+# failed_seed: 20 642 58 F 1049 223
+# failed_seed: 20 642 58 F 1100 209
+# failed_seed: 20 642 65 F 1120 183
+# failed_seed: 20 642 58 F 1143 175
+# failed_seed: 20 642 58 F 1151 222
+# failed_seed: 20 642 58 F 1189 105
+# failed_seed: 20 642 65 F 1196 136
+# failed_seed: 20 642 58 F 1198 91
+# failed_seed: 20 642 58 F 1230 279
+# failed_seed: 20 642 73 F 1289 26
+# failed_seed: 20 642 65 F 1297 213
+# failed_seed: 20 642 65 F 1327 199
+# failed_seed: 20 642 96 F 1328 203
+# failed_seed: 20 642 96 F 1360 223
+# failed_seed: 20 642 58 F 1365 141
+# failed_seed: 20 642 65 F 1456 178
+# failed_seed: 20 647 104 F 1388 161
+# failed_seed: 20 652 193 F 742 141
+# failed_seed: 20 652 135 F 825 205
+# failed_seed: 20 652 149 F 862 120
+# failed_seed: 20 652 135 F 1469 200
+# failed_seed: 20 652 135 F 1874 117
+# failed_seed: 20 654 157 F 807 216
+# failed_seed: 20 654 121 F 866 258
+# failed_seed: 20 654 157 F 1212 279
+# failed_seed: 20 658 276 F 713 113
+# failed_seed: 20 658 196 F 736 138
+# failed_seed: 20 658 267 F 761 28
+# failed_seed: 20 658 275 F 798 104
+# failed_seed: 20 658 225 F 826 127
+# failed_seed: 20 658 196 F 846 244
+# failed_seed: 20 658 186 F 849 1
+# failed_seed: 20 658 201 F 902 54
+# failed_seed: 20 658 186 F 912 69
+# failed_seed: 20 658 337 F 935 131
+# failed_seed: 20 658 206 F 988 84
+# failed_seed: 20 658 201 F 1049 87
+# failed_seed: 20 658 353 F 1076 136
+# failed_seed: 20 658 280 F 1100 155
+# failed_seed: 20 658 271 F 1120 113
+# failed_seed: 20 658 272 F 1143 113
+# failed_seed: 20 658 199 F 1151 85
+# failed_seed: 20 658 272 F 1189 43
+# failed_seed: 20 658 286 F 1196 80
+# failed_seed: 20 658 340 F 1198 98
+# failed_seed: 20 658 272 F 1230 217
+# failed_seed: 20 658 348 F 1289 26
+# failed_seed: 20 658 267 F 1297 140
+# failed_seed: 20 658 267 F 1327 125
+# failed_seed: 20 658 275 F 1328 106
+# failed_seed: 20 658 280 F 1360 131
+# failed_seed: 20 658 278 F 1365 85
+# failed_seed: 20 658 286 F 1456 122
+# failed_seed: 20 658 244 F 1722 56
+# failed_seed: 20 658 197 F 1837 0
+# failed_seed: 20 662 221 F 1193 154
+# failed_seed: 20 664 101 F 1183 97
+# failed_seed: 20 671 110 F 1334 113
+# failed_seed: 20 674 102 F 1281 139
+# failed_seed: 20 676 159 F 1165 110
+# failed_seed: 20 678 180 F 1204 101
+# failed_seed: 20 679 104 F 759 44
+# failed_seed: 20 691 90 F 814 157
+# failed_seed: 20 695 173 F 938 121
+# failed_seed: 20 701 182 F 715 174
+# failed_seed: 20 707 119 F 1623 265
+# failed_seed: 20 713 113 F 736 220
+# failed_seed: 20 713 89 F 761 11
+# failed_seed: 20 713 113 F 798 105
+# failed_seed: 20 713 113 F 826 179
+# failed_seed: 20 713 113 F 846 326
+# failed_seed: 20 713 117 F 849 95
+# failed_seed: 20 713 113 F 902 131
+# failed_seed: 20 713 113 F 912 161
+# failed_seed: 20 713 174 F 935 130
+# failed_seed: 20 713 142 F 988 184
+# failed_seed: 20 713 113 F 1049 165
+# failed_seed: 20 713 191 F 1076 136
+# failed_seed: 20 713 117 F 1100 155
+# failed_seed: 20 713 113 F 1120 118
+# failed_seed: 20 713 113 F 1143 117
+# failed_seed: 20 713 113 F 1151 164
+# failed_seed: 20 713 135 F 1189 69
+# failed_seed: 20 713 123 F 1196 80
+# failed_seed: 20 713 178 F 1198 98
+# failed_seed: 20 713 113 F 1230 221
+# failed_seed: 20 713 186 F 1289 26
+# failed_seed: 20 713 135 F 1297 170
+# failed_seed: 20 713 113 F 1327 134
+# failed_seed: 20 713 113 F 1328 107
+# failed_seed: 20 713 117 F 1360 131
+# failed_seed: 20 713 115 F 1365 85
+# failed_seed: 20 713 123 F 1456 122
+# failed_seed: 20 719 160 F 1199 49
+# failed_seed: 20 720 112 F 1398 133
+# failed_seed: 20 724 145 F 1826 145
+# failed_seed: 20 726 213 F 1393 61
+# failed_seed: 20 735 264 F 1479 85
+# failed_seed: 20 736 202 F 761 19
+# failed_seed: 20 736 198 F 798 83
+# failed_seed: 20 736 155 F 826 114
+# failed_seed: 20 736 120 F 846 226
+# failed_seed: 20 736 224 F 849 95
+# failed_seed: 20 736 143 F 902 54
+# failed_seed: 20 736 186 F 912 126
+# failed_seed: 20 736 285 F 935 134
+# failed_seed: 20 736 148 F 988 84
+# failed_seed: 20 736 143 F 1049 87
+# failed_seed: 20 736 298 F 1076 136
+# failed_seed: 20 736 224 F 1100 155
+# failed_seed: 20 736 215 F 1120 113
+# failed_seed: 20 736 216 F 1143 113
+# failed_seed: 20 736 96 F 1151 39
+# failed_seed: 20 736 216 F 1189 43
+# failed_seed: 20 736 230 F 1196 80
+# failed_seed: 20 736 278 F 1198 91
+# failed_seed: 20 736 119 F 1230 117
+# failed_seed: 20 736 293 F 1289 26
+# failed_seed: 20 736 203 F 1297 132
+# failed_seed: 20 736 207 F 1327 121
+# failed_seed: 20 736 158 F 1328 44
+# failed_seed: 20 736 195 F 1360 102
+# failed_seed: 20 736 192 F 1365 54
+# failed_seed: 20 736 230 F 1456 122
+# failed_seed: 20 736 187 F 1722 56
+# failed_seed: 20 736 139 F 1837 0
+# failed_seed: 20 738 184 F 739 64
+# failed_seed: 20 738 177 F 1384 69
+# failed_seed: 20 739 64 F 1384 76
+# failed_seed: 20 742 141 F 825 263
+# failed_seed: 20 742 154 F 862 176
+# failed_seed: 20 742 141 F 1469 258
+# failed_seed: 20 742 141 F 1874 175
+# failed_seed: 20 755 70 F 1412 184
+# failed_seed: 20 761 36 F 798 104
+# failed_seed: 20 761 19 F 826 161
+# failed_seed: 20 761 19 F 846 308
+# failed_seed: 20 761 41 F 849 95
+# failed_seed: 20 761 19 F 902 113
+# failed_seed: 20 761 33 F 912 157
+# failed_seed: 20 761 97 F 935 129
+# failed_seed: 20 761 19 F 988 137
+# failed_seed: 20 761 19 F 1049 147
+# failed_seed: 20 761 83 F 1076 104
+# failed_seed: 20 761 41 F 1100 155
+# failed_seed: 20 761 32 F 1120 113
+# failed_seed: 20 761 33 F 1143 113
+# failed_seed: 20 761 19 F 1151 146
+# failed_seed: 20 761 33 F 1189 43
+# failed_seed: 20 761 47 F 1196 80
+# failed_seed: 20 761 102 F 1198 98
+# failed_seed: 20 761 33 F 1230 217
+# failed_seed: 20 761 110 F 1289 26
+# failed_seed: 20 761 20 F 1297 132
+# failed_seed: 20 761 24 F 1327 121
+# failed_seed: 20 761 36 F 1328 106
+# failed_seed: 20 761 19 F 1360 109
+# failed_seed: 20 761 19 F 1365 64
+# failed_seed: 20 761 47 F 1456 122
+# failed_seed: 20 766 158 F 994 191
+# failed_seed: 20 766 178 F 1190 96
+# failed_seed: 20 779 162 F 783 159
+# failed_seed: 20 782 133 F 1270 88
+# failed_seed: 20 782 256 F 1279 121
+# failed_seed: 20 798 83 F 826 157
+# failed_seed: 20 798 83 F 846 304
+# failed_seed: 20 798 109 F 849 95
+# failed_seed: 20 798 83 F 902 109
+# failed_seed: 20 798 83 F 912 138
+# failed_seed: 20 798 165 F 935 129
+# failed_seed: 20 798 83 F 988 133
+# failed_seed: 20 798 83 F 1049 143
+# failed_seed: 20 798 151 F 1076 104
+# failed_seed: 20 798 109 F 1100 155
+# failed_seed: 20 798 104 F 1120 117
+# failed_seed: 20 798 104 F 1143 116
+# failed_seed: 20 798 83 F 1151 142
+# failed_seed: 20 798 127 F 1189 69
+# failed_seed: 20 798 115 F 1196 80
+# failed_seed: 20 798 170 F 1198 98
+# failed_seed: 20 798 104 F 1230 220
+# failed_seed: 20 798 195 F 1289 42
+# failed_seed: 20 798 127 F 1297 170
+# failed_seed: 20 798 104 F 1327 133
+# failed_seed: 20 798 104 F 1328 106
+# failed_seed: 20 798 83 F 1360 105
+# failed_seed: 20 798 83 F 1365 60
+# failed_seed: 20 798 115 F 1456 122
+# failed_seed: 20 798 83 F 1722 67
+# failed_seed: 20 807 253 F 866 329
+# failed_seed: 20 807 131 F 1212 194
+# failed_seed: 20 815 73 F 1699 76
+# failed_seed: 20 819 124 F 975 131
+# failed_seed: 20 819 200 F 1301 56
+# failed_seed: 20 819 257 F 1362 209
+# failed_seed: 20 819 134 F 1500 116
+# failed_seed: 20 825 179 F 862 83
+# failed_seed: 20 825 176 F 1469 171
+# failed_seed: 20 825 176 F 1874 88
+# failed_seed: 20 826 114 F 846 261
+# failed_seed: 20 826 183 F 849 95
+# failed_seed: 20 826 61 F 902 11
+# failed_seed: 20 826 75 F 912 57
+# failed_seed: 20 826 239 F 935 129
+# failed_seed: 20 826 154 F 988 130
+# failed_seed: 20 826 154 F 1049 140
+# failed_seed: 20 826 225 F 1076 104
+# failed_seed: 20 826 183 F 1100 155
+# failed_seed: 20 826 174 F 1120 113
+# failed_seed: 20 826 175 F 1143 113
+# failed_seed: 20 826 63 F 1151 46
+# failed_seed: 20 826 175 F 1189 43
+# failed_seed: 20 826 189 F 1196 80
+# failed_seed: 20 826 244 F 1198 98
+# failed_seed: 20 826 76 F 1230 115
+# failed_seed: 20 826 252 F 1289 26
+# failed_seed: 20 826 162 F 1297 132
+# failed_seed: 20 826 166 F 1327 121
+# failed_seed: 20 826 117 F 1328 44
+# failed_seed: 20 826 154 F 1360 102
+# failed_seed: 20 826 154 F 1365 57
+# failed_seed: 20 826 189 F 1456 122
+# failed_seed: 20 826 154 F 1722 64
+# failed_seed: 20 826 133 F 1837 35
+# failed_seed: 20 833 182 F 1146 103
+# failed_seed: 20 846 330 F 849 95
+# failed_seed: 20 846 249 F 902 54
+# failed_seed: 20 846 292 F 912 126
+# failed_seed: 20 846 418 F 935 162
+# failed_seed: 20 846 254 F 988 84
+# failed_seed: 20 846 249 F 1049 87
+# failed_seed: 20 846 404 F 1076 136
+# failed_seed: 20 846 330 F 1100 155
+# failed_seed: 20 846 321 F 1120 113
+# failed_seed: 20 846 322 F 1143 113
+# failed_seed: 20 846 247 F 1151 85
+# failed_seed: 20 846 322 F 1189 43
+# failed_seed: 20 846 336 F 1196 80
+# failed_seed: 20 846 423 F 1198 130
+# failed_seed: 20 846 270 F 1230 162
+# failed_seed: 20 846 399 F 1289 26
+# failed_seed: 20 846 309 F 1297 132
+# failed_seed: 20 846 313 F 1327 121
+# failed_seed: 20 846 264 F 1328 44
+# failed_seed: 20 846 301 F 1360 102
+# failed_seed: 20 846 298 F 1365 54
+# failed_seed: 20 846 336 F 1456 122
+# failed_seed: 20 846 293 F 1722 56
+# failed_seed: 20 846 245 F 1837 0
+# failed_seed: 20 848 226 F 1658 93
+# failed_seed: 20 849 95 F 902 135
+# failed_seed: 20 849 0 F 912 68
+# failed_seed: 20 849 190 F 935 169
+# failed_seed: 20 849 120 F 988 184
+# failed_seed: 20 849 95 F 1049 169
+# failed_seed: 20 849 190 F 1076 157
+# failed_seed: 20 849 94 F 1100 154
+# failed_seed: 20 849 95 F 1120 122
+# failed_seed: 20 849 95 F 1143 121
+# failed_seed: 20 849 95 F 1151 168
+# failed_seed: 20 849 113 F 1189 69
+# failed_seed: 20 849 101 F 1196 80
+# failed_seed: 20 849 95 F 1230 225
+# failed_seed: 20 849 113 F 1297 170
+# failed_seed: 20 849 95 F 1327 138
+# failed_seed: 20 849 95 F 1328 111
+# failed_seed: 20 849 95 F 1360 131
+# failed_seed: 20 849 95 F 1365 87
+# failed_seed: 20 849 101 F 1456 122
+# failed_seed: 20 859 7 F 1265 175
+# failed_seed: 20 859 88 F 1265 235
+# failed_seed: 20 862 83 F 1469 174
+# failed_seed: 20 862 83 F 1874 91
+# failed_seed: 20 866 329 F 1212 316
+# failed_seed: 20 867 289 F 1602 58
+# failed_seed: 20 871 187 F 1401 128
+# failed_seed: 20 871 388 F 1401 314
+# failed_seed: 20 871 128 F 1710 168
+# failed_seed: 20 877 193 F 1268 213
+# failed_seed: 20 877 199 F 1514 8
+# failed_seed: 20 877 193 F 1627 123
+# failed_seed: 20 877 193 F 1747 115
+# failed_seed: 20 881 34 F 1248 130
+# failed_seed: 20 884 59 F 890 71
+# failed_seed: 20 885 105 F 1021 40
+# failed_seed: 20 885 105 F 1051 282
+# failed_seed: 20 892 130 F 1300 190
+# failed_seed: 20 895 240 F 1405 86
+# failed_seed: 20 902 97 F 912 126
+# failed_seed: 20 902 196 F 935 134
+# failed_seed: 20 902 59 F 988 84
+# failed_seed: 20 902 54 F 1049 87
+# failed_seed: 20 902 209 F 1076 136
+# failed_seed: 20 902 135 F 1100 155
+# failed_seed: 20 902 126 F 1120 113
+# failed_seed: 20 902 127 F 1143 113
+# failed_seed: 20 902 13 F 1151 46
+# failed_seed: 20 902 127 F 1189 43
+# failed_seed: 20 902 141 F 1196 80
+# failed_seed: 20 902 189 F 1198 91
+# failed_seed: 20 902 75 F 1230 162
+# failed_seed: 20 902 204 F 1289 26
+# failed_seed: 20 902 114 F 1297 132
+# failed_seed: 20 902 118 F 1327 121
+# failed_seed: 20 902 69 F 1328 44
+# failed_seed: 20 902 106 F 1360 102
+# failed_seed: 20 902 103 F 1365 54
+# failed_seed: 20 902 141 F 1456 122
+# failed_seed: 20 902 98 F 1722 56
+# failed_seed: 20 902 54 F 1837 4
+# failed_seed: 20 905 37 F 1693 120
+# failed_seed: 20 912 221 F 935 129
+# failed_seed: 20 912 126 F 988 121
+# failed_seed: 20 912 126 F 1049 131
+# failed_seed: 20 912 207 F 1076 104
+# failed_seed: 20 912 165 F 1100 155
+# failed_seed: 20 912 157 F 1120 114
+# failed_seed: 20 912 154 F 1143 110
+# failed_seed: 20 912 126 F 1151 130
+# failed_seed: 20 912 154 F 1189 40
+# failed_seed: 20 912 171 F 1196 80
+# failed_seed: 20 912 226 F 1198 98
+# failed_seed: 20 912 58 F 1230 115
+# failed_seed: 20 912 234 F 1289 26
+# failed_seed: 20 912 157 F 1297 145
+# failed_seed: 20 912 157 F 1327 130
+# failed_seed: 20 912 160 F 1328 106
+# failed_seed: 20 912 135 F 1360 102
+# failed_seed: 20 912 132 F 1365 54
+# failed_seed: 20 912 171 F 1456 122
+# failed_seed: 20 912 127 F 1722 56
+# failed_seed: 20 912 114 F 1837 35
+# failed_seed: 20 915 149 F 1070 83
+# failed_seed: 20 935 134 F 988 220
+# failed_seed: 20 935 134 F 1049 230
+# failed_seed: 20 935 162 F 1076 150
+# failed_seed: 20 935 134 F 1100 216
+# failed_seed: 20 935 130 F 1120 179
+# failed_seed: 20 935 134 F 1143 182
+# failed_seed: 20 935 134 F 1151 229
+# failed_seed: 20 935 134 F 1189 112
+# failed_seed: 20 935 134 F 1196 136
+# failed_seed: 20 935 134 F 1198 98
+# failed_seed: 20 935 134 F 1230 286
+# failed_seed: 20 935 162 F 1289 45
+# failed_seed: 20 935 129 F 1297 208
+# failed_seed: 20 935 129 F 1327 194
+# failed_seed: 20 935 162 F 1328 199
+# failed_seed: 20 935 162 F 1360 219
+# failed_seed: 20 935 134 F 1365 148
+# failed_seed: 20 935 134 F 1456 178
+# failed_seed: 20 936 43 F 937 206
+# failed_seed: 20 950 70 F 1041 60
+# failed_seed: 20 950 2 F 1850 210
+# failed_seed: 20 950 61 F 1850 260
+# failed_seed: 20 960 80 F 970 192
+# failed_seed: 20 965 90 F 1034 82
+# failed_seed: 20 965 23 F 1082 79
+# failed_seed: 20 974 103 F 1310 249
+# failed_seed: 20 975 207 F 1301 56
+# failed_seed: 20 975 264 F 1362 209
+# failed_seed: 20 975 188 F 1500 164
+# failed_seed: 20 977 104 F 1605 152
+# failed_seed: 20 985 43 F 1426 107
+# failed_seed: 20 988 84 F 1049 92
+# failed_seed: 20 988 233 F 1076 136
+# failed_seed: 20 988 184 F 1100 180
+# failed_seed: 20 988 150 F 1120 113
+# failed_seed: 20 988 151 F 1143 113
+# failed_seed: 20 988 84 F 1151 92
+# failed_seed: 20 988 151 F 1189 43
+# failed_seed: 20 988 196 F 1196 113
+# failed_seed: 20 988 213 F 1198 91
+# failed_seed: 20 988 103 F 1230 166
+# failed_seed: 20 988 228 F 1289 26
+# failed_seed: 20 988 138 F 1297 132
+# failed_seed: 20 988 142 F 1327 121
+# failed_seed: 20 988 154 F 1328 106
+# failed_seed: 20 988 130 F 1360 102
+# failed_seed: 20 988 127 F 1365 54
+# failed_seed: 20 988 220 F 1456 178
+# failed_seed: 20 988 122 F 1722 56
+# failed_seed: 20 988 121 F 1837 47
+# failed_seed: 20 989 146 F 1350 90
+# failed_seed: 20 991 64 F 1013 224
+# failed_seed: 20 994 211 F 1190 96
+# failed_seed: 20 1021 3 F 1051 245
+# failed_seed: 20 1034 91 F 1082 155
+# failed_seed: 20 1039 0 F 1435 147
+# failed_seed: 20 1049 243 F 1076 136
+# failed_seed: 20 1049 169 F 1100 155
+# failed_seed: 20 1049 160 F 1120 113
+# failed_seed: 20 1049 161 F 1143 113
+# failed_seed: 20 1049 87 F 1151 87
+# failed_seed: 20 1049 161 F 1189 43
+# failed_seed: 20 1049 175 F 1196 80
+# failed_seed: 20 1049 223 F 1198 91
+# failed_seed: 20 1049 161 F 1230 217
+# failed_seed: 20 1049 238 F 1289 26
+# failed_seed: 20 1049 148 F 1297 132
+# failed_seed: 20 1049 152 F 1327 121
+# failed_seed: 20 1049 164 F 1328 106
+# failed_seed: 20 1049 140 F 1360 102
+# failed_seed: 20 1049 137 F 1365 54
+# failed_seed: 20 1049 175 F 1456 122
+# failed_seed: 20 1049 132 F 1722 56
+# failed_seed: 20 1049 87 F 1837 4
+# failed_seed: 20 1055 39 F 1542 187
+# failed_seed: 20 1056 59 F 1653 165
+# failed_seed: 20 1064 99 F 1669 39
+# failed_seed: 20 1066 86 F 1600 156
+# failed_seed: 20 1068 79 F 1517 174
+# failed_seed: 20 1076 136 F 1100 229
+# failed_seed: 20 1076 136 F 1120 196
+# failed_seed: 20 1076 136 F 1143 195
+# failed_seed: 20 1076 136 F 1151 242
+# failed_seed: 20 1076 136 F 1196 149
+# failed_seed: 20 1076 136 F 1230 299
+# failed_seed: 20 1076 136 F 1289 31
+# failed_seed: 20 1076 104 F 1297 194
+# failed_seed: 20 1076 136 F 1327 212
+# failed_seed: 20 1076 136 F 1328 185
+# failed_seed: 20 1076 136 F 1360 205
+# failed_seed: 20 1076 136 F 1365 161
+# failed_seed: 20 1076 136 F 1456 191
+# failed_seed: 20 1097 79 F 1806 62
+# failed_seed: 20 1100 155 F 1120 122
+# failed_seed: 20 1100 155 F 1143 121
+# failed_seed: 20 1100 155 F 1151 168
+# failed_seed: 20 1100 173 F 1189 69
+# failed_seed: 20 1100 161 F 1196 80
+# failed_seed: 20 1100 209 F 1198 91
+# failed_seed: 20 1100 155 F 1230 225
+# failed_seed: 20 1100 224 F 1289 26
+# failed_seed: 20 1100 173 F 1297 170
+# failed_seed: 20 1100 155 F 1327 138
+# failed_seed: 20 1100 155 F 1328 111
+# failed_seed: 20 1100 155 F 1360 131
+# failed_seed: 20 1100 114 F 1365 45
+# failed_seed: 20 1100 161 F 1456 122
+# failed_seed: 20 1120 114 F 1143 113
+# failed_seed: 20 1120 113 F 1151 159
+# failed_seed: 20 1120 114 F 1189 43
+# failed_seed: 20 1120 128 F 1196 80
+# failed_seed: 20 1120 183 F 1198 98
+# failed_seed: 20 1120 114 F 1230 217
+# failed_seed: 20 1120 191 F 1289 26
+# failed_seed: 20 1120 113 F 1297 144
+# failed_seed: 20 1120 113 F 1327 129
+# failed_seed: 20 1120 117 F 1328 106
+# failed_seed: 20 1120 122 F 1360 131
+# failed_seed: 20 1120 120 F 1365 85
+# failed_seed: 20 1120 128 F 1456 122
+# failed_seed: 20 1121 166 F 1512 123
+# failed_seed: 20 1125 202 F 1507 260
+# failed_seed: 20 1132 134 F 1140 42
+# failed_seed: 20 1138 179 F 1215 354
+# failed_seed: 20 1143 113 F 1151 160
+# failed_seed: 20 1143 110 F 1189 40
+# failed_seed: 20 1143 127 F 1196 80
+# failed_seed: 20 1143 175 F 1198 91
+# failed_seed: 20 1143 110 F 1230 214
+# failed_seed: 20 1143 190 F 1289 26
+# failed_seed: 20 1143 113 F 1297 145
+# failed_seed: 20 1143 113 F 1327 130
+# failed_seed: 20 1143 116 F 1328 106
+# failed_seed: 20 1143 121 F 1360 131
+# failed_seed: 20 1143 119 F 1365 85
+# failed_seed: 20 1143 127 F 1456 122
+# failed_seed: 20 1147 69 F 1331 182
+# failed_seed: 20 1151 160 F 1189 43
+# failed_seed: 20 1151 174 F 1196 80
+# failed_seed: 20 1151 222 F 1198 91
+# failed_seed: 20 1151 108 F 1230 162
+# failed_seed: 20 1151 237 F 1289 26
+# failed_seed: 20 1151 147 F 1297 132
+# failed_seed: 20 1151 151 F 1327 121
+# failed_seed: 20 1151 102 F 1328 44
+# failed_seed: 20 1151 139 F 1360 102
+# failed_seed: 20 1151 136 F 1365 54
+# failed_seed: 20 1151 174 F 1456 122
+# failed_seed: 20 1151 131 F 1722 56
+# failed_seed: 20 1151 85 F 1837 2
+# failed_seed: 20 1153 84 F 1161 187
+# failed_seed: 20 1170 122 F 1347 203
+# failed_seed: 20 1189 88 F 1196 113
+# failed_seed: 20 1189 105 F 1198 91
+# failed_seed: 20 1189 40 F 1230 214
+# failed_seed: 20 1189 43 F 1297 145
+# failed_seed: 20 1189 43 F 1327 130
+# failed_seed: 20 1189 82 F 1328 142
+# failed_seed: 20 1189 69 F 1365 105
+# failed_seed: 20 1189 69 F 1456 134
+# failed_seed: 20 1196 136 F 1198 98
+# failed_seed: 20 1196 80 F 1230 231
+# failed_seed: 20 1196 144 F 1289 26
+# failed_seed: 20 1196 113 F 1297 189
+# failed_seed: 20 1196 80 F 1327 144
+# failed_seed: 20 1196 80 F 1328 117
+# failed_seed: 20 1196 149 F 1360 205
+# failed_seed: 20 1196 80 F 1365 93
+# failed_seed: 20 1196 74 F 1456 116
+# failed_seed: 20 1198 91 F 1230 279
+# failed_seed: 20 1198 130 F 1289 50
+# failed_seed: 20 1198 98 F 1297 213
+# failed_seed: 20 1198 98 F 1327 199
+# failed_seed: 20 1198 130 F 1360 224
+# failed_seed: 20 1198 91 F 1365 141
+# failed_seed: 20 1198 98 F 1456 178
+# failed_seed: 20 1210 183 F 1516 129
+# failed_seed: 20 1226 164 F 1296 164
+# failed_seed: 20 1230 294 F 1289 26
+# failed_seed: 20 1230 217 F 1297 145
+# failed_seed: 20 1230 217 F 1327 130
+# failed_seed: 20 1230 220 F 1328 106
+# failed_seed: 20 1230 225 F 1360 131
+# failed_seed: 20 1230 223 F 1365 85
+# failed_seed: 20 1230 231 F 1456 122
+# failed_seed: 20 1231 48 F 1318 69
+# failed_seed: 20 1260 142 F 1615 5
+# failed_seed: 20 1268 219 F 1514 8
+# failed_seed: 20 1268 147 F 1627 57
+# failed_seed: 20 1268 147 F 1747 49
+# failed_seed: 20 1270 211 F 1279 121
+# failed_seed: 20 1277 210 F 1402 62
+# failed_seed: 20 1277 296 F 1402 209
+# failed_seed: 20 1277 80 F 1694 154
+# failed_seed: 20 1288 95 F 1374 200
+# failed_seed: 20 1289 26 F 1297 221
+# failed_seed: 20 1289 26 F 1327 207
+# failed_seed: 20 1289 31 F 1328 185
+# failed_seed: 20 1289 31 F 1360 205
+# failed_seed: 20 1289 26 F 1365 156
+# failed_seed: 20 1289 26 F 1456 186
+# failed_seed: 20 1294 127 F 1786 128
+# failed_seed: 20 1297 136 F 1327 121
+# failed_seed: 20 1297 183 F 1328 142
+# failed_seed: 20 1297 132 F 1360 110
+# failed_seed: 20 1297 132 F 1365 65
+# failed_seed: 20 1297 170 F 1456 134
+# failed_seed: 20 1299 77 F 1776 189
+# failed_seed: 20 1301 114 F 1362 209
+# failed_seed: 20 1301 56 F 1500 183
+# failed_seed: 20 1302 104 F 1433 42
+# failed_seed: 20 1325 139 F 1621 4
+# failed_seed: 20 1327 133 F 1328 106
+# failed_seed: 20 1327 138 F 1360 131
+# failed_seed: 20 1327 136 F 1365 85
+# failed_seed: 20 1327 144 F 1456 122
+# failed_seed: 20 1328 111 F 1360 131
+# failed_seed: 20 1328 109 F 1365 85
+# failed_seed: 20 1328 117 F 1456 122
+# failed_seed: 20 1351 210 F 1859 0
+# failed_seed: 20 1351 92 F 1936 27
+# failed_seed: 20 1360 102 F 1365 57
+# failed_seed: 20 1360 205 F 1456 191
+# failed_seed: 20 1360 102 F 1722 64
+# failed_seed: 20 1360 102 F 1837 56
+# failed_seed: 20 1362 209 F 1500 240
+# failed_seed: 20 1365 93 F 1456 122
+# failed_seed: 20 1365 54 F 1722 61
+# failed_seed: 20 1365 54 F 1837 53
+# failed_seed: 20 1381 106 F 1661 206
+# failed_seed: 20 1382 53 F 1933 221
+# failed_seed: 20 1401 128 F 1710 227
+# failed_seed: 20 1402 62 F 1694 284
+# failed_seed: 20 1415 180 F 1724 31
+# failed_seed: 20 1441 91 F 1513 118
+# failed_seed: 20 1449 162 F 1451 130
+# failed_seed: 20 1469 147 F 1874 64
+# failed_seed: 20 1475 87 F 1594 15
+# failed_seed: 20 1514 8 F 1627 129
+# failed_seed: 20 1514 8 F 1747 121
+# failed_seed: 20 1536 0 F 1630 0
+# failed_seed: 20 1543 286 F 1543 369
+# failed_seed: 20 1544 0 F 1546 178
+# failed_seed: 20 1544 0 F 1547 162
+# failed_seed: 20 1544 24 F 1549 0
+# failed_seed: 20 1544 0 F 1550 153
+# failed_seed: 20 1544 15 F 1551 0
+# failed_seed: 20 1546 28 F 1547 12
+# failed_seed: 20 1546 202 F 1549 0
+# failed_seed: 20 1546 30 F 1550 4
+# failed_seed: 20 1546 193 F 1551 0
+# failed_seed: 20 1547 186 F 1549 0
+# failed_seed: 20 1547 14 F 1550 4
+# failed_seed: 20 1547 177 F 1551 0
+# failed_seed: 20 1548 49 F 1552 44
+# failed_seed: 20 1548 0 F 1554 49
+# failed_seed: 20 1548 6 F 1555 107
+# failed_seed: 20 1549 0 F 1550 177
+# failed_seed: 20 1549 0 F 1551 9
+# failed_seed: 20 1550 168 F 1551 0
+# failed_seed: 20 1552 44 F 1554 98
+# failed_seed: 20 1552 130 F 1555 232
+# failed_seed: 20 1554 55 F 1555 107
+# failed_seed: 20 1564 22 F 1847 145
+# failed_seed: 20 1578 0 F 1682 12
+# failed_seed: 20 1592 0 F 1595 8
+# failed_seed: 20 1620 0 F 1796 6
+# failed_seed: 20 1620 56 F 1937 36
+# failed_seed: 20 1624 108 F 1624 138
+# failed_seed: 20 1624 119 F 1624 149
+# failed_seed: 20 1624 120 F 1624 150
+# failed_seed: 20 1624 121 F 1624 151
+# failed_seed: 20 1624 122 F 1624 152
+# failed_seed: 20 1624 123 F 1624 153
+# failed_seed: 20 1624 124 F 1624 154
+# failed_seed: 20 1624 125 F 1624 155
+# failed_seed: 20 1624 126 F 1624 156
+# failed_seed: 20 1624 127 F 1624 157
+# failed_seed: 20 1624 128 F 1624 158
+# failed_seed: 20 1624 129 F 1624 159
+# failed_seed: 20 1624 130 F 1624 160
+# failed_seed: 20 1624 131 F 1624 161
+# failed_seed: 20 1624 132 F 1624 162
+# failed_seed: 20 1624 133 F 1624 163
+# failed_seed: 20 1624 124 F 1624 184
+# failed_seed: 20 1624 199 F 1624 259
+# failed_seed: 20 1624 201 F 1624 261
+# failed_seed: 20 1624 202 F 1624 262
+# failed_seed: 20 1624 203 F 1624 263
+# failed_seed: 20 1624 204 F 1624 264
+# failed_seed: 20 1624 205 F 1624 265
+# failed_seed: 20 1627 8 F 1747 0
+# failed_seed: 20 1640 92 F 1840 0
+# failed_seed: 20 1646 2 F 1862 3
+# failed_seed: 20 1649 5 F 1708 0
+# failed_seed: 20 1649 20 F 1736 0
+# failed_seed: 20 1649 13 F 1931 0
+# failed_seed: 20 1653 0 F 1828 74
+# failed_seed: 20 1653 0 F 1947 68
+# failed_seed: 20 1663 15 F 1893 42
+# failed_seed: 20 1664 41 F 1871 44
+# failed_seed: 20 1664 41 F 1892 44
+# failed_seed: 20 1668 62 F 1668 107
+# failed_seed: 20 1668 95 F 1668 140
+# failed_seed: 20 1668 96 F 1668 141
+# failed_seed: 20 1668 97 F 1668 142
+# failed_seed: 20 1668 98 F 1668 143
+# failed_seed: 20 1668 99 F 1668 144
+# failed_seed: 20 1668 100 F 1668 145
+# failed_seed: 20 1668 101 F 1668 146
+# failed_seed: 20 1668 102 F 1668 147
+# failed_seed: 20 1668 103 F 1668 148
+# failed_seed: 20 1668 104 F 1668 149
+# failed_seed: 20 1668 105 F 1668 150
+# failed_seed: 20 1668 106 F 1668 151
+# failed_seed: 20 1668 62 F 1668 152
+# failed_seed: 20 1681 23 F 1808 23
+# failed_seed: 20 1696 0 F 1781 23
+# failed_seed: 20 1705 0 F 1709 0
+# failed_seed: 20 1708 15 F 1736 0
+# failed_seed: 20 1708 8 F 1931 0
+# failed_seed: 20 1722 20 F 1837 12
+# failed_seed: 20 1734 47 F 1814 54
+# failed_seed: 20 1736 0 F 1931 7
+# failed_seed: 20 1745 6 F 1764 7
+# failed_seed: 20 1745 6 F 1767 6
+# failed_seed: 20 1745 25 F 1882 15
+# failed_seed: 20 1745 6 F 1896 0
+# failed_seed: 20 1764 7 F 1767 6
+# failed_seed: 20 1764 48 F 1882 37
+# failed_seed: 20 1764 7 F 1896 0
+# failed_seed: 20 1767 25 F 1882 15
+# failed_seed: 20 1767 6 F 1896 0
+# failed_seed: 20 1782 39 F 1827 0
+# failed_seed: 20 1784 7 F 1799 0
+# failed_seed: 20 1787 62 F 1810 55
+# failed_seed: 20 1788 0 F 1850 9
+# failed_seed: 20 1796 62 F 1937 36
+# failed_seed: 20 1802 3 F 1877 0
+# failed_seed: 20 1820 16 F 1909 16
+# failed_seed: 20 1828 6 F 1947 0
+# failed_seed: 20 1851 54 F 1879 9
+# failed_seed: 20 1851 33 F 1950 58
+# failed_seed: 20 1859 15 F 1936 162
+# failed_seed: 20 1868 41 F 1948 25
+# failed_seed: 20 1871 0 F 1892 0
+# failed_seed: 20 1879 81 F 1950 151
+# failed_seed: 20 1882 0 F 1896 3
+# failed_seed: 20 1910 0 F 1926 25
+# failed_seed: 20 1912 46 F 1913 46
+# failed_seed: 20 1939 0 F 1940 10
+# failed_seed: 20 1941 0 F 1942 31
+# Fields: s. len, s. seqnum, s. start, strand, q. len, q. seqnum, q. start, score, editdist, % identity, seedlen, s. seedstart, q. seedstart
+# failed_seed: 20 95 0 P 1624 174
+# failed_seed: 20 95 0 P 1624 234
+# failed_seed: 20 218 90 P 296 21
+# failed_seed: 20 252 91 P 285 18
+# failed_seed: 20 284 0 P 476 79
+# failed_seed: 20 299 0 P 883 28
+# failed_seed: 20 859 207 P 1214 178
+# failed_seed: 20 859 208 P 1214 183
+# failed_seed: 20 859 208 P 1214 187
+# failed_seed: 20 859 208 P 1214 191
+# failed_seed: 20 859 208 P 1214 195
+# TIME seedextend-greedy-20-600-80-5-64 overall 0.091930
+# space peak in megabytes: 2.30 (in 1046 events)
+# mmap space peak in megabytes: 0.52
+# combined space peak in megabytes: 2.82
diff --git a/testdata/see-ext-at1MB-Atinsert100-evalue-bitscore-cigar-seqlength.matches b/testdata/see-ext-at1MB-Atinsert100-evalue-bitscore-cigar-seqlength.matches
new file mode 100644
index 0000000..457ba24
--- /dev/null
+++ b/testdata/see-ext-at1MB-Atinsert100-evalue-bitscore-cigar-seqlength.matches
@@ -0,0 +1,11 @@
+# Options: -ii at1MB -qii Atinsert.fna -l 100 -outfmt bitscore evalue s.seqlen q.seqlen cigar -minidentity 80 -history 60
+# Fields: s. len, s. seqnum, s. start, strand, q. len, q. seqnum, q. start, score, editdist, % identity, bit score, evalue, s. seqlen, q. seqlen, cigar
+201 0 74 F 201 0 74 300 34 83.08 171.5 4e-44 275 275 201M
+134 2 232 F 134 6 161 193 25 81.34 102.8 6e-23 719 797 134M
+743 3 3 F 743 3 3 1048 146 80.35 525.2 4e-150 746 746 743M
+291 3 3 F 291 5 41 408 58 80.07 202.4 6e-53 746 800 176M1D1M1I113M
+291 5 41 F 291 3 3 408 58 80.07 202.4 6e-53 800 746 176M1I1M1D113M
+134 6 161 F 134 2 232 193 25 81.34 102.8 5e-23 797 719 134M
+134 6 161 F 134 16 316 190 26 80.60 97.7 2e-21 797 865 134M
+369 7 2 F 369 7 2 528 70 81.03 274.5 6e-75 371 371 369M
+134 16 316 F 134 6 161 190 26 80.60 97.7 2e-21 865 797 134M
diff --git a/testdata/see-ext-at1MB-Atinsert100-evalue-bitscore-cigarX-seqlength.matches b/testdata/see-ext-at1MB-Atinsert100-evalue-bitscore-cigarX-seqlength.matches
new file mode 100644
index 0000000..a422376
--- /dev/null
+++ b/testdata/see-ext-at1MB-Atinsert100-evalue-bitscore-cigarX-seqlength.matches
@@ -0,0 +1,12 @@
+# Options: -ii at1MB -qii Atinsert.fna -l 100 -outfmt bitscore evalue s.seqlen q.seqlen cigarX -minidentity 80 -history 60
+# Fields: s. len, s. seqnum, s. start, strand, q. len, q. seqnum, q. start, score, editdist, % identity, bit score, evalue, s. seqlen, q. seqlen, cigarX
+201 0 74 F 201 0 74 300 34 83.08 171.5 4e-44 275 275 2=1X3=1X1=2X4=1X14=1X1=4X5=1X2=1X6=1X10=1X10=1X12=1X2=1X3=1X14=1X8=1X7=1X4=1X5=1X2=1X2=1X5=1X1=1X2=1X6=1X4=1X2=2X9=2X21=
+134 2 232 F 134 6 161 193 25 81.34 102.8 6e-23 719 797 10=2X7=1X6=1X9=2X2=1X7=1X12=2X2=1X16=2X2=1X8=1X2=1X2=1X3=1X5=2X1=1X1=1X2=2X9=1X3=
+743 3 3 F 743 3 3 1048 146 80.35 525.2 4e-150 746 746 2=1X1=1X7=1X2=1X8=1X1=1X1=4X12=1X24=1X1=1X3=1X2=3X3=1X2=1X1=1X2=2X5=1X8=2X1=1X2=1X1=1X9=1X7=1X3=1X8=1X1=1X3=1X22=1X6=1X9=2X2=1X7=1X12=2X2=1X17=1X2=1X8=1X2=1X2=1X3=1X5=2X1=1X4=2X9=1X3=2X4=2X1=2X1=3X1=1X7=1X20=1X5=2X6=2X5=1X2=1X2=1X12=4X1=1X1=2X7=1X1=2X5=1X7=1X2=1X25=1X2=1X3=2X6=1X4=1X2=1X1=1X5=2X1=1X1=3X1=1X1=1X14=1X2=1X3=1X2=1X6=1X2=1X4=1X3=3X5=2X1=1X3=1X2=1X12=1X5=1X4=2X4=2X5=1X1=1X9=1X5=1X11=1X20=2X14=1X7=1X2=1X9=1X6=1X10=1X2=1X3=1X [...]
+291 3 3 F 291 5 41 408 58 80.07 202.4 6e-53 746 800 2=1X1=1X7=1X2=1X8=1X1=1X1=4X12=1X24=1X1=1X3=1X2=3X3=1X2=1X1=1X2=2X5=1X8=2X1=1X2=1X1=1X9=1X7=1X3=1X8=1X1=1X3=1X22=1D1=1I5=1X9=2X2=1X7=1X12=2X2=1X16=2X2=1X8=1X2=1X2=1X3=1X5=2X1=1X1=1X2=2X9=1X3=
+291 5 41 F 291 3 3 408 58 80.07 202.4 6e-53 800 746 2=1X1=1X7=1X2=1X8=1X1=1X1=4X12=1X24=1X1=1X3=1X2=3X3=1X2=1X1=1X2=2X5=1X8=2X1=1X2=1X1=1X9=1X7=1X3=1X8=1X1=1X3=1X22=1I1=1D5=1X9=2X2=1X7=1X12=2X2=1X16=2X2=1X8=1X2=1X2=1X3=1X5=2X1=1X1=1X2=2X9=1X3=
+134 6 161 F 134 2 232 193 25 81.34 102.8 5e-23 797 719 10=2X7=1X6=1X9=2X2=1X7=1X12=2X2=1X16=2X2=1X8=1X2=1X2=1X3=1X5=2X1=1X1=1X2=2X9=1X3=
+134 6 161 F 134 16 316 190 26 80.60 97.7 2e-21 797 865 10=2X7=1X6=1X9=2X2=1X7=1X12=2X2=1X16=2X2=1X2=1X5=1X2=1X2=1X3=1X5=2X1=1X1=1X2=2X9=1X3=
+369 7 2 F 369 7 2 528 70 81.03 274.5 6e-75 371 371 2=1X5=1X8=1X3=1X5=1X2=2X4=1X1=1X2=1X1=1X7=1X2=1X8=1X1=1X1=4X12=1X24=1X1=1X3=1X2=3X6=1X1=1X2=2X5=1X8=2X1=1X2=1X1=1X9=1X7=1X3=1X8=1X1=1X3=1X18=1X1=5X1=4X1=2X6=2X2=1X7=1X12=1X20=1X5=2X6=1X8=1X11=2X2=1X12=1X8=1X23=1X5=
+134 16 316 F 134 6 161 190 26 80.60 97.7 2e-21 865 797 10=2X7=1X6=1X9=2X2=1X7=1X12=2X2=1X16=2X2=1X2=1X5=1X2=1X2=1X3=1X5=2X1=1X1=1X2=2X9=1X3=
+# Fields: s. len, s. seqnum, s. start, strand, q. len, q. seqnum, q. start, score, editdist, % identity, bit score, evalue, s. seqlen, q. seqlen, cigarX
diff --git a/testdata/see-ext-at1MB-U8-200-al-from-dtrace.matches b/testdata/see-ext-at1MB-U8-200-al-from-dtrace.matches
new file mode 100644
index 0000000..3b99960
--- /dev/null
+++ b/testdata/see-ext-at1MB-U8-200-al-from-dtrace.matches
@@ -0,0 +1,47 @@
+# Options: -ii at1MB -qii U89959_genomic.fas -outfmt trace=20 -l 200 -seedlength 13 -minidentity 80 -history 60
+# Fields: s. len, s. seqnum, s. start, strand, q. len, q. seqnum, q. start, score, editdist, % identity
+333 1265 0 F 330 0 72423 612 17 94.87
+Sbjct  0      ccttagangg-tgggaaattgcatgagtttggcacatcccttnttctnncggatttngga  58
+              ||||||| || |||||||| |||||||| ||||||||||||| ||||  ||||||| |||
+Query  72423  ccttagaaggatgggaaat-gcatgagtgtggcacatcccttcttctctcggattt-gga  72480
+
+Sbjct  59     tcnnagtatgggaagccctgtctcagcctnngcttccagcntctcctccttccacatcnt  118
+               |  ||||||||||||| ||||||||||   ||||||||| ||||||||||||||||| |
+Query  72481  cca-agtatgggaagcc-tgtctcagccacggcttccagcctctcctccttccacatcat  72538
+
+Sbjct  119    taaaactccaaccttggaagattttaggagaatgagagcgacacgctctgtgcttctttt  178
+              ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  72539  taaaactccaaccttggaagattttaggagaatgagagcgacacgctctgtgcttctttt  72598
+
+Sbjct  179    ccttatgatccagctcttccacgcacaaatgaactatgaaacatatataaagcgcacaca  238
+              ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  72599  ccttatgatccagctcttccacgcacaaatgaactatgaaacatatataaagcgcacaca  72658
+
+Sbjct  239    tatatttatgcatatcaagcttttggtgattatggtattgatagagtcaaattaagctcg  298
+              ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  72659  tatatttatgcatatcaagcttttggtgattatggtattgatagagtcaaattaagctcg  72718
+
+Sbjct  299    gtgactatggtattaataagagtactatttcctt  332
+              ||||||||||||||||||||||||||||||||||
+Query  72719  gtgactatggtattaataagagtactatttcctt  72752
+
+222 1361 148 F 222 0 105629 435 3 98.65
+Sbjct  148     gatggttacttcaagatcaggngaggaacgaacgaatgtggcattgaacagagtnttgta  207
+               ||||||||||||||||||||| |||||||||||||||||||||||||||||||| |||||
+Query  105629  gatggttacttcaagatcaggagaggaacgaacgaatgtggcattgaacagagtgttgta  105688
+
+Sbjct  208     gctggtttaccttcagngaagaacgtatttaaaggtattaccacttcagatgatcttctg  267
+               |||||||||||||||| |||||||||||||||||||||||||||||||||||||||||||
+Query  105689  gctggtttaccttcagagaagaacgtatttaaaggtattaccacttcagatgatcttctg  105748
+
+Sbjct  268     gtttcctcagtctaaacaagacgatgtgtccctacttctgtaatatatcatttgcaactg  327
+               ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Query  105749  gtttcctcagtctaaacaagacgatgtgtccctacttctgtaatatatcatttgcaactg  105808
+
+Sbjct  328     tgttgtaagtttaatataccattgaaagaatcaccttcaatc  369
+               ||||||||||||||||||||||||||||||||||||||||||
+Query  105809  tgttgtaagtttaatataccattgaaagaatcaccttcaatc  105850
+
+# space peak in megabytes: 0.31 (in 802 events)
+# mmap space peak in megabytes: 0.55
+# combined space peak in megabytes: 0.86
diff --git a/testdata/see-ext-at1MB-maxmat250.matches b/testdata/see-ext-at1MB-maxmat250.matches
new file mode 100644
index 0000000..a2d0c46
--- /dev/null
+++ b/testdata/see-ext-at1MB-maxmat250.matches
@@ -0,0 +1,94 @@
+# Options: -ii at1MB -l 250 -maxmat
+# Fields: s. len, s. seqnum, s. start, strand, q. seqnum, q. start
+     316         2         6  F        16        90
+     275         3       181  F         6       182
+     273         4        17  F        47         1
+     517        64         1  F        65         1
+     402        78       364  F      1488       147
+     388        79       237  F      1495       181
+     291       221        86  F       266        86
+     392       229         1  F       270         1
+     283       309        99  F       804       174
+     282       335        27  F      1059       234
+     312       355       170  F       499        61
+     294       355       188  F       589        87
+     261       380       141  F       451       174
+     263       380       141  F       630       154
+     261       380       141  F       736       250
+     263       380       141  F       902       161
+     252       380       141  F      1100       181
+     263       380       141  F      1151       194
+     263       380       141  F      1230       251
+     267       409       197  F       456        52
+     293       432       122  F       492        84
+     301       432       122  F       825       184
+     276       432       122  F      1469       179
+     303       449       121  F       868       262
+     263       451       172  F       630       152
+     348       451        87  F       736       163
+     348       451        87  F       902        74
+     277       451       149  F      1100       156
+     348       451        87  F      1151       107
+     294       451       141  F      1230       218
+     266       452       150  F       882       151
+     259       473       133  F       766       170
+     326       474       215  F       543       155
+     265       474       276  F       658       338
+     266       474       275  F       713       175
+     321       474       215  F       912       163
+     305       474       236  F      1297       171
+     298       480       158  F       926       101
+     316       489       110  F      1339       126
+     300       492        77  F       825       177
+     286       492        74  F      1469       169
+     294       499        79  F       589        87
+     279       505        99  F       633       123
+     279       536       202  F       567       120
+     280       536       201  F      1082       147
+     265       543       216  F       658       338
+     266       543       215  F       713       175
+     267       543       136  F       761        20
+     274       543       129  F       826       155
+     326       543       150  F       912       158
+     305       543       176  F      1297       171
+     260       546       190  F       890       128
+     279       567       120  F      1082       148
+     253       580       105  F       762       163
+     263       630       152  F       736       248
+     265       630       152  F       902       159
+     254       630       152  F      1100       179
+     265       630       152  F      1151       192
+     265       630       152  F      1230       249
+     265       658       338  F       713       176
+     260       658       338  F       912       224
+     265       658       338  F      1297       211
+     261       713       175  F       912       223
+     266       713       175  F      1297       210
+     367       736       144  F       902        55
+     277       736       225  F      1100       156
+     369       736       142  F      1151        86
+     294       736       217  F      1230       218
+     320       761        20  F       826       162
+     253       761        34  F       912       158
+     284       819       182  F       975       189
+     337       819       172  F      1500       155
+     283       825       177  F      1469       172
+     253       826       176  F       912       158
+     286       884       136  F       890       150
+     294       892       131  F      1300       191
+     277       902       136  F      1100       156
+     369       902        55  F      1151        88
+     296       902       128  F      1230       218
+     300       912       184  F      1297       171
+     284       975       189  F      1500       165
+     255       985        44  F      1426       108
+     277      1100       156  F      1151       169
+     277      1100       156  F      1230       226
+     296      1151       161  F      1230       218
+     303      1210       184  F      1516       130
+     252      1802         4  F      1877         1
+# Fields: s. len, s. seqnum, s. start, strand, q. seqnum, q. start
+# TIME seedextend-greedy-30-250-80-5-64 overall 0.036999
+# space peak in megabytes: 1.52 (in 1049 events)
+# mmap space peak in megabytes: 0.52
+# combined space peak in megabytes: 2.04
diff --git a/testdata/see-ext-at1MB-mincoverage200-tabsep.matches b/testdata/see-ext-at1MB-mincoverage200-tabsep.matches
new file mode 100644
index 0000000..ceb0f10
--- /dev/null
+++ b/testdata/see-ext-at1MB-mincoverage200-tabsep.matches
@@ -0,0 +1,750 @@
+# Options: -ii at1MB -mincoverage 200 -outfmt tabsep custom s.seqnum s.start s.len strand q.seqnum q.start q.len editdist -minidentity 80 -history 60
+# Fields: s. seqnum, s. start, s. len, strand, q. seqnum, q. start, q. len, editdist
+1	0	597	F	4	7	592	97
+1	294	323	F	16	0	312	23
+1	9	538	F	47	0	523	94
+2	72	577	F	3	0	606	89
+2	34	626	F	5	0	656	73
+2	176	484	F	6	104	513	89
+2	0	706	F	16	84	749	62
+2	0	660	F	39	0	687	94
+3	0	668	F	5	38	660	63
+3	14	639	F	6	14	631	69
+3	0	242	F	7	38	242	20
+3	0	655	F	16	156	650	86
+3	0	653	F	39	72	643	31
+4	16	613	F	47	0	571	54
+5	52	704	F	6	14	700	116
+5	0	280	F	7	0	280	19
+5	0	742	F	16	118	746	55
+5	0	756	F	39	34	750	77
+6	104	599	F	16	260	601	95
+6	14	783	F	39	86	788	57
+7	0	280	F	39	34	280	24
+11	135	467	F	29	138	449	50
+16	84	767	F	39	0	766	95
+18	0	397	F	46	194	417	60
+22	368	293	F	29	0	282	26
+33	105	321	F	38	672	320	7
+34	157	458	F	1317	0	442	37
+35	0	230	F	42	0	229	9
+35	140	399	F	72	145	402	28
+37	0	390	F	1823	0	401	27
+40	152	303	F	747	65	303	7
+61	134	381	F	64	137	380	16
+61	134	430	F	65	137	438	27
+64	0	517	F	65	0	517	0
+78	86	461	F	80	149	459	40
+78	560	201	F	80	587	204	25
+78	223	542	F	1488	8	540	29
+79	56	568	F	1495	0	568	38
+80	284	324	F	1488	8	322	57
+80	587	204	F	1488	343	201	25
+120	88	244	F	1624	0	244	4
+131	0	319	F	158	0	319	2
+197	112	366	F	385	0	359	21
+197	126	335	F	665	0	336	26
+204	13	200	F	273	0	200	0
+221	0	397	F	266	0	397	2
+223	0	417	F	271	2	414	10
+229	0	418	F	270	0	419	3
+242	0	378	F	294	0	379	7
+244	0	309	F	272	0	309	7
+248	0	268	F	292	0	269	15
+306	0	341	F	1349	124	341	16
+309	7	374	F	804	88	368	13
+310	0	367	F	1363	6	366	32
+313	34	270	F	1782	2	265	21
+317	66	302	F	1128	0	297	21
+318	13	383	F	905	59	387	23
+319	2	341	F	626	202	336	24
+322	70	344	F	793	68	346	42
+335	0	308	F	1059	206	309	1
+336	36	405	F	1703	0	419	30
+355	111	370	F	499	1	371	8
+355	97	384	F	589	0	380	13
+356	33	397	F	496	1	390	22
+358	77	291	F	1678	0	292	15
+369	21	360	F	1409	0	360	20
+372	9	342	F	1348	71	339	7
+376	0	316	F	1277	1	334	28
+376	132	295	F	1402	3	295	14
+376	0	439	F	1694	81	450	62
+379	0	379	F	1785	85	398	48
+380	1	400	F	451	26	408	14
+380	0	282	F	454	37	285	31
+380	0	317	F	474	97	326	32
+380	107	296	F	481	0	304	14
+380	14	369	F	483	0	380	16
+380	0	317	F	543	42	321	34
+380	72	331	F	579	0	330	20
+380	22	381	F	605	0	383	19
+380	123	280	F	610	0	283	23
+380	0	403	F	630	10	406	29
+380	79	324	F	641	0	324	12
+380	110	258	F	642	0	257	13
+380	0	317	F	658	167	318	33
+380	0	401	F	736	106	404	7
+380	8	309	F	798	0	316	41
+380	0	317	F	826	66	323	28
+380	3	400	F	846	215	403	10
+380	0	403	F	902	16	407	9
+380	0	317	F	912	47	324	33
+380	0	296	F	988	39	300	28
+380	0	296	F	1049	51	298	20
+380	2	401	F	1100	35	408	23
+380	2	401	F	1143	2	407	29
+380	0	403	F	1151	49	407	8
+380	55	348	F	1196	9	356	25
+380	88	315	F	1198	2	326	24
+380	0	403	F	1230	104	409	13
+380	162	239	F	1289	3	239	8
+380	0	399	F	1360	9	406	25
+380	35	368	F	1365	2	373	16
+385	14	328	F	665	1	335	24
+386	165	331	F	1201	5	344	33
+404	165	475	F	819	35	466	44
+404	186	418	F	975	52	420	26
+404	286	354	F	1301	0	358	24
+404	213	420	F	1362	2	444	55
+404	187	453	F	1500	29	455	34
+406	8	434	F	542	0	430	31
+406	40	402	F	1056	0	413	34
+409	143	320	F	456	0	318	2
+412	83	430	F	1525	0	436	37
+413	38	211	F	1250	74	205	30
+422	168	352	F	1126	0	367	27
+422	1	383	F	1794	64	394	49
+426	27	434	F	795	0	429	47
+428	7	317	F	1441	36	313	17
+428	7	317	F	1513	64	312	14
+432	37	377	F	492	0	376	5
+432	9	409	F	652	0	410	28
+432	58	335	F	742	0	333	20
+432	0	422	F	825	61	423	18
+432	25	386	F	862	0	373	28
+432	0	397	F	1469	51	403	24
+432	23	392	F	1874	0	392	17
+440	2	339	F	765	95	335	17
+442	56	374	F	1510	8	375	31
+447	0	366	F	746	16	355	39
+449	0	423	F	868	143	421	14
+451	0	315	F	454	14	308	39
+451	0	350	F	474	74	349	37
+451	140	294	F	481	0	302	13
+451	41	375	F	483	0	380	15
+451	105	329	F	579	0	328	19
+451	51	383	F	605	0	381	18
+451	156	278	F	610	0	281	23
+451	49	385	F	630	31	383	24
+451	112	322	F	641	0	322	11
+451	143	258	F	642	0	257	13
+451	0	350	F	658	146	339	39
+451	0	434	F	736	83	427	12
+451	1	349	F	826	42	347	38
+451	0	434	F	846	189	427	15
+451	10	424	F	902	1	420	19
+451	0	350	F	912	25	346	41
+451	1	328	F	988	17	322	34
+451	0	329	F	1049	28	321	26
+451	0	434	F	1100	12	429	33
+451	47	387	F	1143	18	389	22
+451	0	434	F	1151	26	428	13
+451	77	357	F	1196	0	363	28
+451	121	313	F	1198	2	324	23
+451	0	434	F	1230	80	431	20
+451	195	239	F	1289	3	239	8
+451	15	417	F	1360	1	414	35
+451	62	372	F	1365	0	373	15
+452	0	415	F	882	3	413	26
+454	5	317	F	474	64	320	28
+454	52	270	F	483	0	278	35
+454	5	317	F	543	13	311	42
+454	7	315	F	658	138	308	34
+454	4	318	F	736	73	318	32
+454	5	317	F	826	31	319	34
+454	4	318	F	846	180	317	38
+454	23	299	F	902	1	301	33
+454	7	315	F	912	17	315	33
+454	4	318	F	1049	18	318	35
+454	3	319	F	1151	16	319	32
+454	2	320	F	1230	67	325	40
+454	62	265	F	1722	0	264	14
+454	70	424	F	1837	0	432	21
+455	0	255	F	1260	213	254	7
+460	27	453	F	1351	0	452	28
+460	238	231	F	1859	0	231	3
+460	93	376	F	1936	2	376	6
+461	0	253	F	1850	260	259	10
+470	80	391	F	1013	0	395	24
+473	3	388	F	766	41	387	13
+474	112	297	F	483	0	303	31
+474	48	492	F	543	0	480	23
+474	121	302	F	605	0	297	37
+474	0	540	F	658	80	522	29
+474	86	454	F	713	0	440	36
+474	0	423	F	736	18	408	46
+474	176	341	F	761	0	341	4
+474	105	435	F	798	0	433	19
+474	35	480	F	826	2	479	15
+474	0	423	F	846	114	418	52
+474	118	422	F	849	0	417	27
+474	82	341	F	902	0	337	33
+474	47	488	F	912	0	483	13
+474	189	351	F	935	37	360	26
+474	189	350	F	935	37	364	37
+474	57	407	F	988	0	407	50
+474	45	419	F	1049	0	417	38
+474	156	384	F	1076	1	383	28
+474	65	358	F	1100	3	354	49
+474	87	453	F	1120	0	444	33
+474	46	377	F	1151	0	370	34
+474	1	422	F	1230	2	425	56
+474	40	500	F	1297	0	475	41
+474	68	447	F	1327	0	436	36
+474	88	335	F	1360	1	332	43
+474	132	291	F	1365	0	289	31
+477	0	363	F	1052	64	360	16
+480	46	409	F	926	0	398	21
+481	0	284	F	483	103	277	13
+481	0	304	F	579	34	296	20
+481	0	304	F	605	85	298	16
+481	19	285	F	610	0	283	27
+481	0	304	F	630	120	296	16
+481	1	303	F	641	31	293	21
+481	0	302	F	736	216	294	13
+481	0	304	F	846	322	296	15
+481	0	304	F	902	127	296	13
+481	0	304	F	1100	147	296	15
+481	0	304	F	1143	113	296	16
+481	0	304	F	1151	160	296	13
+481	0	304	F	1196	63	302	24
+481	0	304	F	1198	25	303	26
+481	0	304	F	1230	217	296	13
+481	71	231	F	1289	11	231	7
+481	0	300	F	1360	123	292	20
+481	0	304	F	1365	78	297	17
+483	67	313	F	579	0	310	21
+483	10	370	F	605	0	363	24
+483	2	378	F	630	26	370	28
+483	74	306	F	641	0	304	13
+483	106	259	F	642	0	257	14
+483	0	314	F	658	180	305	38
+483	0	380	F	736	121	371	14
+483	0	314	F	826	80	309	37
+483	0	380	F	846	227	371	16
+483	0	380	F	902	30	373	16
+483	0	314	F	912	62	309	38
+483	0	292	F	1049	65	284	25
+483	0	380	F	1100	48	375	21
+483	2	378	F	1143	15	374	29
+483	0	380	F	1151	63	373	14
+483	49	331	F	1196	9	336	23
+483	83	297	F	1198	2	306	22
+483	0	380	F	1230	119	374	18
+483	158	222	F	1289	3	221	7
+483	0	380	F	1360	26	373	27
+483	31	349	F	1365	6	349	16
+489	0	425	F	1339	12	429	16
+492	0	376	F	652	29	377	22
+492	21	334	F	742	0	333	20
+492	0	376	F	825	98	378	7
+492	0	373	F	862	12	361	24
+492	0	359	F	1469	92	362	15
+492	0	376	F	1874	14	377	14
+497	81	361	F	1544	2	358	5
+497	0	268	F	1546	100	264	16
+497	0	268	F	1547	84	264	18
+497	105	337	F	1549	0	336	17
+497	0	268	F	1550	75	264	22
+497	95	260	F	1551	0	258	6
+499	1	371	F	589	12	368	15
+505	0	377	F	633	21	380	10
+506	0	308	F	988	123	303	16
+506	0	342	F	1049	133	337	11
+506	0	320	F	1189	14	317	29
+506	2	318	F	1328	75	315	18
+522	41	409	F	1134	0	410	32
+530	60	360	F	544	0	360	12
+530	14	406	F	1343	30	398	23
+536	87	393	F	567	0	398	25
+536	109	369	F	965	0	368	13
+536	124	356	F	1034	0	362	17
+536	58	422	F	1082	12	414	27
+538	0	295	F	667	102	288	22
+539	94	328	F	1080	0	328	18
+541	0	309	F	1006	81	314	20
+542	30	400	F	1056	0	413	25
+543	3	477	F	658	126	476	21
+543	44	436	F	713	11	429	24
+543	0	363	F	736	60	366	41
+543	117	340	F	761	0	341	4
+543	51	429	F	798	3	430	22
+543	0	455	F	826	15	466	23
+543	0	363	F	846	166	366	45
+543	61	419	F	849	1	416	29
+543	29	334	F	902	0	337	41
+543	0	475	F	912	1	482	20
+543	130	350	F	935	37	360	26
+543	130	349	F	935	37	364	37
+543	0	404	F	1049	3	414	47
+543	97	383	F	1076	1	383	27
+543	33	447	F	1120	0	444	31
+543	0	363	F	1151	2	368	42
+543	13	350	F	1230	70	357	46
+543	0	480	F	1297	7	468	31
+543	16	439	F	1327	0	436	31
+543	76	287	F	1365	2	287	30
+544	0	360	F	1343	70	358	15
+545	1	321	F	1453	139	317	16
+546	67	382	F	884	0	373	21
+546	59	390	F	890	2	385	19
+549	0	436	F	661	68	448	37
+558	0	376	F	1254	134	368	19
+560	33	339	F	1069	1	338	21
+567	23	373	F	965	0	368	30
+567	38	364	F	1034	0	366	24
+567	2	396	F	1082	39	387	26
+568	10	402	F	1793	2	406	23
+574	20	394	F	1369	0	398	33
+579	0	330	F	605	50	333	26
+579	50	292	F	610	0	295	27
+579	0	348	F	630	84	350	25
+579	7	323	F	641	0	324	28
+579	0	328	F	736	181	329	19
+579	0	330	F	846	287	331	21
+579	0	330	F	902	92	331	19
+579	0	330	F	1100	112	331	20
+579	0	348	F	1143	75	352	23
+579	0	330	F	1151	125	331	19
+579	4	366	F	1196	30	375	31
+579	15	315	F	1198	2	326	34
+579	0	330	F	1230	179	334	19
+579	100	228	F	1289	13	229	5
+579	0	326	F	1360	88	327	26
+579	1	347	F	1365	43	350	23
+580	0	357	F	762	57	358	19
+584	135	345	F	1381	0	339	35
+584	48	432	F	1661	0	449	58
+588	0	330	F	775	103	330	20
+593	0	328	F	607	58	323	12
+601	0	355	F	609	68	356	25
+605	120	263	F	610	18	265	19
+605	0	383	F	630	33	383	30
+605	57	326	F	641	0	324	19
+605	92	256	F	642	3	254	16
+605	0	297	F	658	188	297	37
+605	0	381	F	736	130	380	16
+605	0	383	F	846	236	382	18
+605	0	383	F	902	39	384	18
+605	0	383	F	1100	57	386	29
+605	0	383	F	1143	22	387	30
+605	0	383	F	1151	73	383	16
+605	35	348	F	1196	11	354	31
+605	68	315	F	1198	5	323	29
+605	0	383	F	1230	128	385	20
+605	142	239	F	1289	3	239	10
+605	0	379	F	1360	34	381	32
+605	13	370	F	1365	2	373	26
+610	2	293	F	630	138	290	23
+610	0	281	F	736	232	278	23
+610	0	283	F	846	338	280	24
+610	0	283	F	902	143	280	23
+610	0	283	F	1100	163	280	25
+610	0	295	F	1143	129	292	26
+610	0	283	F	1151	176	280	23
+610	0	295	F	1196	82	295	31
+610	2	281	F	1198	45	283	33
+610	0	283	F	1230	233	280	23
+610	0	295	F	1365	95	292	26
+624	179	327	F	1619	0	354	45
+630	91	325	F	641	0	324	20
+630	123	258	F	642	0	257	15
+630	2	412	F	736	96	414	32
+630	1	415	F	846	202	416	34
+630	1	415	F	902	4	419	34
+630	0	416	F	1100	23	420	39
+630	9	425	F	1143	1	426	41
+630	1	415	F	1151	38	418	32
+630	68	366	F	1196	11	372	29
+630	110	306	F	1198	14	314	21
+630	0	416	F	1230	92	421	35
+630	175	239	F	1289	3	239	8
+630	3	409	F	1360	1	414	45
+630	46	388	F	1365	2	391	29
+634	4	376	F	976	13	377	16
+641	33	256	F	642	0	257	18
+641	0	322	F	736	188	322	11
+641	0	324	F	846	294	324	13
+641	0	324	F	902	99	324	11
+641	0	324	F	1100	119	324	16
+641	0	324	F	1143	83	326	17
+641	0	324	F	1151	132	324	11
+641	0	324	F	1196	34	331	29
+641	10	314	F	1198	2	326	32
+641	0	324	F	1230	186	327	13
+641	0	320	F	1360	95	320	21
+641	0	324	F	1365	50	325	17
+642	0	257	F	736	219	258	13
+642	0	257	F	846	325	258	15
+642	0	257	F	902	130	258	13
+642	6	251	F	1100	157	251	11
+642	0	257	F	1143	116	258	15
+642	0	257	F	1151	163	258	13
+642	0	257	F	1230	220	258	13
+642	6	251	F	1360	133	251	13
+642	0	254	F	1365	81	256	12
+647	2	282	F	1388	62	279	17
+652	50	335	F	742	3	330	28
+652	10	400	F	825	79	401	30
+652	28	375	F	862	11	362	35
+652	0	389	F	1469	62	392	36
+652	15	392	F	1874	0	392	33
+654	1	412	F	807	63	407	36
+654	1	440	F	866	142	432	51
+654	0	461	F	1212	120	461	41
+658	161	441	F	713	2	438	34
+658	60	425	F	736	0	426	56
+658	241	338	F	761	0	341	5
+658	174	428	F	798	0	433	22
+658	110	467	F	826	0	481	27
+658	20	465	F	846	47	485	71
+658	186	416	F	849	1	416	23
+658	156	329	F	902	3	334	37
+658	126	471	F	912	4	479	18
+658	254	348	F	935	37	360	28
+658	254	347	F	935	37	364	39
+658	131	395	F	988	0	407	52
+658	131	395	F	1049	12	405	41
+658	222	380	F	1076	1	383	30
+658	140	345	F	1100	6	351	51
+658	158	444	F	1120	0	444	34
+658	127	358	F	1151	7	363	39
+658	88	397	F	1230	11	416	63
+658	116	486	F	1297	0	475	36
+658	140	437	F	1327	0	436	32
+658	177	349	F	1328	2	357	49
+658	159	326	F	1360	1	332	47
+658	199	286	F	1365	0	289	32
+662	80	376	F	1193	8	379	42
+671	15	384	F	1334	9	393	28
+674	12	337	F	1281	47	339	19
+676	49	326	F	1165	1	324	28
+678	95	291	F	1204	14	292	13
+679	62	271	F	759	0	273	14
+691	0	415	F	814	49	433	42
+695	59	421	F	938	0	427	29
+701	5	432	F	715	7	422	41
+713	79	338	F	761	1	340	7
+713	17	423	F	798	1	432	34
+713	0	415	F	826	53	428	38
+713	27	413	F	849	0	417	40
+713	0	435	F	912	37	446	33
+713	91	349	F	935	37	360	30
+713	91	348	F	935	37	364	41
+713	58	382	F	1076	0	384	27
+713	3	437	F	1120	2	442	30
+713	3	437	F	1297	38	437	35
+713	1	414	F	1327	16	420	37
+719	114	322	F	1199	0	327	17
+720	0	328	F	1398	19	330	31
+726	157	249	F	1393	2	252	11
+735	195	350	F	1479	14	347	41
+736	114	312	F	798	0	316	37
+736	46	380	F	826	0	389	39
+736	0	510	F	846	91	525	40
+736	96	414	F	902	5	416	10
+736	59	367	F	912	0	371	37
+736	68	337	F	988	0	339	34
+736	58	347	F	1049	0	349	25
+736	75	435	F	1100	4	437	30
+736	104	406	F	1143	0	407	29
+736	58	452	F	1151	0	454	10
+736	164	346	F	1196	9	354	24
+736	197	313	F	1198	2	324	23
+736	25	485	F	1230	11	500	29
+736	271	239	F	1289	3	239	8
+736	52	374	F	1297	0	358	57
+736	97	411	F	1360	1	414	26
+736	141	369	F	1365	0	373	13
+738	129	370	F	739	9	370	21
+738	115	384	F	1384	0	391	26
+739	1	378	F	1384	5	386	43
+742	0	333	F	825	119	336	21
+742	7	326	F	862	36	319	29
+742	0	333	F	1469	114	336	24
+742	0	333	F	1874	34	334	25
+755	0	311	F	1412	113	312	22
+761	0	341	F	798	69	341	7
+761	0	339	F	826	143	338	1
+761	0	341	F	849	57	337	19
+761	0	341	F	912	124	341	4
+761	13	328	F	935	37	337	26
+761	12	329	F	1076	31	330	15
+761	0	339	F	1120	83	336	11
+761	0	341	F	1297	114	338	7
+761	1	338	F	1327	99	337	8
+779	2	375	F	783	4	369	62
+782	52	324	F	1270	4	327	18
+798	0	408	F	826	74	407	20
+798	13	420	F	849	0	417	38
+798	0	316	F	902	24	313	40
+798	0	428	F	912	55	428	20
+798	83	350	F	935	38	359	30
+798	83	349	F	935	38	363	41
+798	2	355	F	988	49	358	49
+798	0	357	F	1049	58	359	43
+798	49	384	F	1076	1	383	34
+798	1	432	F	1120	16	428	36
+798	0	316	F	1151	57	313	38
+798	3	430	F	1297	52	423	29
+798	3	405	F	1327	34	402	31
+807	2	468	F	866	82	464	44
+807	2	468	F	1212	57	476	40
+815	0	445	F	1699	0	462	43
+819	14	451	F	975	5	467	36
+819	145	361	F	1301	0	363	17
+819	76	418	F	1362	3	443	45
+819	35	484	F	1500	8	494	32
+825	86	387	F	862	0	373	30
+825	27	432	F	1469	13	441	36
+825	86	391	F	1874	2	390	19
+826	0	389	F	846	150	382	45
+826	86	395	F	849	0	392	24
+826	49	340	F	902	0	337	32
+826	14	467	F	912	0	463	19
+826	124	357	F	935	0	372	40
+826	24	397	F	988	0	397	49
+826	12	409	F	1049	0	407	38
+826	123	358	F	1076	1	358	27
+826	32	357	F	1100	3	354	50
+826	55	426	F	1120	0	419	34
+826	13	376	F	1151	0	370	34
+826	0	389	F	1230	38	389	47
+826	7	474	F	1297	0	450	41
+826	35	446	F	1327	0	436	36
+833	87	335	F	1146	0	344	34
+846	199	419	F	902	1	422	16
+846	165	367	F	912	0	371	41
+846	174	337	F	988	0	339	36
+846	174	337	F	1049	12	337	27
+846	184	434	F	1100	6	437	33
+846	222	396	F	1143	9	400	26
+846	164	454	F	1151	0	456	17
+846	270	348	F	1196	9	356	26
+846	303	315	F	1198	2	326	25
+846	115	503	F	1230	2	511	45
+846	377	239	F	1289	3	239	9
+846	204	410	F	1360	1	414	31
+846	247	371	F	1365	0	375	15
+848	138	447	F	1658	0	476	62
+849	0	412	F	912	68	415	27
+849	95	322	F	935	66	331	29
+849	95	321	F	935	66	335	40
+849	95	322	F	1076	61	323	17
+849	0	417	F	1120	27	417	43
+849	0	417	F	1297	62	413	36
+849	0	392	F	1327	43	393	40
+862	0	359	F	1469	79	375	30
+862	0	372	F	1874	2	385	36
+866	17	557	F	1212	0	561	78
+867	233	405	F	1602	0	417	38
+871	111	281	F	1401	50	283	22
+871	110	268	F	1710	150	275	27
+877	174	309	F	1268	193	310	5
+877	193	306	F	1514	2	305	16
+877	174	307	F	1627	103	311	13
+877	174	302	F	1747	95	310	20
+881	0	367	F	1248	100	364	8
+884	0	421	F	890	8	427	26
+885	68	245	F	1021	3	247	13
+885	2	311	F	1051	182	310	27
+892	0	424	F	1300	64	420	24
+902	0	337	F	912	33	338	36
+902	1	315	F	988	24	315	34
+902	0	316	F	1049	36	313	24
+902	0	423	F	1100	20	423	33
+902	14	409	F	1143	0	409	30
+902	0	423	F	1151	34	422	9
+902	75	348	F	1196	9	356	24
+902	108	315	F	1198	2	326	23
+902	3	420	F	1230	91	422	19
+902	182	239	F	1289	3	239	8
+902	15	404	F	1360	8	407	25
+902	54	369	F	1365	2	373	13
+905	0	438	F	1693	83	451	53
+912	137	346	F	935	37	355	26
+912	9	403	F	988	0	407	54
+912	1	411	F	1049	3	414	43
+912	105	378	F	1076	1	378	26
+912	19	352	F	1100	6	351	51
+912	38	445	F	1120	0	439	31
+912	0	371	F	1151	1	369	38
+912	0	371	F	1230	51	376	48
+912	0	483	F	1297	6	464	35
+912	19	444	F	1327	0	436	34
+915	65	379	F	1070	0	378	25
+935	48	349	F	1076	44	340	30
+935	37	360	F	1120	96	348	32
+935	37	360	F	1297	127	348	27
+935	37	335	F	1327	111	325	30
+950	12	365	F	1041	0	366	23
+960	0	325	F	970	99	339	25
+965	14	354	F	1034	0	360	17
+965	0	368	F	1082	58	366	18
+974	0	281	F	1310	150	277	21
+975	152	320	F	1301	0	322	15
+975	76	396	F	1362	0	417	42
+975	53	419	F	1500	29	419	19
+977	26	332	F	1605	73	332	27
+985	0	353	F	1426	64	353	13
+988	0	426	F	1049	12	424	28
+988	0	339	F	1151	11	338	37
+988	110	315	F	1189	0	318	24
+988	49	377	F	1328	1	377	33
+989	64	342	F	1350	12	336	22
+994	124	273	F	1190	1	282	23
+1021	0	250	F	1051	242	250	8
+1034	0	362	F	1082	71	355	19
+1039	0	274	F	1435	147	274	6
+1049	20	329	F	1100	4	332	39
+1049	0	349	F	1151	0	349	27
+1049	119	329	F	1189	0	331	21
+1049	0	349	F	1230	50	356	34
+1049	59	389	F	1328	0	390	26
+1049	42	307	F	1360	1	311	32
+1049	87	262	F	1365	2	266	19
+1055	0	329	F	1542	146	328	13
+1064	63	348	F	1669	2	351	24
+1068	0	304	F	1517	96	303	16
+1076	0	384	F	1120	63	381	29
+1076	1	383	F	1297	96	379	30
+1076	1	358	F	1327	80	356	31
+1097	23	409	F	1806	1	417	35
+1100	33	410	F	1143	1	408	31
+1100	1	442	F	1151	16	440	31
+1100	91	352	F	1196	7	358	29
+1100	128	315	F	1198	2	326	26
+1100	3	440	F	1230	71	442	30
+1100	202	239	F	1289	3	239	9
+1100	26	413	F	1360	1	414	41
+1100	72	371	F	1365	3	372	22
+1120	0	444	F	1297	36	439	37
+1120	0	419	F	1327	17	419	41
+1121	56	382	F	1512	11	384	23
+1125	1	361	F	1507	63	359	53
+1132	92	297	F	1140	0	299	13
+1143	0	409	F	1151	47	409	28
+1143	47	380	F	1196	0	383	32
+1143	93	316	F	1198	2	326	26
+1143	2	407	F	1230	106	407	24
+1143	168	239	F	1289	3	239	10
+1143	0	405	F	1360	10	405	43
+1143	35	392	F	1365	2	391	23
+1147	0	303	F	1331	108	308	25
+1151	108	348	F	1196	9	356	24
+1151	141	315	F	1198	2	326	23
+1151	0	456	F	1230	50	463	25
+1151	215	239	F	1289	3	239	8
+1151	40	412	F	1360	1	414	28
+1151	85	371	F	1365	0	375	13
+1170	0	287	F	1347	84	283	26
+1189	0	331	F	1328	61	329	29
+1196	43	322	F	1198	2	326	35
+1196	0	365	F	1230	152	361	27
+1196	1	360	F	1360	61	354	39
+1196	11	372	F	1365	25	368	32
+1198	2	326	F	1230	196	317	23
+1198	84	242	F	1289	3	239	17
+1198	2	322	F	1360	104	311	30
+1198	2	326	F	1365	59	316	25
+1210	50	436	F	1516	1	431	27
+1226	5	443	F	1296	26	421	44
+1230	272	239	F	1289	3	239	8
+1230	74	353	F	1297	21	337	58
+1230	95	414	F	1360	1	414	31
+1230	141	372	F	1365	2	373	17
+1231	2	323	F	1318	24	322	7
+1268	211	291	F	1514	0	290	16
+1268	97	404	F	1627	3	411	23
+1268	101	395	F	1747	0	405	29
+1277	1	330	F	1694	81	326	19
+1288	0	321	F	1374	102	323	36
+1289	3	237	F	1360	178	237	10
+1289	3	239	F	1365	134	239	10
+1294	10	451	F	1786	0	463	58
+1297	21	429	F	1327	0	436	37
+1301	0	351	F	1362	83	363	34
+1301	0	363	F	1500	127	362	18
+1302	67	343	F	1433	4	343	20
+1325	136	348	F	1621	0	350	8
+1351	210	231	F	1859	0	231	3
+1351	67	374	F	1936	2	376	18
+1360	47	368	F	1365	0	371	23
+1362	1	445	F	1500	52	425	46
+1401	1	321	F	1710	106	323	41
+1415	148	274	F	1724	0	273	16
+1441	10	356	F	1513	37	356	16
+1449	38	390	F	1451	4	392	28
+1469	77	377	F	1874	0	372	22
+1475	72	371	F	1594	0	376	43
+1514	0	289	F	1627	121	293	22
+1536	0	332	F	1630	0	332	3
+1544	24	336	F	1549	0	336	18
+1544	15	258	F	1551	0	258	5
+1546	15	349	F	1547	0	348	6
+1546	28	336	F	1550	1	338	11
+1547	12	336	F	1550	1	338	13
+1548	7	309	F	1552	0	314	16
+1548	0	299	F	1554	49	300	2
+1548	0	319	F	1555	101	318	8
+1549	0	249	F	1551	9	249	16
+1552	0	297	F	1554	56	293	16
+1552	0	314	F	1555	108	308	22
+1554	0	349	F	1555	52	347	16
+1592	0	374	F	1595	8	361	28
+1620	0	477	F	1796	6	478	41
+1620	20	446	F	1937	0	439	41
+1627	8	403	F	1747	0	408	19
+1640	92	333	F	1840	0	313	39
+1646	0	265	F	1862	2	264	11
+1649	5	367	F	1708	0	373	35
+1649	20	305	F	1736	0	302	26
+1649	13	309	F	1931	0	309	18
+1653	0	397	F	1828	74	396	41
+1653	0	351	F	1947	68	363	43
+1663	0	415	F	1893	27	414	43
+1664	0	360	F	1892	3	362	25
+1681	0	309	F	1808	0	308	19
+1696	0	438	F	1781	23	439	43
+1705	0	265	F	1709	0	264	12
+1708	15	302	F	1736	0	295	29
+1722	8	256	F	1837	0	256	12
+1745	0	433	F	1764	1	427	28
+1745	0	458	F	1767	0	455	28
+1745	9	450	F	1882	0	443	28
+1745	6	388	F	1896	0	398	32
+1764	1	427	F	1767	0	432	21
+1764	10	416	F	1882	0	415	16
+1764	7	403	F	1896	0	417	40
+1767	9	446	F	1882	0	440	20
+1767	6	405	F	1896	0	413	36
+1782	39	224	F	1827	0	224	11
+1784	7	379	F	1799	0	381	26
+1787	9	391	F	1810	2	389	25
+1788	0	494	F	1850	9	499	37
+1796	26	449	F	1937	0	439	43
+1802	3	458	F	1877	0	471	34
+1820	0	339	F	1909	0	340	20
+1828	6	435	F	1947	0	446	49
+1851	45	267	F	1879	0	268	17
+1859	0	231	F	1936	147	231	5
+1871	0	299	F	1892	0	296	20
+1882	0	399	F	1896	3	414	36
+1910	0	336	F	1926	25	328	25
+1912	0	362	F	1913	0	358	24
+1939	0	330	F	1940	10	330	23
+218	71	350	P	296	0	354	9
+252	74	327	P	285	41	327	14
+284	0	285	P	476	2	291	13
+299	0	414	P	883	20	420	35
diff --git a/testdata/see-ext-at1MB-u8-failed_seed-evalue.matches b/testdata/see-ext-at1MB-u8-failed_seed-evalue.matches
new file mode 100644
index 0000000..2a163a9
--- /dev/null
+++ b/testdata/see-ext-at1MB-u8-failed_seed-evalue.matches
@@ -0,0 +1,21 @@
+# Options: -ii at1MB -outfmt seed failed_seed evalue -l 100 -seedlength 20 -qii U89959_genomic -minidentity 80 -history 60
+# Fields: s. len, s. seqnum, s. start, strand, q. len, q. seqnum, q. start, score, editdist, % identity, seed. len, seed. s, seed. q, evalue
+# failed_seed: 20 859 7 F 0 72595
+135 859 84 F 135 0 72651 258 4 97.04 20 88 72655 7e-54
+167 859 84 F 155 0 72651 271 17 89.44 20 220 72775 3e-50
+# failed_seed: 20 859 208 F 0 77815
+# failed_seed: 20 859 208 F 0 77819
+# failed_seed: 20 1214 205 F 0 77815
+333 1265 0 F 330 0 72423 612 17 94.87 20 118 72538 1e-136
+222 1361 148 F 222 0 105629 435 3 98.65 20 148 105629 2e-100
+# failed_seed: 20 31 11 P 0 101872
+# failed_seed: 20 31 10 P 0 101874
+# failed_seed: 20 31 10 P 0 101877
+# failed_seed: 20 31 10 P 0 101880
+# failed_seed: 20 31 10 P 0 101883
+# failed_seed: 20 859 207 P 0 29121
+# failed_seed: 20 859 208 P 0 29126
+# failed_seed: 20 859 208 P 0 29130
+# failed_seed: 20 859 208 P 0 29134
+# failed_seed: 20 859 208 P 0 29138
+# failed_seed: 20 1214 204 P 0 29121
diff --git a/testdata/see-ext-at1MB-u8-maxmat30.matches b/testdata/see-ext-at1MB-u8-maxmat30.matches
new file mode 100644
index 0000000..f24eb46
--- /dev/null
+++ b/testdata/see-ext-at1MB-u8-maxmat30.matches
@@ -0,0 +1,27 @@
+# Options: -ii at1MB -l 30 -qii U89959_genomic.fas -maxmat
+# Fields: s. len, s. seqnum, s. start, strand, q. seqnum, q. start
+      31       859       221  F         0     72776
+      98       859        89  F         0     72656
+      30      1214       212  F         0     77816
+      32      1214       210  F         0     77816
+      34      1214       208  F         0     77816
+      38      1214       206  F         0     77816
+      34      1214       206  F         0     77818
+      32      1214       206  F         0     77820
+      30      1214       206  F         0     77822
+     215      1265       119  F         0     72539
+      42      1361        70  F         0    105387
+      32      1361       171  F         0    105652
+     145      1361       226  F         0    105707
+# Fields: s. len, s. seqnum, s. start, strand, q. seqnum, q. start
+      30      1214       212  P         0     29123
+      32      1214       210  P         0     29123
+      34      1214       208  P         0     29123
+      37      1214       205  P         0     29122
+      34      1214       206  P         0     29125
+      32      1214       206  P         0     29127
+      30      1214       206  P         0     29129
+# TIME seedextend-greedy-30-30-80-5-64 overall 0.012799
+# space peak in megabytes: 0.42 (in 1065 events)
+# mmap space peak in megabytes: 0.55
+# combined space peak in megabytes: 0.97
diff --git a/testdata/see-ext-at1MB-u8.matches b/testdata/see-ext-at1MB-u8.matches
new file mode 100644
index 0000000..4bf3009
--- /dev/null
+++ b/testdata/see-ext-at1MB-u8.matches
@@ -0,0 +1,1397 @@
+113 1361 1 F 108 0 105325 158 21 81.00
+135 859 84 F 135 0 72651 258 4 97.04
+167 859 84 F 155 0 72651 271 17 89.44
+20 1069 314 F 24 0 99169 32 4 81.82
+20 1476 406 F 24 0 75888 32 4 81.82
+20 229 359 F 24 0 19005 32 4 81.82
+20 270 359 F 24 0 19005 32 4 81.82
+20 560 347 F 24 0 99169 32 4 81.82
+20 626 550 P 24 0 70494 32 4 81.82
+21 1001 380 F 23 0 18863 32 4 81.82
+21 1052 340 F 23 0 90862 32 4 81.82
+21 1056 352 F 25 0 22755 34 4 82.61
+21 1067 182 P 23 0 105473 35 3 86.36
+21 1091 369 F 23 0 43199 32 4 81.82
+21 1094 124 F 24 0 49454 33 4 82.22
+21 1136 355 P 23 0 82276 32 4 81.82
+21 121 56 P 23 0 4894 35 3 86.36
+21 1223 437 F 23 0 15346 32 4 81.82
+21 1233 283 P 23 0 85102 32 4 81.82
+21 124 129 F 24 0 43668 33 4 82.22
+21 133 232 F 23 0 24209 32 4 81.82
+21 1428 461 P 23 0 80428 35 3 86.36
+21 1432 448 F 23 0 25665 35 3 86.36
+21 144 66 F 23 0 40027 32 4 81.82
+21 1449 353 P 25 0 53959 34 4 82.61
+21 1451 321 P 25 0 53959 34 4 82.61
+21 146 4 F 23 0 42287 35 3 86.36
+21 1469 168 F 23 0 25462 32 4 81.82
+21 1485 322 P 23 0 63970 32 4 81.82
+21 1493 283 P 24 0 12635 33 4 82.22
+21 1504 154 F 23 0 34889 32 4 81.82
+21 1504 293 P 23 0 74827 32 4 81.82
+21 1507 294 F 23 0 76248 32 4 81.82
+21 1507 351 F 23 0 36786 32 4 81.82
+21 1542 425 P 23 0 74801 32 4 81.82
+21 1646 0 F 23 0 6919 35 3 86.36
+21 1646 1 F 23 0 6923 38 2 90.91
+21 1646 1 F 23 0 74553 32 4 81.82
+21 1708 16 F 23 0 67601 32 4 81.82
+21 1806 10 P 23 0 86833 32 4 81.82
+21 1837 297 F 23 0 58323 32 4 81.82
+21 1860 194 F 24 0 2657 33 4 82.22
+21 1903 17 P 24 0 6006 33 4 82.22
+21 1930 63 P 24 0 18439 33 4 82.22
+21 229 363 F 23 0 90196 32 4 81.82
+21 231 18 P 23 0 5138 38 2 90.91
+21 270 363 F 23 0 90196 32 4 81.82
+21 304 0 F 24 0 26708 36 3 86.67
+21 32 665 F 23 0 74790 32 4 81.82
+21 336 343 F 23 0 97115 32 4 81.82
+21 349 380 F 24 0 14970 33 4 82.22
+21 349 380 P 23 0 95979 32 4 81.82
+21 351 285 P 23 0 90206 35 3 86.36
+21 362 351 P 24 0 76884 33 4 82.22
+21 363 172 F 23 0 90735 32 4 81.82
+21 38 909 P 23 0 98410 32 4 81.82
+21 404 593 F 24 0 48578 33 4 82.22
+21 406 381 F 25 0 22755 34 4 82.61
+21 423 215 F 23 0 104261 32 4 81.82
+21 423 263 F 23 0 14757 32 4 81.82
+21 429 431 F 24 0 33562 33 4 82.22
+21 435 196 P 24 0 4761 33 4 82.22
+21 435 198 P 23 0 4836 35 3 86.36
+21 450 390 F 24 0 14027 33 4 82.22
+21 453 352 P 23 0 40362 32 4 81.82
+21 454 368 F 23 0 58323 32 4 81.82
+21 471 182 F 24 0 32511 33 4 82.22
+21 475 295 P 23 0 35105 32 4 81.82
+21 477 279 F 23 0 90862 32 4 81.82
+21 542 369 F 25 0 22755 34 4 82.61
+21 566 392 F 23 0 48814 32 4 81.82
+21 574 224 F 23 0 73246 32 4 81.82
+21 640 234 F 23 0 51645 32 4 81.82
+21 682 263 F 23 0 87674 38 2 90.91
+21 684 143 F 23 0 76131 32 4 81.82
+21 719 287 F 24 0 13646 33 4 82.22
+21 730 410 P 24 0 102596 33 4 82.22
+21 744 239 P 24 0 9743 33 4 82.22
+21 753 258 P 23 0 32704 32 4 81.82
+21 754 380 F 23 0 82785 32 4 81.82
+21 778 283 P 23 0 19024 35 3 86.36
+21 779 59 F 23 0 58194 32 4 81.82
+21 783 204 F 23 0 73354 35 3 86.36
+21 833 411 F 23 0 17260 32 4 81.82
+21 838 287 P 23 0 9855 35 3 86.36
+21 853 545 P 23 0 51769 32 4 81.82
+21 870 412 P 23 0 30789 32 4 81.82
+21 870 412 P 23 0 84827 35 3 86.36
+21 891 324 P 25 0 97200 34 4 82.61
+21 899 290 P 23 0 38671 32 4 81.82
+21 903 333 P 24 0 103831 33 4 82.22
+21 914 315 F 23 0 47550 32 4 81.82
+21 930 209 F 23 0 71291 32 4 81.82
+21 936 282 F 25 0 26701 34 4 82.61
+21 936 287 F 23 0 15242 35 3 86.36
+21 936 298 F 23 0 84267 32 4 81.82
+22 1000 304 P 22 0 51898 32 4 81.82
+22 1007 110 F 23 0 83366 33 4 82.22
+22 1012 289 P 23 0 86575 33 4 82.22
+22 103 74 P 23 0 5065 42 1 95.56
+22 1038 279 F 22 0 30823 32 4 81.82
+22 107 74 P 23 0 5065 39 2 91.11
+22 1073 226 P 22 0 17052 35 3 86.36
+22 1080 155 P 23 0 92288 33 4 82.22
+22 1080 227 P 23 0 92192 33 4 82.22
+22 1080 26 F 24 0 49812 37 3 86.96
+22 1094 298 P 23 0 90729 33 4 82.22
+22 1097 328 F 25 0 6012 35 4 82.98
+22 1125 306 P 22 0 51778 35 3 86.36
+22 1144 348 F 22 0 52822 35 3 86.36
+22 1146 301 P 23 0 17930 36 3 86.67
+22 1160 81 F 22 0 73236 32 4 81.82
+22 1195 123 P 23 0 73623 36 3 86.67
+22 1195 123 P 24 0 74197 34 4 82.61
+22 1205 221 P 22 0 93474 32 4 81.82
+22 1207 281 P 24 0 73817 34 4 82.61
+22 1233 195 P 23 0 46154 33 4 82.22
+22 1265 228 P 22 0 64077 32 4 81.82
+22 1272 285 P 22 0 17271 32 4 81.82
+22 1279 352 P 24 0 76650 34 4 82.61
+22 1307 185 P 23 0 83527 39 2 91.11
+22 1310 381 P 22 0 38154 35 3 86.36
+22 1316 253 P 22 0 5376 35 3 86.36
+22 1325 114 P 22 0 45913 32 4 81.82
+22 1325 273 F 22 0 5072 35 3 86.36
+22 1325 273 F 22 0 5075 35 3 86.36
+22 1338 42 F 23 0 98420 33 4 82.22
+22 1339 405 F 23 0 97844 33 4 82.22
+22 1346 312 F 22 0 33764 35 3 86.36
+22 1369 80 F 23 0 4924 36 3 86.67
+22 1374 386 F 24 0 60836 37 3 86.96
+22 1376 217 F 24 0 7108 34 4 82.61
+22 1377 126 P 24 0 81585 34 4 82.61
+22 1381 419 P 22 0 80286 32 4 81.82
+22 1382 357 F 23 0 20283 33 4 82.22
+22 1399 65 F 24 0 45769 34 4 82.61
+22 1408 60 P 22 0 52837 32 4 81.82
+22 1425 170 P 24 0 51894 34 4 82.61
+22 143 4 F 22 0 97986 32 4 81.82
+22 1432 145 P 22 0 90839 32 4 81.82
+22 1432 145 P 22 0 90884 32 4 81.82
+22 144 2 P 23 0 49482 33 4 82.22
+22 1446 258 F 24 0 35506 34 4 82.61
+22 1451 321 F 22 0 26708 38 2 90.91
+22 146 155 F 23 0 44540 33 4 82.22
+22 1461 141 P 22 0 5969 32 4 81.82
+22 1504 227 F 23 0 1100 33 4 82.22
+22 1507 366 P 22 0 51778 35 3 86.36
+22 1524 236 P 22 0 17270 44 0 100.00
+22 1529 541 P 23 0 5083 33 4 82.22
+22 1531 368 P 23 0 96754 33 4 82.22
+22 1578 0 F 22 0 74376 32 4 81.82
+22 159 126 F 22 0 5084 32 4 81.82
+22 159 177 F 23 0 38542 36 3 86.67
+22 16 798 P 23 0 28234 33 4 82.22
+22 1614 34 P 22 0 91048 32 4 81.82
+22 1621 138 F 22 0 5072 32 4 81.82
+22 1621 138 F 22 0 5075 32 4 81.82
+22 1622 292 P 24 0 74686 34 4 82.61
+22 1654 26 P 22 0 80300 32 4 81.82
+22 1657 2 F 22 0 6102 32 4 81.82
+22 166 117 P 23 0 34848 33 4 82.22
+22 1674 272 P 23 0 99856 33 4 82.22
+22 1682 12 F 22 0 74376 32 4 81.82
+22 1695 69 P 22 0 61637 35 3 86.36
+22 1721 221 F 22 0 37065 35 3 86.36
+22 1765 50 F 24 0 95973 40 2 91.30
+22 1866 237 F 22 0 48530 35 3 86.36
+22 1868 10 F 22 0 53970 35 3 86.36
+22 19 464 P 22 0 28561 35 3 86.36
+22 19 514 F 23 0 39111 33 4 82.22
+22 191 232 F 22 0 5963 35 3 86.36
+22 218 371 P 22 0 64950 32 4 81.82
+22 227 167 P 25 0 97114 38 3 87.23
+22 237 108 F 23 0 5080 33 4 82.22
+22 258 281 F 24 0 64295 34 4 82.61
+22 26 568 F 24 0 88313 34 4 82.61
+22 261 106 F 24 0 21365 34 4 82.61
+22 262 280 P 23 0 16247 33 4 82.22
+22 270 362 F 22 0 78229 32 4 81.82
+22 286 33 F 25 0 103023 35 4 82.98
+22 29 293 F 22 0 104117 32 4 81.82
+22 296 28 F 22 0 64950 32 4 81.82
+22 304 99 P 23 0 36675 33 4 82.22
+22 314 179 F 23 0 15673 33 4 82.22
+22 321 133 P 22 0 100506 32 4 81.82
+22 333 312 F 24 0 78730 34 4 82.61
+22 344 290 F 23 0 68454 33 4 82.22
+22 347 105 F 22 0 2209 32 4 81.82
+22 35 26 F 25 0 89031 35 4 82.98
+22 356 247 P 23 0 84835 36 3 86.67
+22 357 65 F 23 0 6642 33 4 82.22
+22 36 29 P 22 0 15971 32 4 81.82
+22 38 918 F 23 0 63354 33 4 82.22
+22 384 368 P 25 0 69908 35 4 82.98
+22 393 247 F 23 0 1008 33 4 82.22
+22 393 314 F 22 0 55634 32 4 81.82
+22 41 503 F 23 0 1673 33 4 82.22
+22 418 402 P 23 0 35508 33 4 82.22
+22 42 26 F 25 0 89031 35 4 82.98
+22 420 23 F 22 0 85514 32 4 81.82
+22 429 305 P 22 0 5966 32 4 81.82
+22 429 309 F 23 0 5067 36 3 86.67
+22 429 309 F 23 0 5073 36 3 86.67
+22 429 309 F 25 0 6636 38 3 87.23
+22 436 197 P 22 0 50389 32 4 81.82
+22 455 260 F 22 0 95972 32 4 81.82
+22 459 124 F 24 0 66694 37 3 86.96
+22 462 362 P 22 0 74142 32 4 81.82
+22 475 262 P 22 0 27116 32 4 81.82
+22 475 304 P 23 0 53918 33 4 82.22
+22 479 405 F 24 0 65224 34 4 82.61
+22 488 163 P 23 0 71287 33 4 82.22
+22 489 389 F 23 0 97844 33 4 82.22
+22 496 208 P 23 0 84835 36 3 86.67
+22 5 178 P 23 0 28425 39 2 91.11
+22 501 369 F 23 0 18822 33 4 82.22
+22 514 346 F 22 0 1018 32 4 81.82
+22 517 466 F 23 0 89118 33 4 82.22
+22 52 327 P 22 0 105932 32 4 81.82
+22 539 248 P 23 0 92288 33 4 82.22
+22 539 351 P 23 0 79351 33 4 82.22
+22 546 361 P 25 0 74833 35 4 82.98
+22 563 204 F 23 0 58465 36 3 86.67
+22 571 306 P 24 0 5082 34 4 82.61
+22 571 311 F 24 0 5966 37 3 86.96
+22 573 357 F 23 0 4288 33 4 82.22
+22 576 70 F 23 0 71276 36 3 86.67
+22 604 334 P 22 0 42259 32 4 81.82
+22 609 396 P 22 0 82821 35 3 86.36
+22 614 180 F 24 0 26609 34 4 82.61
+22 622 217 P 22 0 93838 32 4 81.82
+22 623 435 F 22 0 5063 35 3 86.36
+22 629 385 P 23 0 103821 39 2 91.11
+22 640 306 P 23 0 50342 33 4 82.22
+22 679 314 P 22 0 26716 35 3 86.36
+22 682 234 P 23 0 73388 33 4 82.22
+22 734 170 P 23 0 105605 36 3 86.67
+22 749 363 P 23 0 302 33 4 82.22
+22 753 96 F 23 0 31162 33 4 82.22
+22 765 336 F 22 0 48380 32 4 81.82
+22 773 402 F 22 0 34199 32 4 81.82
+22 777 250 P 22 0 74385 35 3 86.36
+22 777 256 P 22 0 70572 32 4 81.82
+22 777 259 P 22 0 90202 32 4 81.82
+22 79 225 F 23 0 6640 36 3 86.67
+22 790 186 P 25 0 91094 35 4 82.98
+22 80 675 F 22 0 104124 32 4 81.82
+22 823 84 F 22 0 84566 32 4 81.82
+22 829 259 F 23 0 76609 36 3 86.67
+22 830 309 P 24 0 1587 37 3 86.96
+22 833 276 P 22 0 79605 32 4 81.82
+22 840 312 P 23 0 51912 36 3 86.67
+22 855 321 P 24 0 86831 37 3 86.96
+22 856 1 P 23 0 6007 33 4 82.22
+22 857 285 F 22 0 32717 32 4 81.82
+22 859 208 P 22 0 77815 44 0 100.00
+22 870 195 F 22 0 9162 32 4 81.82
+22 877 463 F 23 0 82559 33 4 82.22
+22 880 152 P 23 0 81782 33 4 82.22
+22 884 285 P 25 0 74833 35 4 82.98
+22 890 299 P 25 0 74833 35 4 82.98
+22 900 310 P 23 0 72771 36 3 86.67
+22 903 327 F 23 0 76375 33 4 82.22
+22 912 144 F 22 0 100173 32 4 81.82
+22 917 104 P 22 0 79435 32 4 81.82
+22 917 224 F 22 0 104505 32 4 81.82
+22 918 174 F 22 0 83163 32 4 81.82
+22 926 386 P 22 0 42274 32 4 81.82
+22 926 386 P 22 0 83378 32 4 81.82
+22 929 278 F 22 0 71810 32 4 81.82
+22 931 198 F 23 0 6007 33 4 82.22
+22 951 107 P 22 0 99021 35 3 86.36
+22 954 272 F 22 0 87731 32 4 81.82
+22 971 169 F 23 0 30783 36 3 86.67
+22 974 235 P 22 0 38154 35 3 86.36
+22 974 280 F 22 0 28864 32 4 81.82
+22 974 280 F 23 0 28864 33 4 82.22
+22 991 150 P 22 0 6918 38 2 90.91
+222 1361 148 F 222 0 105629 435 3 98.65
+23 1004 389 P 24 0 74824 35 4 82.98
+23 1045 358 P 25 0 29243 36 4 83.33
+23 1052 174 F 26 0 36167 37 4 83.67
+23 1055 293 F 23 0 44590 34 4 82.61
+23 1065 211 P 21 0 74194 32 4 81.82
+23 1065 211 P 21 0 74597 32 4 81.82
+23 1066 378 F 21 0 2840 32 4 81.82
+23 107 75 F 23 0 97119 34 4 82.61
+23 1094 353 P 23 0 51767 37 3 86.96
+23 1096 202 P 23 0 66169 34 4 82.61
+23 11 466 F 21 0 98549 32 4 81.82
+23 1109 295 P 23 0 9665 34 4 82.61
+23 1123 51 F 23 0 104867 34 4 82.61
+23 1145 96 F 21 0 16718 32 4 81.82
+23 115 243 P 21 0 64031 32 4 81.82
+23 1157 155 F 21 0 21377 32 4 81.82
+23 1169 199 F 23 0 96641 34 4 82.61
+23 119 134 P 21 0 5380 35 3 86.36
+23 1194 182 P 23 0 44315 37 3 86.96
+23 1195 154 P 26 0 19958 37 4 83.67
+23 1202 236 P 23 0 87886 34 4 82.61
+23 1204 110 F 21 0 89062 32 4 81.82
+23 1205 238 F 24 0 33629 41 2 91.49
+23 1207 143 P 23 0 37206 34 4 82.61
+23 1207 151 P 23 0 88123 34 4 82.61
+23 1207 271 P 22 0 76720 36 3 86.67
+23 1207 281 P 24 0 74396 35 4 82.98
+23 1214 204 F 23 0 17268 46 0 100.00
+23 1224 492 F 27 0 23587 35 5 80.00
+23 1233 189 P 23 0 103556 34 4 82.61
+23 124 32 P 23 0 51812 34 4 82.61
+23 124 34 F 23 0 7018 34 4 82.61
+23 1256 329 P 23 0 14405 40 2 91.30
+23 1264 290 P 22 0 5382 33 4 82.22
+23 1264 304 F 22 0 6196 33 4 82.22
+23 1273 363 P 23 0 76851 37 3 86.96
+23 1283 357 P 23 0 6918 34 4 82.61
+23 1288 171 F 24 0 55425 35 4 82.98
+23 1296 105 P 25 0 54035 36 4 83.33
+23 1301 232 F 23 0 28124 40 2 91.30
+23 1335 361 F 23 0 79365 37 3 86.96
+23 1343 148 P 21 0 81286 32 4 81.82
+23 1346 360 P 22 0 85371 33 4 82.22
+23 1347 304 F 23 0 93973 34 4 82.61
+23 1362 327 F 23 0 28124 40 2 91.30
+23 1372 253 P 24 0 90891 35 4 82.98
+23 1379 154 F 22 0 6937 33 4 82.22
+23 138 48 P 23 0 14762 37 3 86.96
+23 138 61 F 24 0 26701 35 4 82.98
+23 1381 309 P 23 0 94301 34 4 82.61
+23 1382 358 F 23 0 14053 34 4 82.61
+23 1385 301 P 22 0 76153 36 3 86.67
+23 1386 261 F 22 0 21652 33 4 82.22
+23 1386 263 P 24 0 51761 35 4 82.98
+23 1386 269 P 23 0 14517 34 4 82.61
+23 1397 153 F 22 0 35512 33 4 82.22
+23 1398 306 F 22 0 97119 33 4 82.22
+23 140 29 P 25 0 34846 36 4 83.33
+23 1417 294 P 24 0 32174 35 4 82.98
+23 142 397 F 22 0 81301 33 4 82.22
+23 1423 391 F 25 0 61602 36 4 83.33
+23 143 11 P 22 0 73958 33 4 82.22
+23 143 11 P 24 0 74538 35 4 82.98
+23 143 2 F 23 0 82811 37 3 86.96
+23 144 167 P 23 0 2326 34 4 82.61
+23 1451 372 P 27 0 5070 35 5 80.00
+23 1458 326 F 22 0 34907 39 2 91.11
+23 1459 158 P 21 0 83818 35 3 86.36
+23 146 52 P 25 0 15184 36 4 83.33
+23 146 8 F 23 0 44317 37 3 86.96
+23 1465 229 F 21 0 50620 35 3 86.36
+23 1480 315 P 22 0 90194 33 4 82.22
+23 1482 379 F 24 0 31305 41 2 91.49
+23 149 2 P 21 0 6020 32 4 81.82
+23 1495 515 P 27 0 91484 35 5 80.00
+23 1498 293 P 25 0 51818 36 4 83.33
+23 1500 358 F 23 0 28124 40 2 91.30
+23 1507 340 P 21 0 39069 32 4 81.82
+23 1527 297 F 23 0 84836 34 4 82.61
+23 1529 545 F 23 0 5966 34 4 82.61
+23 1534 433 F 22 0 106243 33 4 82.22
+23 1541 250 F 22 0 10533 33 4 82.22
+23 1544 186 F 21 0 6930 32 4 81.82
+23 1559 172 P 21 0 95984 32 4 81.82
+23 1559 172 P 22 0 95983 33 4 82.22
+23 156 60 P 22 0 40642 33 4 82.22
+23 157 8 F 23 0 21528 34 4 82.61
+23 159 54 F 22 0 91342 33 4 82.22
+23 1596 164 F 27 0 21535 38 4 84.00
+23 1596 166 P 22 0 90200 33 4 82.22
+23 1596 215 F 27 0 90830 35 5 80.00
+23 1596 215 F 27 0 90875 35 5 80.00
+23 1602 200 F 24 0 96383 38 3 87.23
+23 1618 52 F 21 0 83697 32 4 81.82
+23 1654 20 P 22 0 5084 33 4 82.22
+23 1682 13 P 25 0 41489 36 4 83.33
+23 1688 107 F 22 0 88710 33 4 82.22
+23 1690 372 F 22 0 26139 33 4 82.22
+23 1697 240 F 24 0 74380 38 3 87.23
+23 1701 306 F 22 0 21348 39 2 91.11
+23 1726 56 P 24 0 47995 35 4 82.98
+23 1763 370 F 22 0 17269 33 4 82.22
+23 1763 370 F 22 0 77829 33 4 82.22
+23 1763 370 P 22 0 77829 33 4 82.22
+23 1798 138 F 22 0 8894 33 4 82.22
+23 1801 71 P 22 0 93330 33 4 82.22
+23 1837 301 F 22 0 54792 33 4 82.22
+23 1846 115 F 21 0 26008 32 4 81.82
+23 1868 11 P 22 0 83374 36 3 86.67
+23 1888 1 P 26 0 5972 37 4 83.67
+23 1903 17 P 21 0 8901 32 4 81.82
+23 1903 8 P 21 0 5965 38 2 90.91
+23 1941 312 F 24 0 33629 35 4 82.98
+23 20 10 F 21 0 6641 32 4 81.82
+23 20 24 P 23 0 6007 34 4 82.61
+23 200 11 F 21 0 65136 32 4 81.82
+23 200 219 P 21 0 35512 32 4 81.82
+23 211 269 P 23 0 2645 34 4 82.61
+23 213 325 F 23 0 49699 34 4 82.61
+23 227 48 P 24 0 35522 35 4 82.98
+23 229 361 F 21 0 52832 32 4 81.82
+23 229 361 F 22 0 52832 33 4 82.22
+23 229 361 F 23 0 52832 34 4 82.61
+23 24 499 P 23 0 89120 34 4 82.61
+23 249 206 F 23 0 5067 40 2 91.30
+23 25 485 P 21 0 15762 32 4 81.82
+23 270 361 F 21 0 52832 32 4 81.82
+23 270 361 F 22 0 52832 33 4 82.22
+23 270 361 F 23 0 52832 34 4 82.61
+23 289 57 P 21 0 87265 32 4 81.82
+23 289 70 P 24 0 50256 35 4 82.98
+23 291 430 F 23 0 99067 34 4 82.61
+23 314 149 P 21 0 52225 32 4 81.82
+23 32 1 F 21 0 48475 32 4 81.82
+23 332 127 F 23 0 77414 34 4 82.61
+23 350 188 F 22 0 25288 36 3 86.67
+23 351 277 P 23 0 14516 34 4 82.61
+23 354 286 F 21 0 106302 32 4 81.82
+23 358 297 F 27 0 55532 35 5 80.00
+23 363 357 P 24 0 51779 35 4 82.98
+23 363 391 P 22 0 28855 33 4 82.22
+23 38 258 F 21 0 63992 32 4 81.82
+23 38 69 P 21 0 94557 32 4 81.82
+23 387 185 P 23 0 100407 34 4 82.61
+23 39 682 P 22 0 61639 33 4 82.22
+23 39 718 P 22 0 67657 33 4 82.22
+23 396 326 P 22 0 23913 33 4 82.22
+23 396 414 P 23 0 19630 34 4 82.61
+23 4 505 F 22 0 9433 33 4 82.22
+23 40 396 P 22 0 93039 33 4 82.22
+23 407 304 F 25 0 65429 36 4 83.33
+23 424 39 P 22 0 98992 33 4 82.22
+23 427 412 P 24 0 105278 35 4 82.98
+23 429 247 F 22 0 32105 36 3 86.67
+23 429 309 F 25 0 5079 36 4 83.33
+23 443 265 F 21 0 34905 32 4 81.82
+23 450 329 F 22 0 13625 33 4 82.22
+23 454 372 F 22 0 54792 33 4 82.22
+23 455 271 F 25 0 19973 36 4 83.33
+23 459 43 P 21 0 16183 32 4 81.82
+23 47 416 P 24 0 102193 35 4 82.98
+23 470 442 P 23 0 103561 34 4 82.61
+23 479 174 P 23 0 20718 34 4 82.61
+23 486 199 P 21 0 35157 32 4 81.82
+23 486 297 P 24 0 104060 35 4 82.98
+23 491 195 F 24 0 14761 38 3 87.23
+23 491 196 F 25 0 6604 39 3 87.50
+23 497 268 F 21 0 6930 32 4 81.82
+23 500 356 F 24 0 76651 35 4 82.98
+23 514 332 P 22 0 91412 33 4 82.22
+23 52 417 F 23 0 97332 34 4 82.61
+23 528 311 P 22 0 82557 36 3 86.67
+23 530 140 P 21 0 81286 32 4 81.82
+23 532 124 P 24 0 71992 35 4 82.98
+23 538 344 F 22 0 89110 33 4 82.22
+23 544 80 P 21 0 81286 32 4 81.82
+23 545 128 F 21 0 16219 32 4 81.82
+23 546 370 F 23 0 7018 34 4 82.61
+23 548 170 P 22 0 100803 33 4 82.22
+23 548 205 P 22 0 51817 33 4 82.22
+23 548 317 P 23 0 74352 34 4 82.61
+23 550 86 P 22 0 101993 33 4 82.22
+23 570 334 F 21 0 71499 32 4 81.82
+23 571 28 F 21 0 53731 35 3 86.36
+23 572 238 P 23 0 60879 34 4 82.61
+23 575 219 F 24 0 6926 35 4 82.98
+23 576 215 P 21 0 68463 35 3 86.36
+23 576 298 F 25 0 15273 36 4 83.33
+23 576 73 F 22 0 17057 36 3 86.67
+23 583 160 F 22 0 84827 36 3 86.67
+23 584 450 P 23 0 94301 34 4 82.61
+23 588 273 P 22 0 93219 33 4 82.22
+23 590 151 P 27 0 55618 35 5 80.00
+23 6 612 P 22 0 61639 33 4 82.22
+23 60 0 F 22 0 103150 36 3 86.67
+23 611 394 P 23 0 19433 37 3 86.96
+23 616 174 P 23 0 29313 34 4 82.61
+23 632 166 F 24 0 5962 44 1 95.74
+23 662 423 P 23 0 17267 34 4 82.61
+23 689 311 F 25 0 83356 36 4 83.33
+23 700 443 P 21 0 15522 32 4 81.82
+23 703 367 P 21 0 70572 32 4 81.82
+23 707 313 P 24 0 95631 35 4 82.98
+23 71 605 P 23 0 77554 34 4 82.61
+23 730 305 F 21 0 96824 35 3 86.36
+23 731 276 P 22 0 40383 33 4 82.22
+23 748 310 F 23 0 66078 34 4 82.61
+23 751 276 F 23 0 76288 34 4 82.61
+23 758 186 P 22 0 15674 33 4 82.22
+23 760 160 F 25 0 7315 36 4 83.33
+23 760 301 P 24 0 78158 35 4 82.98
+23 763 326 F 23 0 97667 34 4 82.61
+23 77 860 F 21 0 98710 32 4 81.82
+23 772 260 P 21 0 83317 32 4 81.82
+23 79 183 P 27 0 93621 35 5 80.00
+23 79 571 P 27 0 91484 35 5 80.00
+23 790 227 P 22 0 75556 33 4 82.22
+23 790 257 F 24 0 84890 35 4 82.98
+23 797 352 F 22 0 105927 33 4 82.22
+23 799 252 F 24 0 99343 35 4 82.98
+23 807 131 P 22 0 29005 33 4 82.22
+23 810 304 P 25 0 100506 36 4 83.33
+23 817 235 F 22 0 6634 39 2 91.11
+23 817 350 P 24 0 100512 35 4 82.98
+23 819 375 F 23 0 28124 40 2 91.30
+23 823 291 P 21 0 93666 32 4 81.82
+23 828 379 F 21 0 90859 32 4 81.82
+23 836 32 P 22 0 100513 33 4 82.22
+23 836 433 F 23 0 61012 37 3 86.96
+23 842 422 F 21 0 40248 32 4 81.82
+23 842 562 P 22 0 15686 33 4 82.22
+23 842 563 P 23 0 74393 34 4 82.61
+23 845 159 P 21 0 14409 32 4 81.82
+23 856 211 P 24 0 51482 35 4 82.98
+23 859 207 F 23 0 17268 46 0 100.00
+23 859 209 F 23 0 36479 37 3 86.96
+23 867 592 F 22 0 89170 36 3 86.67
+23 870 418 F 24 0 97455 38 3 87.23
+23 876 239 P 26 0 31903 37 4 83.67
+23 884 291 F 23 0 63242 34 4 82.61
+23 884 294 F 23 0 7018 34 4 82.61
+23 890 308 F 23 0 7018 34 4 82.61
+23 897 379 F 22 0 76206 33 4 82.22
+23 907 143 F 23 0 65114 34 4 82.61
+23 910 193 P 22 0 25811 36 3 86.67
+23 929 216 P 21 0 5958 32 4 81.82
+23 936 269 F 24 0 7016 35 4 82.98
+23 936 323 P 23 0 53730 34 4 82.61
+23 943 148 F 23 0 74383 37 3 86.96
+23 953 119 F 23 0 23592 37 3 86.96
+23 953 168 P 22 0 78488 36 3 86.67
+23 960 338 F 22 0 29303 33 4 82.22
+23 971 176 P 24 0 68460 35 4 82.98
+23 975 382 F 23 0 28124 40 2 91.30
+23 991 147 P 22 0 88077 33 4 82.22
+24 1003 312 P 22 0 20692 37 3 86.96
+24 1003 62 P 27 0 92159 36 5 80.39
+24 1004 408 F 23 0 86829 35 4 82.98
+24 1012 293 P 28 0 5371 37 5 80.77
+24 1013 184 F 22 0 69814 34 4 82.61
+24 1017 338 F 21 0 22832 33 4 82.22
+24 1020 176 F 27 0 73596 36 5 80.39
+24 1033 414 P 24 0 73224 36 4 83.33
+24 1040 267 F 25 0 74967 37 4 83.67
+24 1074 148 P 25 0 5079 37 4 83.67
+24 1093 388 P 22 0 72340 34 4 82.61
+24 1094 353 P 22 0 6919 34 4 82.61
+24 1096 44 F 24 0 71269 36 4 83.33
+24 1098 92 F 24 0 61103 36 4 83.33
+24 1125 290 F 25 0 40366 37 4 83.67
+24 1142 316 P 24 0 76248 36 4 83.33
+24 1146 267 P 22 0 39090 34 4 82.61
+24 1161 207 P 23 0 13647 41 2 91.49
+24 1165 226 F 21 0 14977 33 4 82.22
+24 1167 156 P 21 0 17805 33 4 82.22
+24 1181 71 P 24 0 6021 36 4 83.33
+24 1195 159 P 23 0 83519 35 4 82.98
+24 1207 280 P 22 0 73214 34 4 82.61
+24 1214 206 P 23 0 21131 35 4 82.98
+24 1221 243 P 26 0 24953 35 5 80.00
+24 1223 435 P 24 0 96330 39 3 87.50
+24 1225 271 P 24 0 79092 36 4 83.33
+24 1249 473 F 22 0 72625 34 4 82.61
+24 1264 323 F 25 0 15183 37 4 83.67
+24 1273 210 F 26 0 90934 35 5 80.00
+24 1292 272 P 22 0 76724 37 3 86.96
+24 1305 308 F 20 0 15653 32 4 81.82
+24 1307 154 F 23 0 26711 38 3 87.23
+24 1310 355 P 25 0 98069 37 4 83.67
+24 1316 129 F 27 0 90834 36 5 80.39
+24 1316 129 F 27 0 90879 36 5 80.39
+24 1320 39 F 23 0 46231 35 4 82.98
+24 1334 288 F 23 0 34903 35 4 82.98
+24 1335 238 P 22 0 79279 37 3 86.96
+24 134 66 F 23 0 30170 38 3 87.23
+24 1349 122 F 23 0 16521 38 3 87.23
+24 135 108 P 22 0 14762 37 3 86.96
+24 1369 367 P 22 0 42269 37 3 86.96
+24 1382 236 F 23 0 71289 35 4 82.98
+24 1386 190 P 24 0 71286 42 2 91.67
+24 140 12 P 23 0 34908 35 4 82.98
+24 1401 351 F 25 0 102614 37 4 83.67
+24 1404 412 F 22 0 74538 34 4 82.61
+24 1419 334 P 23 0 80420 35 4 82.98
+24 1428 459 F 25 0 30824 37 4 83.67
+24 1436 403 F 23 0 78217 38 3 87.23
+24 1443 163 P 24 0 73132 39 3 87.50
+24 1449 346 F 23 0 55377 35 4 82.98
+24 1451 314 F 23 0 55377 35 4 82.98
+24 1451 366 F 26 0 55345 38 4 84.00
+24 1480 314 P 23 0 98073 35 4 82.98
+24 1482 435 P 25 0 74533 37 4 83.67
+24 1488 177 F 23 0 90740 38 3 87.23
+24 1502 71 F 24 0 84491 36 4 83.33
+24 1505 362 F 26 0 5967 41 3 88.00
+24 1507 156 F 22 0 15798 34 4 82.61
+24 1507 350 F 25 0 40366 37 4 83.67
+24 1511 255 F 24 0 87532 36 4 83.33
+24 1523 306 P 26 0 57202 38 4 84.00
+24 154 42 F 21 0 97120 33 4 82.22
+24 156 111 P 27 0 50471 36 5 80.39
+24 1565 159 P 21 0 84821 33 4 82.22
+24 159 92 F 23 0 104017 35 4 82.98
+24 159 92 F 23 0 106601 38 3 87.23
+24 1593 357 P 26 0 83268 35 5 80.00
+24 163 139 P 22 0 65135 34 4 82.61
+24 1643 119 F 22 0 93767 34 4 82.61
+24 1650 173 P 26 0 73614 35 5 80.00
+24 1654 21 F 23 0 5965 35 4 82.98
+24 1694 42 F 25 0 6007 40 3 87.76
+24 1697 219 F 24 0 66883 42 2 91.67
+24 1697 239 F 26 0 73610 38 4 84.00
+24 1701 313 F 24 0 77815 42 2 91.67
+24 1701 313 P 24 0 77827 42 2 91.67
+24 1701 313 P 25 0 17266 40 3 87.76
+24 1702 182 P 23 0 14525 35 4 82.98
+24 1713 211 P 27 0 39528 36 5 80.39
+24 1723 50 P 21 0 74561 33 4 82.22
+24 1757 7 P 26 0 6000 38 4 84.00
+24 1758 206 P 23 0 9746 35 4 82.98
+24 1763 370 P 23 0 77814 35 4 82.98
+24 1765 56 F 27 0 53738 36 5 80.39
+24 1769 121 P 25 0 66536 37 4 83.67
+24 179 26 P 26 0 15193 35 5 80.00
+24 182 10 F 27 0 84838 36 5 80.39
+24 1837 296 F 26 0 90953 35 5 80.00
+24 1854 391 F 22 0 93393 34 4 82.61
+24 1868 1 F 24 0 80424 36 4 83.33
+24 1876 62 F 23 0 80304 35 4 82.98
+24 1876 62 F 27 0 6609 36 5 80.39
+24 1895 63 P 24 0 6613 36 4 83.33
+24 195 275 P 27 0 6926 36 5 80.39
+24 20 145 F 20 0 42736 32 4 81.82
+24 20 151 F 24 0 1179 36 4 83.33
+24 200 0 F 26 0 64028 35 5 80.00
+24 214 240 P 24 0 8236 39 3 87.50
+24 217 8 F 23 0 15601 38 3 87.23
+24 229 360 F 21 0 19961 33 4 82.22
+24 229 360 F 22 0 19961 37 3 86.96
+24 24 479 F 24 0 46995 36 4 83.33
+24 242 77 P 24 0 82820 36 4 83.33
+24 262 30 F 27 0 53731 36 5 80.39
+24 263 88 P 21 0 15099 33 4 82.22
+24 270 360 F 21 0 19961 33 4 82.22
+24 270 360 F 22 0 19961 37 3 86.96
+24 293 36 F 23 0 97113 35 4 82.98
+24 293 39 P 23 0 6641 38 3 87.23
+24 294 77 P 24 0 82820 36 4 83.33
+24 295 29 F 22 0 14366 34 4 82.61
+24 300 207 P 27 0 23593 39 4 84.31
+24 326 167 P 24 0 96361 36 4 83.33
+24 339 349 P 25 0 8152 40 3 87.76
+24 347 10 P 21 0 55675 33 4 82.22
+24 351 282 P 25 0 74544 37 4 83.67
+24 355 215 P 26 0 61517 35 5 80.00
+24 359 284 F 23 0 15238 35 4 82.98
+24 360 296 P 26 0 74345 35 5 80.00
+24 393 294 P 27 0 103760 36 5 80.39
+24 408 311 F 26 0 67065 35 5 80.00
+24 420 248 P 22 0 96330 37 3 86.96
+24 421 172 F 28 0 99789 37 5 80.77
+24 426 489 P 26 0 91758 35 5 80.00
+24 429 281 P 27 0 19250 36 5 80.39
+24 429 282 F 27 0 76283 36 5 80.39
+24 429 318 P 23 0 79427 35 4 82.98
+24 44 425 P 27 0 84834 39 4 84.31
+24 445 21 F 23 0 5072 35 4 82.98
+24 445 21 F 23 0 5075 35 4 82.98
+24 445 25 P 23 0 5962 38 3 87.23
+24 454 367 F 26 0 90953 35 5 80.00
+24 464 219 P 26 0 103996 35 5 80.00
+24 470 384 P 26 0 91413 41 3 88.00
+24 470 449 F 27 0 6872 36 5 80.39
+24 479 330 P 24 0 50564 36 4 83.33
+24 479 404 P 23 0 50394 35 4 82.98
+24 479 412 P 22 0 93789 34 4 82.61
+24 484 193 F 22 0 22749 34 4 82.61
+24 488 152 P 24 0 71284 36 4 83.33
+24 488 152 P 25 0 71281 40 3 87.76
+24 49 160 F 28 0 104724 37 5 80.77
+24 499 106 P 26 0 61517 35 5 80.00
+24 507 345 F 25 0 89662 40 3 87.76
+24 517 69 P 24 0 6136 36 4 83.33
+24 518 276 P 24 0 6549 36 4 83.33
+24 523 425 P 23 0 74347 38 3 87.23
+24 524 309 F 24 0 80304 39 3 87.50
+24 53 402 F 23 0 37197 35 4 82.98
+24 531 239 F 25 0 106218 37 4 83.67
+24 533 357 F 27 0 77814 36 5 80.39
+24 533 358 P 23 0 17268 35 4 82.98
+24 550 323 F 26 0 61236 35 5 80.00
+24 554 233 F 23 0 5060 35 4 82.98
+24 559 178 F 22 0 14937 34 4 82.61
+24 563 206 P 24 0 93824 36 4 83.33
+24 576 301 F 25 0 77816 40 3 87.76
+24 591 199 P 23 0 9746 35 4 82.98
+24 60 480 F 26 0 78892 35 5 80.00
+24 614 231 F 21 0 54793 33 4 82.22
+24 619 278 P 24 0 5172 36 4 83.33
+24 619 455 P 24 0 51812 39 3 87.50
+24 619 477 F 22 0 21661 34 4 82.61
+24 622 289 F 26 0 26710 35 5 80.00
+24 623 433 F 23 0 5065 35 4 82.98
+24 629 387 F 26 0 61011 38 4 84.00
+24 634 286 F 21 0 87265 33 4 82.22
+24 651 138 F 25 0 50505 37 4 83.67
+24 654 330 F 21 0 81531 33 4 82.22
+24 671 285 F 23 0 34903 35 4 82.98
+24 676 276 F 21 0 14977 33 4 82.22
+24 684 214 F 26 0 17269 35 5 80.00
+24 693 219 P 22 0 21006 34 4 82.61
+24 693 323 P 24 0 75997 39 3 87.50
+24 693 416 P 25 0 5085 37 4 83.67
+24 700 433 P 26 0 31184 35 5 80.00
+24 703 358 P 23 0 74385 38 3 87.23
+24 703 367 F 24 0 84825 36 4 83.33
+24 704 140 F 20 0 22871 32 4 81.82
+24 71 84 F 24 0 8887 36 4 83.33
+24 719 285 F 25 0 74550 37 4 83.67
+24 722 352 P 23 0 68455 35 4 82.98
+24 724 149 P 20 0 104014 32 4 81.82
+24 732 146 P 24 0 5380 36 4 83.33
+24 732 373 F 26 0 13147 35 5 80.00
+24 740 280 P 23 0 104941 35 4 82.98
+24 749 346 F 25 0 26706 40 3 87.76
+24 753 370 F 27 0 17264 39 4 84.31
+24 754 386 F 26 0 73060 35 5 80.00
+24 760 331 P 27 0 23874 36 5 80.39
+24 765 344 P 24 0 94647 36 4 83.33
+24 77 25 F 22 0 17925 37 3 86.96
+24 770 422 P 26 0 79488 35 5 80.00
+24 771 213 P 21 0 64871 33 4 82.22
+24 777 251 P 27 0 51952 39 4 84.31
+24 78 394 F 23 0 90740 38 3 87.23
+24 784 342 P 26 0 80347 35 5 80.00
+24 79 203 P 21 0 94231 33 4 82.22
+24 79 76 P 26 0 89758 35 5 80.00
+24 790 336 F 24 0 15007 39 3 87.50
+24 810 304 P 26 0 51824 35 5 80.00
+24 813 193 P 26 0 5090 35 5 80.00
+24 823 281 F 21 0 34909 33 4 82.22
+24 827 114 F 23 0 23590 35 4 82.98
+24 829 231 P 23 0 95979 38 3 87.23
+24 831 131 P 22 0 40903 37 3 86.96
+24 857 139 F 26 0 40447 35 5 80.00
+24 859 207 P 24 0 77828 48 0 100.00
+24 866 463 F 21 0 81531 33 4 82.22
+24 874 311 F 22 0 36476 34 4 82.61
+24 889 133 F 23 0 32671 35 4 82.98
+24 895 305 P 21 0 66921 36 3 86.67
+24 920 133 F 24 0 24904 36 4 83.33
+24 921 117 F 27 0 98995 36 5 80.39
+24 924 279 P 26 0 24627 35 5 80.00
+24 931 203 P 27 0 5057 36 5 80.39
+24 932 271 F 25 0 55785 37 4 83.67
+24 936 279 P 25 0 90208 43 2 91.84
+24 943 155 F 26 0 106446 35 5 80.00
+24 952 258 P 21 0 97502 33 4 82.22
+24 954 252 F 22 0 8234 34 4 82.61
+24 973 218 F 26 0 26422 35 5 80.00
+24 974 284 F 26 0 82814 38 4 84.00
+24 976 296 F 21 0 87265 33 4 82.22
+24 986 375 F 24 0 5506 36 4 83.33
+25 10 600 F 27 0 96493 40 4 84.62
+25 1007 257 P 29 0 17255 39 5 81.48
+25 1022 230 F 25 0 88311 35 5 80.00
+25 1025 175 F 27 0 43284 37 5 80.77
+25 1025 175 F 29 0 43284 39 5 81.48
+25 103 71 P 24 0 23594 43 2 91.84
+25 1049 419 F 24 0 43192 37 4 83.67
+25 107 71 P 24 0 23594 40 3 87.76
+25 1078 108 P 26 0 90553 39 4 84.31
+25 1081 339 F 27 0 65435 37 5 80.77
+25 1106 354 P 28 0 47199 38 5 81.13
+25 1109 265 F 25 0 15732 38 4 84.00
+25 1138 375 F 25 0 14499 41 3 88.00
+25 1146 197 F 24 0 15919 37 4 83.67
+25 1150 377 P 23 0 97491 36 4 83.33
+25 1161 305 F 26 0 26798 36 5 80.39
+25 1195 186 P 26 0 76716 36 5 80.39
+25 1207 278 P 24 0 3112 37 4 83.67
+25 1207 334 P 25 0 82059 35 5 80.00
+25 1208 352 F 28 0 43253 38 5 81.13
+25 1235 338 F 25 0 28475 38 4 84.00
+25 1241 125 F 25 0 16287 35 5 80.00
+25 1250 370 P 26 0 83125 36 5 80.39
+25 1256 325 F 27 0 13616 40 4 84.62
+25 1282 321 P 25 0 81944 35 5 80.00
+25 1326 320 F 23 0 44517 36 4 83.33
+25 1326 402 F 24 0 105287 40 3 87.76
+25 1353 332 F 25 0 36783 35 5 80.00
+25 1372 233 F 25 0 16738 41 3 88.00
+25 1374 367 F 27 0 101473 37 5 80.77
+25 1378 211 F 26 0 15716 36 5 80.39
+25 1386 337 F 26 0 23630 36 5 80.39
+25 1386 381 F 23 0 96681 36 4 83.33
+25 1386 86 P 25 0 52548 35 5 80.00
+25 140 42 P 24 0 36775 37 4 83.67
+25 1401 291 P 22 0 17059 35 4 82.98
+25 1426 258 P 25 0 64039 35 5 80.00
+25 1430 245 P 29 0 73628 39 5 81.48
+25 1437 387 P 27 0 88119 37 5 80.77
+25 1447 360 P 26 0 73969 36 5 80.39
+25 1449 340 P 28 0 14516 38 5 81.13
+25 1451 308 P 28 0 14516 38 5 81.13
+25 146 7 F 25 0 17925 41 3 88.00
+25 149 5 F 27 0 5062 40 4 84.62
+25 1503 356 P 25 0 23337 35 5 80.00
+25 1505 362 P 27 0 5073 37 5 80.77
+25 1507 346 F 24 0 14972 40 3 87.76
+25 1508 292 P 28 0 103367 38 5 81.13
+25 1517 323 P 26 0 73205 39 4 84.31
+25 1545 55 F 26 0 56851 36 5 80.39
+25 1581 84 P 25 0 17344 41 3 88.00
+25 1626 335 F 24 0 83348 40 3 87.76
+25 1638 20 P 27 0 34406 37 5 80.77
+25 1652 118 F 26 0 89387 36 5 80.39
+25 1654 18 F 27 0 5956 37 5 80.77
+25 166 127 P 25 0 84813 35 5 80.00
+25 1696 35 P 25 0 51262 35 5 80.00
+25 1701 308 F 27 0 17262 43 3 88.46
+25 1702 316 F 23 0 48316 36 4 83.33
+25 1725 123 F 27 0 57985 37 5 80.77
+25 1744 133 F 26 0 5080 39 4 84.31
+25 1744 171 P 25 0 40646 38 4 84.00
+25 1765 46 F 24 0 98071 40 3 87.76
+25 1780 239 P 25 0 25098 35 5 80.00
+25 179 87 F 26 0 95261 36 5 80.39
+25 1805 101 P 25 0 5963 35 5 80.00
+25 1817 120 P 21 0 85739 34 4 82.61
+25 1832 329 P 27 0 95977 37 5 80.77
+25 190 239 F 29 0 22623 39 5 81.48
+25 193 92 P 25 0 30219 35 5 80.00
+25 20 15 P 24 0 40711 37 4 83.67
+25 200 282 P 25 0 40708 35 5 80.00
+25 203 325 F 26 0 88152 36 5 80.39
+25 209 117 P 26 0 74812 36 5 80.39
+25 22 203 F 25 0 7714 35 5 80.00
+25 229 360 F 24 0 19961 40 3 87.76
+25 231 291 P 29 0 67026 39 5 81.48
+25 237 106 P 26 0 8829 39 4 84.31
+25 262 22 F 24 0 74565 37 4 83.67
+25 265 362 F 22 0 23592 35 4 82.98
+25 270 360 F 24 0 19961 40 3 87.76
+25 291 313 P 24 0 98115 37 4 83.67
+25 291 316 F 27 0 14977 37 5 80.77
+25 304 0 P 24 0 90200 43 2 91.84
+25 304 164 P 27 0 31615 37 5 80.77
+25 312 106 F 25 0 49248 35 5 80.00
+25 312 331 P 26 0 68367 36 5 80.39
+25 314 177 F 24 0 5064 37 4 83.67
+25 314 354 F 25 0 76547 35 5 80.00
+25 321 281 P 27 0 26654 37 5 80.77
+25 333 289 F 25 0 77169 35 5 80.00
+25 352 181 F 24 0 8898 40 3 87.76
+25 367 408 P 27 0 90416 37 5 80.77
+25 38 653 P 25 0 8835 44 2 92.00
+25 38 688 F 27 0 45653 37 5 80.77
+25 40 368 F 25 0 27130 38 4 84.00
+25 405 419 F 25 0 30235 35 5 80.00
+25 413 325 P 26 0 83125 36 5 80.39
+25 423 259 F 26 0 15732 36 5 80.39
+25 425 495 F 27 0 38684 37 5 80.77
+25 427 308 F 26 0 68512 36 5 80.39
+25 437 318 F 26 0 27302 36 5 80.39
+25 445 21 F 24 0 5078 37 4 83.67
+25 450 385 P 27 0 51954 43 3 88.46
+25 450 386 F 26 0 84823 36 5 80.39
+25 450 426 F 25 0 76372 35 5 80.00
+25 453 340 P 26 0 30788 36 5 80.39
+25 457 345 F 23 0 13617 36 4 83.33
+25 491 198 P 26 0 17925 42 3 88.24
+25 499 317 P 26 0 15719 42 3 88.24
+25 506 291 F 24 0 43192 37 4 83.67
+25 514 329 F 25 0 55366 35 5 80.00
+25 517 432 F 27 0 85635 37 5 80.77
+25 518 87 P 27 0 68078 37 5 80.77
+25 539 116 F 26 0 49811 39 4 84.31
+25 539 116 P 25 0 6106 35 5 80.00
+25 546 361 P 23 0 17797 36 4 83.33
+25 549 392 P 26 0 78233 39 4 84.31
+25 554 237 P 25 0 5960 38 4 84.00
+25 574 291 F 26 0 28009 39 4 84.31
+25 576 392 F 25 0 48433 35 5 80.00
+25 583 160 F 24 0 83374 43 2 91.84
+25 589 325 P 26 0 15719 42 3 88.24
+25 603 340 F 21 0 84818 34 4 82.61
+25 619 381 F 23 0 5963 36 4 83.33
+25 62 18 F 26 0 5379 36 5 80.39
+25 622 284 F 25 0 54792 41 3 88.00
+25 640 194 P 27 0 105236 37 5 80.77
+25 657 465 P 26 0 30067 36 5 80.39
+25 661 472 P 26 0 78233 39 4 84.31
+25 662 417 P 25 0 77835 38 4 84.00
+25 690 283 P 25 0 96334 35 5 80.00
+25 700 439 F 25 0 82154 38 4 84.00
+25 708 262 P 23 0 14897 36 4 83.33
+25 723 41 P 25 0 40429 35 5 80.00
+25 735 267 F 24 0 16245 37 4 83.67
+25 753 292 P 24 0 20658 37 4 83.67
+25 777 257 F 25 0 34298 35 5 80.00
+25 790 160 F 25 0 35506 35 5 80.00
+25 790 168 F 25 0 2732 35 5 80.00
+25 80 452 P 26 0 98338 36 5 80.39
+25 800 257 P 25 0 43676 35 5 80.00
+25 816 57 F 21 0 90835 34 4 82.61
+25 816 57 F 21 0 90880 34 4 82.61
+25 823 279 P 27 0 68459 40 4 84.62
+25 829 230 F 25 0 33628 38 4 84.00
+25 833 275 F 24 0 15919 37 4 83.67
+25 833 372 P 23 0 52225 36 4 83.33
+25 843 452 F 24 0 26711 37 4 83.67
+25 850 428 P 25 0 2356 35 5 80.00
+25 850 510 P 25 0 20750 38 4 84.00
+25 853 548 P 25 0 51945 35 5 80.00
+25 883 441 P 25 0 88137 41 3 88.00
+25 884 285 P 23 0 17797 36 4 83.33
+25 892 196 P 25 0 38672 38 4 84.00
+25 897 208 F 26 0 25369 36 5 80.39
+25 918 165 P 25 0 48316 35 5 80.00
+25 932 64 P 26 0 70663 39 4 84.31
+25 952 186 P 27 0 68464 37 5 80.77
+25 953 112 F 28 0 6634 38 5 81.13
+25 968 259 F 24 0 40669 37 4 83.67
+25 971 177 P 25 0 76716 35 5 80.00
+25 974 292 P 23 0 53730 36 4 83.33
+25 979 265 F 23 0 102877 36 4 83.33
+25 985 194 P 25 0 64039 35 5 80.00
+25 991 145 P 26 0 91413 42 3 88.24
+25 991 148 P 27 0 53727 37 5 80.77
+25 992 358 P 21 0 51814 34 4 82.61
+25 997 232 P 24 0 80298 37 4 83.67
+26 1012 287 P 24 0 15961 35 5 80.00
+26 1013 304 F 24 0 36775 41 3 88.00
+26 1038 285 F 24 0 82825 35 5 80.00
+26 1041 180 F 26 0 50154 37 5 80.77
+26 1043 383 P 24 0 17795 41 3 88.00
+26 1045 365 F 30 0 75668 41 5 82.14
+26 1065 255 F 26 0 103708 43 3 88.46
+26 1074 141 P 25 0 15671 42 3 88.24
+26 1078 220 P 28 0 21361 39 5 81.48
+26 1080 214 F 26 0 23609 37 5 80.77
+26 1094 124 P 26 0 98340 37 5 80.77
+26 1094 128 F 24 0 90100 35 5 80.00
+26 1121 270 P 26 0 6101 40 4 84.62
+26 1128 180 F 25 0 90810 36 5 80.39
+26 1135 70 P 24 0 27023 35 5 80.00
+26 1207 279 P 26 0 73614 37 5 80.77
+26 1221 254 P 28 0 40633 42 4 85.19
+26 1226 226 P 24 0 73582 35 5 80.00
+26 1237 406 P 25 0 8160 39 4 84.31
+26 1243 206 P 27 0 5057 38 5 81.13
+26 1271 24 P 26 0 6645 43 3 88.46
+26 1281 331 P 26 0 73130 37 5 80.77
+26 1296 225 P 24 0 73582 35 5 80.00
+26 1315 340 P 24 0 6921 38 4 84.00
+26 1322 340 P 24 0 74191 35 5 80.00
+26 1322 340 P 25 0 74384 36 5 80.39
+26 1336 208 F 24 0 15004 35 5 80.00
+26 1350 373 F 26 0 100840 37 5 80.77
+26 1354 367 F 25 0 83358 36 5 80.39
+26 138 47 F 28 0 52225 39 5 81.48
+26 1382 269 F 27 0 8894 38 5 81.13
+26 1385 285 F 25 0 84826 39 4 84.31
+26 1386 269 F 24 0 55095 35 5 80.00
+26 140 123 F 24 0 17050 35 5 80.00
+26 140 45 F 25 0 51818 36 5 80.39
+26 1404 412 F 25 0 74188 39 4 84.31
+26 1404 412 F 25 0 74591 39 4 84.31
+26 1428 453 P 25 0 53737 36 5 80.39
+26 143 8 P 25 0 73612 36 5 80.39
+26 1437 375 F 24 0 83368 35 5 80.00
+26 1446 264 P 22 0 6920 36 4 83.33
+26 1449 404 P 26 0 5065 37 5 80.77
+26 1464 260 F 26 0 6733 40 4 84.62
+26 1473 110 P 26 0 20261 37 5 80.77
+26 1476 406 F 28 0 75824 39 5 81.48
+26 1488 176 F 27 0 19021 41 4 84.91
+26 1488 442 P 27 0 90653 38 5 81.13
+26 1490 241 F 27 0 29879 38 5 81.13
+26 1495 171 P 27 0 81488 38 5 81.13
+26 1512 227 P 26 0 6101 40 4 84.62
+26 1518 233 P 26 0 71280 46 2 92.31
+26 1531 350 P 27 0 26707 41 4 84.91
+26 1535 223 F 26 0 90762 37 5 80.77
+26 1535 388 P 25 0 74533 39 4 84.31
+26 1543 283 P 26 0 100451 37 5 80.77
+26 156 67 P 25 0 29888 36 5 80.39
+26 1636 124 F 24 0 100886 35 5 80.00
+26 1654 17 P 25 0 5078 36 5 80.39
+26 1701 317 P 25 0 74398 36 5 80.39
+26 1719 158 F 26 0 36146 40 4 84.62
+26 1719 73 P 27 0 50108 38 5 81.13
+26 1802 22 F 27 0 93823 38 5 81.13
+26 1802 345 F 24 0 26881 35 5 80.00
+26 1832 321 F 22 0 84827 36 4 83.33
+26 1889 149 F 25 0 61623 39 4 84.31
+26 190 250 F 25 0 6195 36 5 80.39
+26 192 83 F 25 0 42284 36 5 80.39
+26 1943 354 P 26 0 49517 37 5 80.77
+26 200 0 P 24 0 8893 35 5 80.00
+26 209 104 P 26 0 5067 40 4 84.62
+26 218 12 P 27 0 6119 38 5 81.13
+26 229 360 F 27 0 53959 38 5 81.13
+26 249 203 F 26 0 5067 43 3 88.46
+26 26 756 F 24 0 1422 35 5 80.00
+26 269 374 P 24 0 38743 38 4 84.00
+26 270 360 F 27 0 53959 38 5 81.13
+26 296 56 F 24 0 646 35 5 80.00
+26 317 251 F 25 0 90810 36 5 80.39
+26 323 188 F 24 0 36785 35 5 80.00
+26 336 245 F 27 0 106747 38 5 81.13
+26 344 236 F 27 0 51973 38 5 81.13
+26 35 173 F 25 0 812 36 5 80.39
+26 351 288 F 28 0 84827 39 5 81.48
+26 351 288 P 29 0 52826 40 5 81.82
+26 366 224 F 26 0 97932 37 5 80.77
+26 366 370 P 24 0 30796 35 5 80.00
+26 368 294 P 25 0 96362 39 4 84.31
+26 38 51 P 23 0 14762 40 3 87.76
+26 399 260 F 26 0 74787 37 5 80.77
+26 418 479 P 23 0 69924 40 3 87.76
+26 44 423 F 26 0 90195 43 3 88.46
+26 443 255 P 27 0 90890 38 5 81.13
+26 445 156 P 26 0 8834 37 5 80.77
+26 446 234 P 26 0 90196 37 5 80.77
+26 457 350 P 25 0 68463 39 4 84.31
+26 459 319 F 25 0 22991 36 5 80.39
+26 468 355 P 25 0 40514 36 5 80.39
+26 470 380 F 24 0 36775 41 3 88.00
+26 479 293 P 25 0 96752 36 5 80.39
+26 486 452 P 25 0 68366 36 5 80.39
+26 487 175 F 25 0 16044 36 5 80.39
+26 493 179 P 24 0 86600 35 5 80.00
+26 494 362 P 25 0 90432 39 4 84.31
+26 495 150 F 25 0 77750 36 5 80.39
+26 523 295 F 25 0 15473 36 5 80.39
+26 537 384 F 24 0 57821 38 4 84.00
+26 539 308 F 25 0 6628 42 3 88.24
+26 539 67 P 24 0 65168 35 5 80.00
+26 559 332 F 24 0 15079 35 5 80.00
+26 561 414 P 24 0 98547 35 5 80.00
+26 587 249 P 26 0 15671 37 5 80.77
+26 622 208 P 23 0 15185 37 4 83.67
+26 623 431 F 26 0 5074 37 5 80.77
+26 634 183 F 27 0 96584 38 5 81.13
+26 640 275 P 27 0 5083 38 5 81.13
+26 674 293 F 26 0 22827 37 5 80.77
+26 697 255 F 30 0 13888 41 5 82.14
+26 700 348 F 24 0 60806 38 4 84.00
+26 703 366 P 24 0 6919 41 3 88.00
+26 703 369 P 24 0 52831 35 5 80.00
+26 711 235 F 25 0 104625 36 5 80.39
+26 733 367 P 26 0 68458 37 5 80.77
+26 740 293 P 24 0 95979 38 4 84.00
+26 741 459 P 27 0 102545 38 5 81.13
+26 752 146 F 27 0 8786 38 5 81.13
+26 77 643 P 26 0 19062 37 5 80.77
+26 771 391 F 23 0 93181 37 4 83.67
+26 773 235 F 25 0 17920 36 5 80.39
+26 78 393 F 27 0 19021 41 4 84.91
+26 78 393 P 26 0 285 40 4 84.62
+26 78 659 P 27 0 90653 38 5 81.13
+26 789 164 P 26 0 94409 37 5 80.77
+26 789 256 P 26 0 14404 37 5 80.77
+26 850 237 P 26 0 71281 46 2 92.31
+26 853 485 P 26 0 74722 37 5 80.77
+26 870 248 P 27 0 19221 38 5 81.13
+26 870 414 F 23 0 74141 37 4 83.67
+26 875 280 P 28 0 50882 39 5 81.48
+26 897 355 F 25 0 76216 36 5 80.39
+26 936 306 P 27 0 15027 38 5 81.13
+26 944 227 F 27 0 34906 38 5 81.13
+26 950 190 F 26 0 50154 37 5 80.77
+26 953 121 F 27 0 6634 41 4 84.91
+26 959 219 P 26 0 8447 37 5 80.77
+26 960 245 P 26 0 71284 40 4 84.62
+26 970 358 P 26 0 71284 40 4 84.62
+26 971 176 P 27 0 14459 38 5 81.13
+26 973 195 F 26 0 103757 37 5 80.77
+26 973 219 F 27 0 14057 38 5 81.13
+26 984 470 F 28 0 11825 39 5 81.48
+26 99 331 F 29 0 35035 40 5 81.82
+26 991 149 F 23 0 83373 37 4 83.67
+27 1007 110 P 25 0 70572 40 4 84.62
+27 1011 275 F 25 0 12604 37 5 80.77
+27 1032 307 P 27 0 51810 39 5 81.48
+27 1065 206 P 26 0 74548 38 5 81.13
+27 1074 135 P 27 0 15673 45 3 88.89
+27 1078 108 P 26 0 74547 38 5 81.13
+27 1093 104 P 25 0 16270 37 5 80.77
+27 1125 163 P 25 0 5953 37 5 80.77
+27 1150 374 F 27 0 33629 39 5 81.48
+27 1156 255 F 25 0 105536 37 5 80.77
+27 118 4 P 25 0 54795 37 5 80.77
+27 1207 293 P 26 0 73130 38 5 81.13
+27 1214 205 P 26 0 17265 47 2 92.45
+27 1214 206 F 28 0 21140 43 4 85.45
+27 1235 260 P 24 0 30787 36 5 80.39
+27 1241 151 F 28 0 29288 40 5 81.82
+27 1252 453 F 28 0 73835 40 5 81.82
+27 1264 328 F 27 0 34906 42 4 85.19
+27 1271 23 P 26 0 5077 41 4 84.91
+27 1282 319 P 27 0 82138 39 5 81.48
+27 1285 320 F 24 0 90867 36 5 80.39
+27 1286 391 P 27 0 81360 39 5 81.48
+27 1325 301 F 29 0 24887 41 5 82.14
+27 1350 323 P 26 0 7416 38 5 81.13
+27 1384 226 F 24 0 34422 36 5 80.39
+27 140 38 P 29 0 83368 44 4 85.71
+27 1403 197 F 26 0 51765 38 5 81.13
+27 1416 145 P 27 0 15993 39 5 81.48
+27 143 0 P 27 0 82554 42 4 85.19
+27 143 7 P 24 0 73803 39 4 84.31
+27 143 9 P 26 0 74381 38 5 81.13
+27 146 219 P 26 0 14400 38 5 81.13
+27 1461 255 F 26 0 51804 38 5 81.13
+27 1480 295 F 26 0 46573 38 5 81.13
+27 1486 428 F 23 0 35384 35 5 80.00
+27 1599 207 F 30 0 27178 42 5 82.46
+27 1605 32 F 28 0 72067 40 5 81.82
+27 1609 288 F 29 0 30953 41 5 82.14
+27 1612 45 F 25 0 53654 37 5 80.77
+27 1618 50 F 24 0 11885 39 4 84.31
+27 1623 364 P 26 0 73245 38 5 81.13
+27 163 49 F 29 0 40329 41 5 82.14
+27 1650 163 P 26 0 95980 38 5 81.13
+27 1653 92 P 28 0 79365 40 5 81.82
+27 1698 363 F 26 0 28289 38 5 81.13
+27 195 295 F 25 0 83349 37 5 80.77
+27 226 115 P 25 0 94142 37 5 80.77
+27 229 357 F 23 0 74541 35 5 80.00
+27 270 357 F 23 0 74541 35 5 80.00
+27 290 323 P 24 0 51760 36 5 80.39
+27 302 87 F 25 0 9736 40 4 84.62
+27 342 339 F 24 0 99278 36 5 80.39
+27 357 344 P 25 0 74191 40 4 84.62
+27 363 166 F 24 0 90724 36 5 80.39
+27 384 344 F 28 0 68376 40 5 81.82
+27 39 800 P 25 0 95979 37 5 80.77
+27 393 235 F 28 0 55532 40 5 81.82
+27 443 254 P 28 0 90845 40 5 81.82
+27 450 382 F 26 0 36773 38 5 81.13
+27 453 318 F 26 0 6726 38 5 81.13
+27 479 179 F 27 0 51816 39 5 81.48
+27 484 343 F 27 0 78544 39 5 81.48
+27 539 66 P 25 0 93257 37 5 80.77
+27 548 219 P 26 0 5078 38 5 81.13
+27 548 76 F 28 0 20630 40 5 81.82
+27 565 336 P 24 0 19911 36 5 80.39
+27 566 400 P 23 0 62594 35 5 80.00
+27 623 437 P 24 0 97114 36 5 80.39
+27 636 344 F 26 0 84869 38 5 81.13
+27 693 302 P 24 0 86736 39 4 84.31
+27 693 302 P 24 0 89511 39 4 84.31
+27 71 186 F 23 0 84490 35 5 80.00
+27 729 311 F 25 0 64961 37 5 80.77
+27 758 177 F 28 0 49376 40 5 81.82
+27 758 182 P 23 0 19961 35 5 80.00
+27 77 650 F 25 0 41366 37 5 80.77
+27 772 291 F 25 0 56934 40 4 84.62
+27 790 152 F 27 0 74747 39 5 81.48
+27 790 169 P 33 0 80972 42 6 80.00
+27 800 512 F 23 0 26925 35 5 80.00
+27 817 231 F 28 0 6634 46 3 89.09
+27 842 559 P 30 0 74562 42 5 82.46
+27 848 351 F 27 0 13477 39 5 81.48
+27 875 207 F 26 0 75362 38 5 81.13
+27 891 196 F 23 0 47513 35 5 80.00
+27 901 114 P 27 0 19888 39 5 81.48
+27 918 361 F 28 0 83258 40 5 81.82
+27 936 286 P 24 0 52832 42 3 88.24
+27 936 287 F 25 0 84829 37 5 80.77
+27 953 122 P 25 0 16781 37 5 80.77
+27 99 400 P 27 0 16161 39 5 81.48
+28 109 42 P 27 0 80301 43 4 85.45
+28 1155 171 P 26 0 10737 39 5 81.48
+28 119 126 P 24 0 5081 37 5 80.77
+28 119 126 P 27 0 5078 40 5 81.82
+28 1204 181 P 27 0 64958 40 5 81.82
+28 1205 226 P 28 0 74141 44 4 85.71
+28 1221 257 F 24 0 80304 37 5 80.77
+28 1248 410 P 27 0 93914 43 4 85.45
+28 1257 278 P 28 0 83261 41 5 82.14
+28 1268 293 P 28 0 82029 41 5 82.14
+28 1287 105 F 29 0 64996 42 5 82.46
+28 1301 54 F 26 0 79051 39 5 81.48
+28 138 59 F 29 0 52225 45 4 85.96
+28 1383 144 P 26 0 66927 39 5 81.48
+28 149 2 F 28 0 6629 41 5 82.14
+28 1505 359 F 30 0 97118 43 5 82.76
+28 1538 458 P 29 0 49818 42 5 82.46
+28 154 39 F 27 0 5966 40 5 81.82
+28 1627 203 P 28 0 82029 41 5 82.14
+28 1700 148 F 27 0 5065 40 5 81.82
+28 1744 133 F 27 0 5068 43 4 85.45
+28 1748 367 P 23 0 86731 36 5 80.39
+28 1777 3 F 29 0 51824 42 5 82.46
+28 1903 17 P 26 0 8890 39 5 81.48
+28 23 441 P 25 0 45413 38 5 81.13
+28 291 308 P 29 0 37198 42 5 82.46
+28 3 100 F 26 0 29327 39 5 81.48
+28 351 376 P 25 0 78230 38 5 81.13
+28 38 649 P 27 0 8893 40 5 81.82
+28 39 172 F 26 0 29327 39 5 81.48
+28 393 245 F 27 0 83368 43 4 85.45
+28 4 44 F 26 0 8888 39 5 81.48
+28 423 254 P 26 0 42285 39 5 81.48
+28 424 141 F 26 0 7481 39 5 81.48
+28 443 233 F 25 0 16738 38 5 81.13
+28 457 360 P 28 0 64949 41 5 82.14
+28 486 444 P 25 0 91411 38 5 81.13
+28 5 138 F 26 0 29327 39 5 81.48
+28 548 218 P 29 0 5075 42 5 82.46
+28 619 455 P 27 0 74542 40 5 81.82
+28 632 160 F 27 0 97109 43 4 85.45
+28 693 379 F 28 0 83356 41 5 82.14
+28 7 138 F 26 0 29327 39 5 81.48
+28 732 27 P 28 0 63863 44 4 85.71
+28 732 353 P 24 0 58325 37 5 80.77
+28 777 264 P 25 0 19025 38 5 81.13
+28 801 87 F 25 0 77126 38 5 81.13
+28 815 373 P 25 0 103829 38 5 81.13
+28 815 387 F 25 0 55541 38 5 81.13
+28 820 224 P 26 0 68860 39 5 81.48
+28 859 209 P 27 0 21127 40 5 81.82
+28 877 273 P 28 0 82029 41 5 82.14
+28 881 313 P 27 0 93914 43 4 85.45
+28 929 205 F 26 0 6638 39 5 81.48
+28 944 213 P 27 0 52832 40 5 81.82
+28 997 240 F 26 0 86834 39 5 81.48
+29 1108 177 F 29 0 15732 43 5 82.76
+29 115 230 F 32 0 91326 43 6 80.33
+29 1195 154 F 25 0 83374 39 5 81.48
+29 1214 204 P 29 0 36466 43 5 82.76
+29 1214 213 F 29 0 36466 43 5 82.76
+29 1264 173 F 28 0 42509 42 5 82.46
+29 1325 273 F 28 0 5078 42 5 82.46
+29 1446 257 F 30 0 30166 44 5 83.05
+29 147 59 F 31 0 93736 42 6 80.00
+29 1701 307 F 29 0 77825 46 4 86.21
+29 1726 133 F 28 0 102866 42 5 82.46
+29 1793 156 F 26 0 82079 40 5 81.82
+29 20 142 F 32 0 13626 49 4 86.89
+29 31 3 P 29 0 5080 49 3 89.66
+29 362 344 P 28 0 96685 42 5 82.46
+29 393 234 P 28 0 78242 42 5 82.46
+29 422 287 P 25 0 13645 42 4 85.19
+29 425 166 F 27 0 21462 41 5 82.14
+29 554 228 P 31 0 5972 45 5 83.33
+29 561 415 F 29 0 71281 55 1 96.55
+29 568 162 F 26 0 82079 40 5 81.82
+29 593 147 F 31 0 5064 45 5 83.33
+29 607 200 F 31 0 5064 42 6 80.00
+29 619 377 F 27 0 30780 41 5 82.14
+29 619 382 P 27 0 6636 41 5 82.14
+29 619 461 P 33 0 19017 44 6 80.65
+29 686 285 P 28 0 48042 45 4 85.96
+29 758 182 F 25 0 83374 39 5 81.48
+29 80 691 P 31 0 82769 42 6 80.00
+29 963 221 P 28 0 71278 42 5 82.46
+29 971 163 F 28 0 26701 42 5 82.46
+29 974 295 F 33 0 34906 44 6 80.65
+29 991 150 P 24 0 90200 38 5 81.13
+30 1065 206 P 30 0 74139 42 6 80.00
+30 1065 206 P 31 0 74540 43 6 80.33
+30 109 37 P 32 0 5074 50 4 87.10
+30 1125 274 F 31 0 15225 43 6 80.33
+30 1140 90 F 30 0 79437 42 6 80.00
+30 1325 265 F 26 0 5059 41 5 82.14
+30 1325 265 F 29 0 5059 44 5 83.05
+30 1446 262 P 28 0 74541 43 5 82.76
+30 1500 472 P 32 0 97502 44 6 80.65
+30 1752 11 F 30 0 15963 42 6 80.00
+30 1849 74 P 27 0 5087 42 5 82.46
+30 195 265 F 28 0 78568 43 5 82.76
+30 20 5 P 32 0 90951 47 5 83.87
+30 203 264 F 28 0 74349 46 4 86.21
+30 346 127 P 28 0 106176 43 5 82.76
+30 479 170 F 32 0 17788 44 6 80.65
+30 538 349 F 30 0 55503 42 6 80.00
+30 548 173 F 29 0 54786 44 5 83.05
+30 556 274 F 32 0 96877 44 6 80.65
+30 624 499 P 32 0 5968 44 6 80.65
+30 836 282 P 28 0 72185 43 5 82.76
+30 859 208 F 30 0 77829 51 3 90.00
+30 891 307 F 28 0 83371 46 4 86.21
+30 907 254 F 25 0 39254 40 5 81.82
+30 986 375 P 28 0 51961 43 5 82.76
+31 1074 152 P 34 0 6628 47 6 81.54
+31 1094 349 P 30 0 98111 46 5 83.61
+31 1109 351 P 29 0 17808 42 6 80.00
+31 125 26 F 30 0 5965 49 4 86.89
+31 1264 296 F 31 0 106261 44 6 80.65
+31 1488 171 F 30 0 74539 43 6 80.33
+31 1627 0 P 34 0 97100 47 6 81.54
+31 1837 283 P 31 0 73240 44 6 80.65
+31 20 142 F 31 0 13626 53 3 90.32
+31 290 227 P 29 0 72151 45 5 83.33
+31 300 27 F 31 0 73494 44 6 80.65
+31 304 0 P 29 0 19955 42 6 80.00
+31 363 157 F 30 0 80191 46 5 83.61
+31 366 300 P 29 0 30177 42 6 80.00
+31 366 308 F 28 0 81104 44 5 83.05
+31 393 252 F 30 0 40372 46 5 83.61
+31 454 354 P 31 0 73240 44 6 80.65
+31 524 288 P 29 0 43657 42 6 80.00
+31 58 196 P 30 0 91980 43 6 80.33
+31 751 274 P 30 0 96358 43 6 80.33
+31 78 388 F 30 0 74539 43 6 80.33
+31 789 256 F 29 0 14973 42 6 80.00
+31 790 170 F 34 0 26707 47 6 81.54
+31 840 398 F 30 0 40424 43 6 80.33
+31 843 372 P 30 0 34422 43 6 80.33
+31 859 207 P 33 0 36462 49 5 84.38
+31 870 139 F 31 0 74169 44 6 80.65
+31 870 413 P 31 0 83364 44 6 80.65
+31 908 407 P 32 0 73091 48 5 84.13
+31 969 324 F 33 0 61629 46 6 81.25
+32 103 64 P 35 0 5080 49 6 82.09
+32 1214 206 P 29 0 20267 43 6 80.33
+32 1298 275 P 31 0 5070 45 6 80.95
+32 140 31 P 29 0 84827 43 6 80.33
+32 1401 291 P 29 0 71283 43 6 80.33
+32 1428 450 F 31 0 47598 45 6 80.95
+32 1449 347 F 31 0 42263 45 6 80.95
+32 1451 315 F 31 0 42263 45 6 80.95
+32 149 3 F 32 0 5071 46 6 81.25
+32 1749 23 F 32 0 43276 46 6 81.25
+32 1788 120 P 31 0 66029 48 5 84.13
+32 1802 16 F 29 0 5956 43 6 80.33
+32 1850 129 P 31 0 66029 48 5 84.13
+32 1877 13 F 29 0 5956 43 6 80.33
+32 20 9 P 29 0 6103 43 6 80.33
+32 304 0 F 37 0 83374 51 6 82.61
+32 38 51 P 29 0 43284 46 5 83.61
+32 575 256 F 32 0 26705 46 6 81.25
+32 632 167 P 33 0 5070 56 3 90.77
+32 703 365 F 33 0 40367 47 6 81.54
+32 777 250 F 31 0 83366 45 6 80.95
+32 78 541 P 30 0 1658 44 6 80.65
+33 1012 290 P 30 0 74812 48 5 84.13
+33 1287 144 F 33 0 5065 48 6 81.82
+33 134 36 F 34 0 15008 49 6 82.09
+33 140 73 P 34 0 9146 49 6 82.09
+33 1701 307 P 32 0 77809 50 5 84.62
+33 1805 283 P 33 0 50500 48 6 81.82
+33 291 312 P 30 0 53725 45 6 80.95
+33 470 423 F 32 0 43106 50 5 84.62
+33 504 392 F 33 0 94504 51 5 84.85
+33 548 209 F 28 0 58318 43 6 80.33
+33 583 153 P 29 0 90201 47 5 83.87
+33 753 373 P 34 0 77817 49 6 82.09
+33 833 267 P 31 0 14526 46 6 81.25
+33 833 267 P 32 0 14525 47 6 81.54
+333 1265 0 F 330 0 72423 612 17 94.87
+34 112 58 F 38 0 14942 51 7 80.56
+34 120 83 F 38 0 14942 51 7 80.56
+34 1401 286 F 33 0 100670 49 6 82.09
+34 1507 244 P 32 0 17926 48 6 81.82
+34 1518 215 P 33 0 16242 49 6 82.09
+34 1524 237 F 34 0 77815 56 4 88.24
+34 249 203 F 33 0 5070 49 6 82.09
+34 943 137 F 34 0 81094 56 4 88.24
+34 949 191 P 31 0 14510 47 6 81.54
+34 949 191 P 37 0 43276 56 5 85.92
+34 991 168 P 36 0 102807 49 7 80.00
+35 1271 19 P 36 0 5063 50 7 80.28
+35 1445 38 F 37 0 2019 51 7 80.56
+35 1903 2 F 30 0 5065 47 6 81.54
+35 20 8 F 35 0 6626 49 7 80.00
+35 576 290 P 36 0 17266 50 7 80.28
+35 753 373 F 37 0 77815 51 7 80.56
+36 1662 207 P 37 0 47330 52 7 80.82
+36 290 220 F 32 0 14948 50 6 82.35
+36 712 259 F 36 0 80023 51 7 80.56
+36 733 368 P 34 0 78690 49 7 80.00
+37 1271 19 P 37 0 5059 56 6 83.78
+38 1 27 F 35 0 6112 52 7 80.82
+38 1094 417 F 35 0 70774 52 7 80.82
+38 1214 205 F 38 0 77815 76 0 100.00
+38 1366 321 P 34 0 68459 51 7 80.56
+38 146 33 F 37 0 74576 57 6 84.00
+38 1903 2 F 38 0 5074 55 7 81.58
+38 549 373 P 34 0 67010 51 7 80.56
+38 576 211 P 34 0 74541 51 7 80.56
+40 1364 178 P 40 0 62424 56 8 80.00
+40 1765 34 P 41 0 83380 57 8 80.25
+40 771 294 F 37 0 43232 56 7 81.82
+42 138 38 P 40 0 43281 58 8 80.49
+42 524 309 F 42 0 5065 60 8 80.95
+43 1403 164 F 41 0 43272 60 8 80.95
+44 936 291 F 43 0 55550 63 8 81.61
+49 1214 204 P 48 0 77804 85 4 91.75
+51 125 26 P 53 0 5049 74 10 80.77
+56 1361 104 F 56 0 105490 85 9 83.93
+78 859 0 F 81 0 72588 129 10 87.42
diff --git a/testdata/see-ext-at1MB.matches b/testdata/see-ext-at1MB.matches
new file mode 100644
index 0000000..29376c7
--- /dev/null
+++ b/testdata/see-ext-at1MB.matches
@@ -0,0 +1,1865 @@
+100 33 0 F 101 73 0 192 3 97.01
+102 1289 3 F 100 1456 165 181 7 93.07
+102 454 220 F 103 1289 20 172 11 89.27
+102 859 84 F 102 1265 231 201 1 99.02
+103 1289 20 F 102 1722 157 166 13 87.32
+103 1289 20 F 102 1837 149 166 13 87.32
+103 24 164 F 103 43 1 206 0 100.00
+104 1041 51 F 104 1788 251 166 14 86.54
+104 112 28 F 104 120 53 196 4 96.15
+105 1158 114 F 104 1945 2 167 14 86.60
+108 237 217 F 108 468 0 177 13 87.96
+112 871 0 F 114 1710 2 184 14 87.61
+114 912 17 F 120 1664 241 174 20 82.91
+118 1 452 F 117 3 1 169 22 81.28
+120 1624 143 F 118 1624 263 169 23 80.67
+120 1624 144 F 118 1624 264 169 23 80.67
+120 1624 145 F 118 1624 265 169 23 80.67
+120 319 0 F 117 1513 67 174 21 82.28
+121 935 129 F 120 1289 12 199 14 88.38
+122 319 0 F 124 1023 35 186 20 83.74
+123 454 0 F 128 1664 233 188 21 83.27
+130 35 0 F 130 146 261 260 0 100.00
+130 42 0 F 130 146 261 260 0 100.00
+132 54 44 F 132 146 259 252 4 96.97
+133 1049 216 F 134 1289 3 222 15 88.76
+133 1189 98 F 134 1289 3 201 22 83.52
+133 506 88 F 134 1289 3 222 15 88.76
+133 988 206 F 134 1289 3 219 16 88.01
+134 1289 3 F 133 1328 158 219 16 88.01
+136 120 196 F 136 1624 138 242 10 92.65
+136 120 196 F 136 1624 168 233 13 90.44
+136 120 196 F 136 1624 198 212 20 85.29
+144 1120 169 F 145 1289 3 229 20 86.16
+144 610 0 F 141 1456 124 213 24 83.16
+147 249 222 F 144 968 0 231 20 86.25
+147 642 6 F 148 1456 117 253 14 90.51
+151 1869 183 F 143 1943 2 207 29 80.27
+151 42 147 F 146 49 398 270 9 93.94
+152 413 218 F 148 1250 267 276 8 94.67
+155 1289 3 F 159 1297 199 239 25 84.08
+155 1289 3 F 159 1327 185 239 25 84.08
+155 455 0 F 157 1615 76 258 18 88.46
+158 1 412 F 156 5 0 224 30 80.89
+158 1 412 F 156 7 0 224 30 80.89
+158 1076 109 F 155 1289 3 238 25 84.03
+158 658 327 F 155 1289 3 235 26 83.39
+159 1549 0 F 159 1550 177 297 7 95.60
+159 35 0 F 159 54 46 303 5 96.86
+159 42 0 F 159 54 46 303 5 96.86
+159 474 264 F 155 1289 3 239 25 84.08
+159 543 204 F 155 1289 3 239 25 84.08
+159 713 164 F 155 1289 3 236 26 83.44
+159 761 88 F 155 1289 3 239 25 84.08
+159 826 230 F 155 1289 3 239 25 84.08
+159 912 212 F 155 1289 3 239 25 84.08
+160 1546 202 F 160 1549 0 311 3 98.12
+160 1547 186 F 160 1549 0 305 5 96.88
+160 798 156 F 155 1289 3 237 26 83.49
+163 1578 0 F 163 1682 12 299 9 94.48
+163 642 8 F 162 1722 97 244 27 83.38
+163 642 8 F 162 1837 89 247 26 84.00
+165 481 0 F 158 1456 107 275 16 90.09
+167 454 155 F 168 642 3 260 25 85.07
+168 61 188 F 168 64 149 327 3 98.21
+168 61 188 F 168 65 149 327 3 98.21
+171 1546 193 F 171 1551 0 339 1 99.42
+171 1547 177 F 171 1551 0 336 2 98.83
+171 1550 168 F 171 1551 0 324 6 96.49
+172 66 97 F 171 747 197 277 22 87.17
+173 506 48 F 176 610 0 250 33 81.09
+174 1564 0 F 174 1847 123 321 9 94.83
+174 454 148 F 183 481 0 273 28 84.31
+176 610 0 F 172 1049 177 255 31 82.18
+176 610 0 F 172 1328 119 252 32 81.61
+176 610 0 F 172 988 167 249 33 81.03
+180 160 117 F 181 160 297 352 3 98.34
+180 1608 172 F 178 1802 241 256 34 81.01
+180 642 0 F 190 935 60 268 34 81.62
+181 160 124 F 181 160 305 362 0 100.00
+183 160 119 F 181 160 302 358 2 98.90
+183 481 0 F 174 1722 85 264 31 82.63
+183 481 0 F 174 1837 77 264 31 82.63
+184 1277 151 F 184 1402 3 326 14 92.39
+184 175 74 F 183 1821 0 319 16 91.28
+185 1198 2 F 178 1456 87 285 26 85.67
+185 641 0 F 188 1456 77 313 20 89.28
+185 642 0 F 185 1049 164 310 20 89.19
+185 642 0 F 185 1189 46 286 28 84.86
+185 642 0 F 185 1328 106 304 22 88.11
+185 642 0 F 185 988 154 304 22 88.11
+186 1544 0 F 186 1546 178 372 0 100.00
+186 1544 0 F 186 1547 162 366 2 98.92
+186 1544 0 F 186 1550 153 357 5 97.31
+186 761 4 F 188 1456 77 338 12 93.58
+186 935 37 F 178 1456 87 286 26 85.71
+187 506 34 F 185 642 0 300 24 87.10
+187 610 0 F 183 1120 130 262 36 80.54
+188 1456 77 F 185 1722 57 298 25 86.60
+188 506 0 F 186 1456 77 314 20 89.30
+188 579 3 F 192 1456 73 320 20 89.47
+189 103 0 F 189 107 0 369 3 98.41
+189 1035 19 F 189 1768 236 276 34 82.01
+190 454 129 F 202 935 37 287 35 82.14
+192 1 378 F 190 39 0 304 26 86.39
+192 481 0 F 193 935 57 289 32 83.38
+192 630 112 F 202 935 48 307 29 85.28
+193 454 129 F 203 1198 2 291 35 82.32
+194 216 0 F 194 277 0 382 2 98.97
+194 253 2 F 194 276 2 328 20 89.69
+196 642 0 F 196 1120 117 308 28 85.71
+197 1076 31 F 194 1722 65 286 35 82.10
+197 1189 0 F 197 1456 65 316 26 86.80
+197 481 0 F 188 1049 161 322 21 89.09
+197 481 0 F 188 1189 43 295 30 84.42
+197 481 0 F 188 1328 103 313 24 87.53
+197 481 0 F 188 988 151 313 24 87.53
+197 481 0 F 190 506 31 315 24 87.60
+200 204 13 F 200 273 0 400 0 100.00
+200 3 0 F 204 4 460 335 23 88.61
+200 642 6 F 203 849 97 295 36 82.13
+201 238 0 F 202 274 0 400 1 99.50
+201 78 560 F 204 80 587 330 25 87.65
+202 454 120 F 202 579 7 302 34 83.17
+202 454 120 F 203 641 0 330 25 87.65
+202 454 120 F 208 506 0 320 30 85.37
+202 579 7 F 202 1722 57 296 36 82.18
+202 641 10 F 213 935 37 310 35 83.13
+202 935 37 F 190 1722 66 275 39 80.10
+202 935 37 F 190 1837 58 278 38 80.61
+203 1198 2 F 193 1722 66 282 38 80.81
+203 1198 2 F 193 1837 58 282 38 80.81
+203 579 15 F 213 935 37 293 41 80.29
+203 641 0 F 202 1722 57 318 29 85.68
+203 641 0 F 202 1837 49 318 29 85.68
+203 642 3 F 208 1076 59 303 36 82.48
+203 642 3 F 208 713 115 318 31 84.91
+203 935 37 F 193 1143 93 321 25 87.37
+204 605 67 F 212 935 38 320 32 84.62
+204 80 587 F 201 1488 343 330 25 87.65
+206 454 116 F 208 761 0 354 20 90.34
+206 642 0 F 210 1297 148 320 32 84.62
+206 642 0 F 210 658 275 320 32 84.62
+206 642 0 F 211 1327 133 318 33 84.17
+206 642 0 F 211 761 36 324 31 85.13
+206 642 0 F 211 826 178 324 31 85.13
+206 642 0 F 211 912 160 324 31 85.13
+206 642 0 F 212 798 104 322 32 84.69
+206 642 51 F 206 1289 3 385 9 95.63
+206 849 38 F 211 1456 54 321 32 84.65
+207 1049 142 F 217 1198 2 343 27 87.26
+207 1327 80 F 211 1456 54 343 25 88.04
+207 988 132 F 217 1198 2 334 30 85.85
+208 1189 23 F 217 1198 2 317 36 83.06
+208 474 215 F 203 642 3 321 30 85.40
+208 481 0 F 199 1120 114 323 28 86.24
+208 506 0 F 202 1722 57 308 34 83.41
+208 506 0 F 202 1837 49 308 34 83.41
+208 506 0 F 205 1143 83 359 18 91.28
+208 761 0 F 206 1722 53 342 24 88.41
+208 761 0 F 206 1837 45 345 23 88.89
+209 473 14 F 205 1943 54 291 41 80.19
+209 481 9 F 205 849 95 306 36 82.61
+209 579 0 F 209 1837 42 301 39 81.34
+210 1076 0 F 212 1456 53 335 29 86.26
+211 1456 54 F 209 1837 25 318 34 83.81
+211 413 38 F 205 1250 74 326 30 85.58
+211 506 10 F 217 1198 2 332 32 85.05
+211 543 152 F 206 642 0 324 31 85.13
+211 579 12 F 212 1328 79 336 29 86.29
+211 936 0 F 215 937 160 384 14 93.43
+212 1365 24 F 211 1456 54 360 21 90.07
+212 454 107 F 216 1189 0 332 32 85.05
+213 935 37 F 203 1100 128 326 30 85.58
+213 935 37 F 203 1360 104 314 34 83.65
+213 935 37 F 204 1365 59 327 30 85.61
+213 935 37 F 209 1196 43 320 34 83.89
+213 935 37 F 212 1198 2 299 42 80.24
+214 506 7 F 211 579 12 329 32 84.94
+215 4 422 F 213 7 0 377 17 92.06
+215 474 208 F 218 481 0 340 31 85.68
+215 641 2 F 216 1328 75 362 23 89.33
+216 1189 0 F 212 1722 44 317 37 82.71
+216 1189 0 F 212 1837 36 326 34 84.11
+217 1120 96 F 228 1198 2 340 35 84.27
+217 1143 69 F 216 1189 0 367 22 89.84
+217 1198 2 F 209 1328 82 327 33 84.51
+217 380 79 F 221 506 0 375 21 90.41
+217 451 112 F 221 506 0 378 20 90.87
+217 641 0 F 216 1049 133 382 17 92.15
+217 641 0 F 216 988 123 373 20 90.76
+217 641 0 F 217 1189 14 350 28 87.10
+217 658 254 F 228 1198 2 343 34 84.72
+218 40 284 F 219 66 97 371 22 89.93
+218 459 64 F 210 587 5 308 40 81.31
+218 481 0 F 213 1297 145 332 33 84.69
+218 481 0 F 213 658 272 335 32 85.15
+218 481 0 F 213 713 110 332 33 84.69
+218 481 0 F 214 1076 53 318 38 82.41
+218 481 0 F 214 1327 130 333 33 84.72
+218 481 0 F 214 543 149 339 31 85.65
+218 481 0 F 214 761 33 339 31 85.65
+218 481 0 F 214 826 175 339 31 85.65
+218 481 0 F 214 912 157 339 31 85.65
+218 481 0 F 215 798 101 334 33 84.76
+218 483 74 F 221 506 0 376 21 90.43
+218 713 91 F 228 1198 2 341 35 84.30
+218 798 84 F 225 1198 5 344 33 85.10
+219 543 130 F 228 1198 2 351 32 85.68
+220 474 189 F 228 1198 2 349 33 85.27
+220 912 137 F 228 1198 2 352 32 85.71
+221 1076 32 F 228 1198 2 326 41 81.74
+221 473 2 F 220 1870 65 309 44 80.05
+221 506 0 F 217 1100 119 369 23 89.50
+221 506 0 F 217 1151 132 378 20 90.87
+221 506 0 F 217 1360 95 360 26 88.13
+221 506 0 F 217 641 0 357 27 87.67
+221 506 0 F 217 736 188 378 20 90.87
+221 506 0 F 217 846 294 372 22 89.95
+221 506 0 F 217 902 99 378 20 90.87
+221 506 0 F 218 1365 50 373 22 89.98
+221 506 0 F 218 630 91 358 27 87.70
+221 506 0 F 219 605 57 362 26 88.18
+221 506 0 F 220 1230 186 378 21 90.48
+221 506 0 F 223 1196 34 354 30 86.49
+222 483 158 F 221 1289 3 422 7 96.84
+222 600 54 F 218 1251 0 359 27 87.73
+222 826 153 F 230 1198 0 353 33 85.40
+223 247 130 F 226 880 2 383 22 90.20
+223 313 78 F 220 1827 5 398 15 93.23
+223 473 54 F 228 1190 1 322 43 80.93
+223 579 0 F 223 1049 126 362 28 87.44
+223 579 0 F 223 988 116 353 31 86.10
+223 579 0 F 225 1189 6 331 39 82.59
+223 761 10 F 230 1198 0 351 34 84.99
+224 1196 0 F 222 1456 43 377 23 89.69
+224 1205 24 F 219 1942 136 335 36 83.75
+224 1782 39 F 224 1827 0 415 11 95.09
+224 766 90 F 228 1190 1 329 41 81.86
+225 1297 76 F 233 1456 32 371 29 87.34
+226 454 96 F 227 1076 1 327 42 81.46
+226 454 96 F 234 1196 9 355 35 84.78
+226 886 48 F 226 1483 59 329 41 81.86
+227 579 7 F 226 1120 87 366 29 87.20
+228 1198 2 F 217 1297 127 340 35 84.27
+228 1198 2 F 219 1327 111 339 36 83.89
+228 579 100 F 229 1289 13 442 5 97.81
+228 641 0 F 226 1120 87 370 28 87.67
+228 766 32 F 229 1870 56 322 45 80.31
+228 994 65 F 229 1870 56 325 44 80.74
+229 1260 138 F 232 1615 1 410 17 92.62
+229 1879 0 F 230 1950 70 372 29 87.36
+229 641 9 F 236 1076 31 348 39 83.23
+23 1432 445 P 27 1765 64 35 5 80.00
+23 429 309 P 27 619 378 35 5 80.00
+230 1100 106 F 231 1189 0 383 26 88.72
+230 1151 119 F 231 1189 0 392 23 90.02
+230 35 0 F 229 42 0 432 9 96.08
+230 380 66 F 231 1189 0 389 24 89.59
+230 451 99 F 231 1189 0 392 23 90.02
+230 736 175 F 231 1189 0 392 23 90.02
+230 846 281 F 231 1189 0 386 25 89.15
+230 902 86 F 231 1189 0 392 23 90.02
+231 1189 0 F 231 1360 81 369 31 86.58
+231 1189 0 F 232 1365 36 379 28 87.90
+231 1189 0 F 233 1230 173 392 24 89.66
+231 1189 0 F 237 1196 20 357 37 84.19
+231 1351 210 F 231 1859 0 453 3 98.70
+231 1859 0 F 231 1936 147 447 5 97.84
+231 460 238 F 231 1859 0 453 3 98.70
+231 481 71 F 231 1289 11 441 7 96.97
+231 483 61 F 231 1189 0 390 24 89.61
+231 610 50 F 232 1289 10 427 12 94.82
+231 630 78 F 231 1189 0 369 31 86.58
+232 605 44 F 231 1189 0 367 32 86.18
+233 1641 20 F 231 1677 36 341 41 82.33
+233 382 7 F 223 918 16 327 43 81.14
+233 991 0 F 238 1013 156 414 19 91.93
+234 994 59 F 233 1943 26 341 42 82.01
+235 380 56 F 250 935 0 350 45 81.44
+235 451 89 F 250 935 0 353 44 81.86
+235 658 193 F 241 1456 24 380 32 86.55
+235 736 165 F 250 935 0 353 44 81.86
+235 846 271 F 250 935 0 347 46 81.03
+235 902 76 F 250 935 0 353 44 81.86
+236 1153 0 F 228 1161 110 377 29 87.50
+236 361 85 F 243 362 16 359 40 83.30
+237 1049 79 F 239 1456 24 386 30 87.39
+237 1289 3 F 237 1360 178 444 10 95.78
+237 1613 267 F 244 1826 57 337 48 80.04
+237 483 50 F 250 935 0 349 46 81.11
+237 579 7 F 240 1297 118 363 38 84.07
+237 579 7 F 241 713 82 370 36 84.94
+237 579 7 F 243 761 4 369 37 84.58
+238 543 68 F 241 1456 24 395 28 88.31
+238 641 0 F 239 849 61 342 45 81.13
+238 641 0 F 240 1297 118 385 31 87.03
+238 641 0 F 240 658 245 391 29 87.87
+238 641 0 F 241 713 82 383 32 86.64
+238 641 0 F 242 1327 102 384 32 86.67
+238 641 0 F 242 826 147 396 28 88.33
+238 641 0 F 243 761 4 394 29 87.94
+238 641 0 F 243 798 73 391 30 87.53
+238 641 0 F 243 912 128 400 27 88.77
+238 826 94 F 241 1456 24 383 32 86.64
+238 912 76 F 241 1456 24 392 29 87.89
+238 988 101 F 246 1196 11 397 29 88.02
+239 1 378 F 228 2 0 395 24 89.72
+239 1100 202 F 239 1289 3 451 9 96.23
+239 1143 168 F 239 1289 3 448 10 95.82
+239 1151 215 F 239 1289 3 454 8 96.65
+239 1230 272 F 239 1289 3 454 8 96.65
+239 1289 3 F 239 1365 134 448 10 95.82
+239 380 162 F 239 1289 3 454 8 96.65
+239 451 195 F 239 1289 3 454 8 96.65
+239 454 66 F 241 1456 24 354 42 82.50
+239 605 142 F 239 1289 3 448 10 95.82
+239 630 175 F 239 1289 3 454 8 96.65
+239 630 38 F 242 1456 23 379 34 85.86
+239 641 83 F 239 1289 3 436 14 94.14
+239 736 134 F 243 1456 22 389 31 87.14
+239 736 271 F 239 1289 3 454 8 96.65
+239 846 377 F 239 1289 3 451 9 96.23
+239 902 182 F 239 1289 3 454 8 96.65
+239 988 67 F 241 1456 22 378 34 85.83
+24 1193 360 P 26 1701 303 38 4 84.00
+24 1509 302 P 26 1802 120 35 5 80.00
+24 258 185 P 26 1363 154 35 5 80.00
+24 351 288 P 26 1765 48 38 4 84.00
+24 363 171 P 28 1333 189 37 5 80.77
+24 38 46 P 26 539 116 38 4 84.00
+24 458 223 F 26 1043 270 35 5 80.00
+24 527 201 P 27 1231 161 36 5 80.39
+24 527 201 P 27 1318 182 36 5 80.39
+24 576 208 P 26 1090 339 44 2 92.00
+24 58 341 F 26 1098 224 35 5 80.00
+24 632 168 P 27 1903 4 42 3 88.24
+24 753 370 F 27 1701 310 39 4 84.31
+24 788 246 F 26 1465 441 35 5 80.00
+240 1049 109 F 246 1196 11 402 28 88.48
+240 1151 77 F 243 1456 22 393 30 87.58
+240 1196 123 F 239 1289 3 428 17 92.90
+240 380 77 F 245 761 2 419 22 90.93
+240 451 110 F 245 761 2 422 21 91.34
+240 474 126 F 241 1456 24 388 31 87.11
+240 605 4 F 243 1456 22 375 36 85.09
+240 736 186 F 245 761 2 422 21 91.34
+241 1851 33 F 242 1950 58 390 31 87.16
+241 630 89 F 245 761 2 399 29 88.07
+241 798 18 F 243 1456 22 376 36 85.12
+242 1196 1 F 235 1722 24 345 44 81.55
+242 1196 1 F 235 1837 16 351 42 82.39
+242 1198 84 F 239 1289 3 430 17 92.93
+242 1230 132 F 243 1456 22 401 28 88.45
+242 227 214 F 236 808 0 340 46 80.75
+242 3 0 F 242 7 38 424 20 91.74
+242 4 422 F 238 5 0 408 24 90.00
+242 451 55 F 243 1456 22 395 30 87.63
+242 470 233 F 239 991 0 421 20 91.68
+242 483 72 F 245 761 2 418 23 90.55
+242 543 121 F 237 579 7 371 36 84.97
+242 543 121 F 238 641 0 396 28 88.33
+242 605 55 F 245 761 2 400 29 88.09
+243 1270 88 F 240 1279 0 417 22 90.89
+243 474 180 F 237 579 7 369 37 84.58
+243 474 180 F 238 641 0 397 28 88.36
+243 579 1 F 249 1076 18 372 40 83.74
+243 713 41 F 247 1837 4 367 41 83.27
+243 782 133 F 240 1279 0 414 23 90.48
+244 120 88 F 244 1624 0 476 4 98.36
+244 1299 0 F 246 1776 112 364 42 82.86
+244 1328 34 F 243 1837 8 370 39 83.98
+244 1777 34 F 252 1948 23 370 42 83.06
+244 380 20 F 249 1456 16 394 33 86.61
+244 579 0 F 246 849 54 343 49 80.00
+244 579 0 F 247 658 238 368 41 83.30
+244 579 0 F 249 1327 95 367 42 82.96
+244 579 0 F 249 826 140 376 39 84.18
+244 579 0 F 250 798 66 368 42 83.00
+244 579 0 F 250 912 121 377 39 84.21
+245 1120 43 F 247 1837 4 375 39 84.15
+245 761 2 F 240 1100 117 413 24 90.10
+245 761 2 F 240 1151 130 422 21 91.34
+245 761 2 F 240 1360 93 404 27 88.87
+245 761 2 F 240 846 292 416 23 90.52
+245 761 2 F 240 902 97 422 21 91.34
+245 761 2 F 241 1365 48 414 24 90.12
+245 761 2 F 242 1143 81 412 25 89.73
+245 761 2 F 243 1230 184 416 24 90.16
+245 761 2 F 246 1196 32 398 31 87.37
+245 885 68 F 247 1021 3 453 13 94.72
+246 1196 32 F 242 1297 116 392 32 86.89
+246 1297 73 F 250 1837 1 391 35 85.89
+246 1328 12 F 247 1456 16 373 40 83.77
+246 483 14 F 243 1456 22 393 32 86.91
+247 454 75 F 252 1365 2 406 31 87.58
+247 483 31 F 243 1837 8 400 30 87.76
+247 849 12 F 248 1837 0 366 43 82.63
+247 902 37 F 249 1456 16 400 32 87.10
+248 1196 9 F 241 1328 50 387 34 86.09
+248 1360 32 F 249 1456 16 377 40 83.90
+248 1868 37 F 248 1948 21 424 24 90.32
+248 543 76 F 247 1837 4 405 30 87.88
+248 610 0 F 245 642 12 406 29 88.24
+249 1327 56 F 250 1837 1 376 41 83.57
+249 1549 0 F 249 1551 9 450 16 93.57
+249 658 197 F 251 1837 0 422 26 89.60
+249 726 157 F 252 1393 2 468 11 95.61
+25 111 44 F 25 1372 335 38 4 84.00
+25 1214 206 F 25 1701 312 44 2 92.00
+25 1241 165 F 26 1609 258 39 4 84.31
+25 140 47 P 28 1386 264 38 5 81.13
+25 1784 19 F 25 1862 0 35 5 80.00
+25 1799 12 F 25 1862 0 35 5 80.00
+25 1799 168 F 25 1862 190 41 3 88.00
+25 19 328 F 27 640 55 37 5 80.77
+25 227 59 F 26 249 80 42 3 88.24
+25 24 225 F 25 352 178 35 5 80.00
+25 258 185 P 27 1363 113 37 5 80.77
+25 349 217 F 28 1356 61 38 5 81.13
+25 351 377 P 25 781 327 44 2 92.00
+25 363 166 P 25 1092 353 35 5 80.00
+25 426 386 F 25 1013 347 35 5 80.00
+25 426 386 F 25 470 423 35 5 80.00
+25 426 386 F 25 991 185 35 5 80.00
+25 445 86 F 25 1788 195 35 5 80.00
+25 445 86 F 25 1850 204 35 5 80.00
+25 446 230 F 27 583 144 37 5 80.77
+25 455 151 F 25 693 427 35 5 80.00
+25 488 160 P 26 561 421 36 5 80.39
+25 704 236 F 28 1140 208 38 5 81.13
+25 758 171 P 25 1765 60 38 4 84.00
+25 763 316 P 27 1883 234 40 4 84.62
+25 777 258 P 25 1765 50 38 4 84.00
+25 795 354 F 25 1013 347 35 5 80.00
+25 795 354 F 25 991 185 35 5 80.00
+25 824 342 F 25 1366 335 38 4 84.00
+25 850 238 P 26 1231 176 36 5 80.39
+25 850 238 P 26 1318 197 36 5 80.39
+25 855 314 F 25 1782 108 41 3 88.00
+25 855 314 F 25 1827 69 41 3 88.00
+25 936 349 F 25 1889 151 35 5 80.00
+25 95 0 P 25 120 197 44 2 92.00
+25 95 0 P 25 1624 109 44 2 92.00
+250 1021 0 F 250 1051 242 476 8 96.80
+250 798 27 F 249 1837 2 406 31 87.58
+250 935 0 F 235 1151 109 353 44 81.86
+250 935 0 F 238 1230 163 353 45 81.56
+251 380 31 F 251 1837 0 418 28 88.84
+251 579 44 F 251 642 6 445 19 92.43
+251 642 6 F 251 1100 157 469 11 95.62
+251 642 6 F 251 1360 133 463 13 94.82
+252 1360 46 F 250 1837 1 406 32 87.25
+252 605 10 F 250 1837 1 385 39 84.46
+252 630 43 F 250 1837 1 376 42 83.27
+252 736 139 F 251 1837 0 428 25 90.06
+252 826 98 F 251 1837 0 422 27 89.26
+252 846 245 F 251 1837 0 422 27 89.26
+252 912 80 F 251 1837 0 425 26 89.66
+253 1049 83 F 251 1837 0 414 30 88.10
+253 1143 35 F 247 1837 4 383 39 84.40
+253 1151 82 F 251 1837 0 426 26 89.68
+253 461 0 F 259 1850 260 482 10 96.09
+253 713 31 F 259 1722 0 371 47 81.64
+253 902 49 F 251 1837 0 423 27 89.29
+253 988 73 F 251 1837 0 417 29 88.49
+254 1120 34 F 256 1722 3 375 45 82.35
+254 1230 138 F 250 1837 1 414 30 88.10
+254 1297 65 F 259 1722 0 393 40 84.41
+254 1327 51 F 255 1722 4 377 44 82.71
+254 1365 0 F 249 1722 10 392 37 85.29
+254 1365 0 F 249 1837 2 398 35 86.08
+254 474 130 F 251 1837 0 421 28 88.91
+254 642 0 F 256 1365 81 474 12 95.29
+255 1100 67 F 250 1837 1 391 38 84.95
+255 451 60 F 251 1837 0 422 28 88.93
+255 455 0 F 254 1260 213 488 7 97.25
+255 597 0 F 253 1372 137 457 17 93.31
+255 713 11 F 265 1456 0 421 33 87.31
+255 849 4 F 256 1722 0 373 46 82.00
+256 1722 8 F 256 1837 0 476 12 95.31
+256 18 192 F 262 40 156 407 37 85.71
+256 542 0 F 279 1947 144 382 51 80.93
+256 605 92 F 254 642 3 462 16 93.73
+256 641 33 F 257 642 0 459 18 92.98
+256 798 21 F 255 1722 4 406 35 86.30
+257 1328 34 F 262 1365 6 426 31 88.05
+257 515 0 F 258 1905 22 368 49 80.97
+257 630 38 F 255 1722 4 371 47 81.64
+257 642 0 F 258 1143 116 470 15 94.17
+257 642 0 F 258 1151 163 476 13 94.95
+257 642 0 F 258 1230 220 476 13 94.95
+257 642 0 F 258 736 219 476 13 94.95
+257 642 0 F 258 846 325 470 15 94.17
+257 642 0 F 258 902 130 476 13 94.95
+257 642 0 F 263 1196 67 451 23 91.15
+257 642 0 F 265 1198 28 444 26 90.04
+257 658 189 F 259 1722 0 429 29 88.76
+257 846 222 F 260 1456 5 397 40 84.53
+258 1544 15 F 258 1551 0 501 5 98.06
+258 380 110 F 257 642 0 476 13 94.95
+258 451 143 F 257 642 0 476 13 94.95
+258 481 11 F 251 642 6 449 20 92.14
+258 630 123 F 257 642 0 470 15 94.17
+258 895 170 F 263 1405 10 467 18 93.09
+259 1120 11 F 265 1456 0 422 34 87.02
+259 1120 54 F 268 1196 0 413 38 85.58
+259 380 23 F 259 1722 0 422 32 87.64
+259 461 0 F 259 1788 251 419 33 87.26
+259 483 106 F 257 642 0 474 14 94.57
+259 59 193 F 263 651 9 393 43 83.52
+26 10 8 F 26 349 244 37 5 80.77
+26 1243 259 F 24 1702 231 38 4 84.00
+26 125 19 P 24 1866 79 38 4 84.00
+26 125 34 P 25 1885 65 42 3 88.24
+26 1279 236 F 24 1449 350 35 5 80.00
+26 1279 236 F 24 1451 318 35 5 80.00
+26 1372 335 P 28 1790 77 39 5 81.48
+26 142 23 F 24 1803 298 35 5 80.00
+26 1432 445 F 28 1437 376 39 5 81.48
+26 146 6 P 26 1403 192 40 4 84.62
+26 16 365 F 27 1115 86 38 5 81.13
+26 246 263 P 28 1092 281 39 5 81.48
+26 286 75 P 26 286 75 52 0 100.00
+26 347 270 P 25 622 200 39 4 84.31
+26 423 255 F 26 1403 186 46 2 92.31
+26 423 255 P 25 1372 336 45 2 92.16
+26 423 255 P 25 597 201 45 2 92.16
+26 423 258 F 27 539 117 41 4 84.91
+26 44 221 F 26 310 140 37 5 80.77
+26 44 221 F 26 310 180 37 5 80.77
+26 443 263 F 26 457 355 37 5 80.77
+26 491 200 F 27 1403 180 38 5 81.13
+26 5 247 F 27 1115 86 38 5 81.13
+26 548 314 P 27 1765 87 38 5 81.13
+26 549 286 P 26 887 292 37 5 80.77
+26 561 406 F 27 1951 7 41 4 84.91
+26 576 197 F 26 1125 302 40 4 84.62
+26 576 197 F 26 1507 362 40 4 84.62
+26 577 260 F 25 1436 394 39 4 84.31
+26 586 249 P 27 1418 396 44 3 88.68
+26 587 236 P 26 1257 197 40 4 84.62
+26 597 200 P 28 1790 77 39 5 81.48
+26 6 724 F 27 914 344 41 4 84.91
+26 661 365 P 26 887 292 37 5 80.77
+26 720 286 P 24 1024 149 35 5 80.00
+26 774 66 F 25 1513 235 36 5 80.39
+26 840 278 F 27 1318 205 44 3 88.68
+26 850 236 F 29 924 154 40 5 81.82
+26 850 238 F 26 924 195 40 4 84.62
+260 1205 24 F 253 1941 105 393 40 84.41
+260 497 95 F 258 1551 0 500 6 97.68
+260 543 64 F 259 1722 0 417 34 86.90
+260 664 16 F 270 1183 3 455 25 90.57
+260 736 131 F 259 1722 0 432 29 88.82
+260 826 90 F 259 1722 0 429 30 88.44
+260 846 237 F 259 1722 0 429 30 88.44
+260 902 42 F 258 1722 1 422 32 87.64
+260 912 72 F 259 1722 0 432 29 88.82
+261 1049 75 F 259 1722 0 421 33 87.31
+261 1151 74 F 259 1722 0 430 30 88.46
+261 1328 17 F 258 1722 1 378 47 81.89
+261 1360 37 F 258 1722 1 408 37 85.74
+261 454 58 F 259 849 0 391 43 83.46
+261 454 61 F 262 605 0 412 37 85.85
+261 483 119 F 263 610 0 452 24 90.84
+261 605 1 F 259 1722 0 391 43 83.46
+262 1049 87 F 266 1365 2 471 19 92.80
+262 380 55 F 266 1076 1 387 47 82.20
+262 451 88 F 266 1076 1 390 46 82.58
+262 474 122 F 259 1722 0 428 31 88.10
+262 658 223 F 267 1196 11 418 37 86.01
+262 736 164 F 266 1076 1 390 46 82.58
+262 846 270 F 266 1076 1 384 48 81.82
+262 902 75 F 266 1076 1 390 46 82.58
+262 988 64 F 259 1722 0 422 33 87.33
+263 1100 94 F 264 1327 80 428 33 87.48
+263 1230 129 F 259 1722 0 414 36 86.21
+263 451 52 F 259 1722 0 426 32 87.74
+263 605 120 F 265 610 18 471 19 92.80
+263 630 67 F 266 1076 1 385 48 81.85
+264 1100 58 F 259 1722 0 394 43 83.56
+264 935 48 F 255 1328 94 393 42 83.82
+264 988 75 F 268 1365 0 460 24 90.98
+265 1143 23 F 259 1722 0 380 48 81.68
+265 1646 0 F 264 1862 2 496 11 95.84
+265 1705 0 F 264 1709 0 493 12 95.46
+265 454 62 F 264 1722 0 487 14 94.71
+265 483 49 F 266 1076 1 387 48 81.92
+266 1076 1 F 262 1151 108 390 46 82.58
+266 1076 1 F 263 1360 70 373 52 80.34
+266 1076 1 F 265 1365 24 390 47 82.30
+266 1143 4 F 265 1456 0 426 35 86.82
+266 406 2 F 285 1947 138 401 50 81.85
+266 474 157 F 267 1196 11 422 37 86.12
+266 826 123 F 269 1196 9 421 38 85.79
+267 1076 0 F 264 1100 93 387 48 81.92
+267 1076 0 F 266 1143 57 401 44 83.49
+267 1076 0 F 266 1230 161 398 45 83.11
+267 1076 0 F 270 1196 8 390 49 81.75
+267 1076 32 F 266 1189 23 407 42 84.24
+267 1851 45 F 268 1879 0 484 17 93.64
+267 227 189 F 267 968 0 390 48 82.02
+267 483 11 F 259 1722 0 406 40 84.79
+267 798 49 F 269 1196 9 413 41 84.70
+268 1100 36 F 265 1456 0 419 38 85.74
+268 248 0 F 269 292 0 492 15 94.41
+268 497 0 F 264 1546 100 484 16 93.98
+268 497 0 F 264 1547 84 478 18 93.23
+268 497 0 F 264 1550 75 466 22 91.73
+268 62 300 F 271 555 0 440 33 87.76
+268 871 110 F 275 1710 150 462 27 90.06
+269 506 10 F 275 935 37 400 48 82.35
+27 115 243 F 31 1899 152 46 4 86.21
+27 1231 148 F 26 1951 8 47 2 92.45
+27 140 39 P 30 1386 262 48 3 89.47
+27 140 39 P 30 1449 404 42 5 82.46
+27 1403 197 P 23 1451 371 38 4 84.00
+27 146 50 P 25 1446 263 37 5 80.77
+27 1634 6 F 27 1634 33 51 1 96.30
+27 1634 7 F 27 1634 34 51 1 96.30
+27 1634 8 F 27 1634 35 51 1 96.30
+27 1634 9 F 27 1634 36 51 1 96.30
+27 31 10 F 30 830 312 42 5 82.46
+27 349 385 P 28 1765 71 43 4 85.45
+27 351 288 P 26 943 144 38 5 81.13
+27 351 296 F 25 974 252 37 5 80.77
+27 393 252 F 27 936 287 39 5 81.48
+27 491 198 F 27 1403 189 45 3 88.89
+27 515 315 P 26 1090 352 41 4 84.91
+27 539 307 F 25 817 230 40 4 84.62
+27 548 320 F 24 936 281 36 5 80.39
+27 552 293 F 24 552 320 36 5 80.39
+27 619 449 P 23 1697 246 35 5 80.00
+27 629 407 P 26 1765 75 38 5 81.13
+27 632 170 F 26 720 284 38 5 81.13
+27 693 380 F 27 829 219 39 5 81.48
+27 727 144 P 27 1022 373 48 2 92.59
+27 82 48 P 29 950 2 44 4 85.71
+27 856 0 P 27 1074 138 39 5 81.48
+270 1120 43 F 277 1365 2 439 36 86.84
+270 313 34 F 265 1782 2 472 21 92.15
+270 454 52 F 278 483 0 443 35 87.23
+270 506 9 F 268 1076 31 415 41 84.76
+271 679 62 F 273 759 0 502 14 94.85
+272 2 0 F 276 4 388 386 54 80.29
+272 605 25 F 276 798 40 440 36 86.86
+273 713 50 F 278 1196 0 422 43 84.39
+273 994 124 F 282 1190 1 486 23 91.71
+274 1039 0 F 274 1435 147 530 6 97.81
+274 1415 148 F 273 1724 0 499 16 94.15
+274 473 3 F 268 994 75 431 37 86.35
+274 605 2 F 274 1328 17 431 39 85.77
+275 912 96 F 277 1196 1 435 39 85.87
+275 935 37 F 265 988 132 405 45 83.33
+275 935 37 F 266 1189 23 397 48 82.26
+276 4 388 F 272 39 0 458 30 89.05
+276 454 46 F 278 1328 0 422 44 84.12
+276 543 87 F 278 1196 0 428 42 84.84
+276 605 0 F 275 1049 74 470 27 90.20
+276 605 0 F 276 988 63 459 31 88.77
+276 605 11 F 272 1120 41 428 40 85.40
+277 454 45 F 277 798 0 449 35 87.36
+277 761 2 F 276 1049 131 493 20 92.77
+277 761 2 F 276 988 121 478 25 90.96
+277 761 2 F 278 1328 71 471 28 89.91
+278 1196 0 F 274 1327 70 411 47 82.97
+278 451 156 F 281 610 0 490 23 91.77
+279 1143 9 F 278 1328 0 440 39 86.00
+279 506 0 F 271 849 61 415 45 83.64
+279 506 0 F 272 1120 87 446 35 87.30
+279 506 0 F 274 826 147 463 30 89.15
+279 506 0 F 275 761 4 464 30 89.17
+279 610 0 F 276 1360 139 471 28 89.91
+28 107 74 F 27 125 28 40 5 81.82
+28 167 252 P 29 561 416 42 5 82.46
+28 1788 187 P 28 1857 38 41 5 82.14
+28 1809 199 F 25 1857 42 41 4 84.91
+28 1809 199 F 28 1857 42 44 4 85.71
+28 1850 196 P 28 1857 38 41 5 82.14
+28 261 155 F 31 359 352 44 5 83.05
+28 314 162 P 32 1372 332 42 6 80.00
+28 314 162 P 32 597 197 42 6 80.00
+28 314 215 F 27 429 432 40 5 81.82
+28 413 202 F 26 1024 98 42 4 85.19
+28 423 257 F 31 1125 184 44 5 83.05
+28 448 282 F 33 1260 370 43 6 80.33
+28 448 282 F 33 455 158 43 6 80.33
+28 539 307 F 29 817 230 45 4 85.96
+28 571 342 P 27 1205 312 40 5 81.82
+28 587 268 F 24 1437 374 37 5 80.77
+28 619 458 F 24 1451 372 40 4 84.62
+28 632 158 F 25 1140 80 41 4 84.91
+28 749 344 P 26 786 224 39 5 81.48
+28 751 271 F 29 1522 319 42 5 82.46
+28 777 185 F 28 1372 327 41 5 82.14
+28 872 353 F 27 1395 115 40 5 81.82
+280 2 34 F 280 7 0 410 50 82.14
+280 380 123 F 283 610 0 494 23 91.83
+280 5 0 F 280 7 0 503 19 93.21
+280 7 0 F 280 16 118 410 50 82.14
+280 7 0 F 280 39 34 488 24 91.43
+281 1120 7 F 288 1143 0 470 33 88.40
+281 610 0 F 278 736 232 490 23 91.77
+281 610 2 F 283 1198 45 465 33 88.30
+281 871 111 F 283 1401 50 498 22 92.20
+281 974 0 F 277 1310 150 495 21 92.47
+282 1297 76 F 287 1365 2 458 37 86.99
+282 380 0 F 285 454 37 474 31 89.07
+282 451 47 F 280 1328 11 472 30 89.32
+282 591 0 F 283 1758 7 487 26 90.80
+282 630 27 F 282 1328 9 444 40 85.82
+282 647 2 F 279 1388 62 510 17 93.94
+282 713 41 F 287 1365 2 446 41 85.59
+282 988 44 F 283 1143 5 460 35 87.61
+283 454 39 F 274 713 10 416 47 83.12
+283 610 0 F 279 641 45 475 29 89.68
+283 610 0 F 280 1100 163 488 25 91.12
+283 610 0 F 280 1151 176 494 23 91.83
+283 610 0 F 280 1230 233 494 23 91.83
+283 610 0 F 280 846 338 491 24 91.47
+283 610 0 F 280 902 143 494 23 91.83
+284 1056 0 F 289 1828 182 408 55 80.80
+284 1514 0 F 292 1747 113 483 31 89.24
+284 17 311 F 275 46 0 397 54 80.68
+284 1892 4 F 284 1931 25 421 49 82.75
+284 474 180 F 289 506 0 474 33 88.48
+284 481 0 F 277 483 103 522 13 95.37
+285 1327 59 F 287 1365 2 443 43 84.97
+285 284 0 P 291 476 2 537 13 95.49
+285 481 19 F 283 610 0 487 27 90.49
+286 380 10 F 289 1328 2 476 33 88.52
+286 658 199 F 289 1365 0 479 32 88.87
+286 849 14 F 289 1365 0 425 50 82.61
+287 1049 49 F 288 1143 0 482 31 89.22
+287 1056 0 F 295 1653 107 414 56 80.76
+287 1170 0 F 283 1347 84 492 26 90.88
+287 454 35 F 288 1143 0 443 44 84.70
+287 543 76 F 287 1365 2 484 30 89.55
+287 826 102 F 287 1365 2 478 32 88.85
+289 1514 0 F 293 1627 121 516 22 92.44
+289 798 27 F 289 1365 0 467 37 87.20
+289 846 222 F 291 1328 0 478 34 88.28
+289 912 82 F 289 1365 0 479 33 88.58
+29 125 26 F 28 135 79 45 4 85.96
+29 1263 303 P 30 1765 61 44 5 83.05
+29 146 0 P 32 423 256 43 6 80.33
+29 162 116 F 32 848 366 43 6 80.33
+29 1788 145 F 29 1788 208 49 3 89.66
+29 1850 154 F 29 1850 217 49 3 89.66
+29 197 22 F 26 1303 65 40 5 81.82
+29 20 6 P 33 135 81 44 6 80.65
+29 314 159 F 30 1403 187 47 4 86.44
+29 35 179 F 29 73 104 55 1 96.55
+29 561 412 F 30 840 275 53 2 93.22
+29 640 280 F 28 1298 267 42 5 82.46
+29 829 230 F 31 936 319 42 6 80.00
+29 850 234 F 29 1261 203 46 4 86.21
+29 99 326 F 29 99 359 49 3 89.66
+290 1151 59 F 289 1328 2 483 32 88.95
+290 736 115 F 291 1328 0 485 32 88.98
+290 902 26 F 289 1328 2 480 33 88.60
+291 1268 211 F 290 1514 0 533 16 94.49
+291 1328 0 F 293 1360 19 455 43 85.27
+291 1402 3 F 291 1694 225 429 51 82.47
+291 358 77 F 292 1678 0 538 15 94.85
+291 474 132 F 289 1365 0 487 31 89.31
+291 678 95 F 292 1204 14 544 13 95.54
+292 1649 38 F 295 1871 4 425 54 81.60
+292 483 0 F 284 1049 65 501 25 91.32
+292 483 0 F 285 1328 6 472 35 87.87
+292 483 0 F 285 988 54 496 27 90.64
+292 579 50 F 295 610 0 506 27 90.80
+293 1100 43 F 290 1328 1 460 41 85.93
+293 1230 113 F 291 1328 0 491 31 89.38
+293 1664 0 F 296 1871 3 499 30 89.81
+293 22 368 F 282 29 0 497 26 90.96
+293 454 29 F 287 1120 1 442 46 84.14
+293 610 2 F 290 630 138 514 23 92.11
+294 451 140 F 302 481 0 557 13 95.64
+294 454 28 F 298 1360 0 463 43 85.47
+295 376 132 F 295 1402 3 548 14 95.25
+295 538 0 F 288 667 102 517 22 92.45
+295 610 0 F 292 1143 129 509 26 91.14
+295 610 0 F 292 1365 95 509 26 91.14
+295 610 0 F 295 1196 82 497 31 89.49
+296 380 0 F 298 1049 51 534 20 93.27
+296 380 0 F 300 988 39 512 28 90.60
+296 380 107 F 304 481 0 558 14 95.33
+296 454 26 F 295 630 0 429 54 81.73
+297 1132 92 F 299 1140 0 557 13 95.64
+297 1552 0 F 293 1554 56 542 16 94.58
+297 380 20 F 300 849 0 453 48 83.92
+297 474 112 F 303 483 0 507 31 89.67
+297 483 83 F 306 1198 2 537 22 92.70
+297 605 0 F 293 713 30 443 49 83.39
+297 605 0 F 294 1297 64 459 44 85.11
+297 605 0 F 297 658 188 483 37 87.54
+297 605 0 F 297 849 3 423 57 80.81
+297 605 0 F 298 1327 46 451 48 83.87
+297 605 0 F 300 826 89 483 38 87.27
+297 605 0 F 300 912 71 483 38 87.27
+297 988 100 F 298 1076 1 445 50 83.19
+298 1076 1 F 299 1328 50 450 49 83.58
+298 707 1 F 316 1623 143 458 52 83.06
+299 1049 108 F 298 1076 1 459 46 84.59
+299 1548 0 F 300 1554 49 593 2 99.33
+299 1736 0 F 302 1931 7 496 35 88.35
+299 1871 0 F 296 1892 0 535 20 93.28
+299 454 23 F 301 902 1 501 33 89.00
+299 736 127 F 300 849 0 467 44 85.31
+299 846 233 F 300 849 0 461 46 84.64
+30 0 245 P 27 583 160 42 5 82.46
+30 1074 135 F 29 1449 349 47 4 86.44
+30 1074 135 F 29 1451 317 47 4 86.44
+30 120 196 F 30 120 226 60 0 100.00
+30 120 197 F 30 120 227 60 0 100.00
+30 120 198 F 30 120 228 60 0 100.00
+30 120 199 F 30 120 229 60 0 100.00
+30 120 200 F 30 120 230 60 0 100.00
+30 120 201 F 30 120 231 60 0 100.00
+30 120 202 F 30 120 232 60 0 100.00
+30 120 203 F 30 120 233 60 0 100.00
+30 120 204 F 30 120 234 60 0 100.00
+30 120 205 F 30 120 235 60 0 100.00
+30 1225 317 F 31 1225 347 52 3 90.16
+30 1234 297 P 30 1247 479 60 0 100.00
+30 1624 108 F 30 1624 138 60 0 100.00
+30 1624 109 F 30 1624 139 60 0 100.00
+30 1624 110 F 30 1624 140 60 0 100.00
+30 1624 111 F 30 1624 141 60 0 100.00
+30 1624 112 F 30 1624 142 60 0 100.00
+30 1624 113 F 30 1624 143 60 0 100.00
+30 1624 114 F 30 1624 144 60 0 100.00
+30 1624 115 F 30 1624 145 60 0 100.00
+30 1624 116 F 30 1624 146 60 0 100.00
+30 1624 117 F 30 1624 147 60 0 100.00
+30 1882 155 P 31 1930 115 43 6 80.33
+30 20 23 P 29 1132 168 44 5 83.05
+30 299 251 P 31 840 286 43 6 80.33
+30 304 0 P 28 1765 46 43 5 82.76
+30 31 1 P 28 856 0 46 4 86.21
+30 498 370 F 32 1107 270 44 6 80.65
+30 577 254 F 27 1436 327 42 5 82.46
+30 693 316 F 30 1372 264 42 6 80.00
+30 71 198 F 26 159 60 41 5 82.14
+30 730 269 F 31 757 257 46 5 83.61
+30 80 153 P 30 1109 102 42 6 80.00
+30 850 231 P 31 1231 156 43 6 80.33
+30 850 231 P 31 1318 177 43 6 80.33
+30 859 201 P 30 1214 218 54 2 93.33
+30 865 488 F 28 1498 395 43 5 82.76
+30 873 451 P 30 1403 175 42 6 80.00
+30 943 145 P 30 1195 150 42 6 80.00
+300 481 0 F 292 1360 123 532 20 93.24
+300 543 63 F 297 605 0 471 42 85.93
+300 849 0 F 300 1151 70 465 45 85.00
+300 849 0 F 300 902 37 453 49 83.67
+300 849 0 F 301 1360 32 442 53 82.36
+300 849 0 F 302 1230 125 452 50 83.39
+300 849 0 F 303 1100 54 438 55 81.76
+301 1382 1 F 316 1933 164 470 49 84.12
+301 483 2 F 290 1120 23 456 45 84.77
+301 542 0 F 321 1828 150 475 49 84.24
+302 1708 15 F 295 1736 0 510 29 90.28
+302 317 66 F 297 1128 0 536 21 92.99
+302 451 48 F 296 713 27 463 45 84.95
+302 451 48 F 300 849 0 461 47 84.39
+302 474 121 F 297 605 0 488 37 87.65
+302 481 0 F 294 736 216 557 13 95.64
+302 877 174 F 310 1747 95 552 20 93.46
+303 1147 0 F 308 1331 108 536 25 91.82
+303 40 152 F 303 747 65 585 7 97.69
+303 451 47 F 302 1327 42 476 43 85.79
+303 451 47 F 304 798 12 496 37 87.81
+303 481 1 F 293 641 31 533 21 92.95
+304 1068 0 F 303 1517 96 559 16 94.73
+304 481 0 F 296 1100 147 555 15 95.00
+304 481 0 F 296 1143 113 552 16 94.67
+304 481 0 F 296 1151 160 561 13 95.67
+304 481 0 F 296 1230 217 561 13 95.67
+304 481 0 F 296 579 34 540 20 93.33
+304 481 0 F 296 630 120 552 16 94.67
+304 481 0 F 296 846 322 555 15 95.00
+304 481 0 F 296 902 127 561 13 95.67
+304 481 0 F 297 1365 78 550 17 94.34
+304 481 0 F 298 605 85 554 16 94.68
+304 481 0 F 302 1196 63 534 24 92.08
+304 481 0 F 303 1198 25 529 26 91.43
+304 542 0 F 326 1653 76 483 49 84.44
+305 1066 1 F 311 1600 69 487 43 86.04
+305 1649 20 F 302 1736 0 529 26 91.43
+305 506 0 F 299 1297 118 472 44 85.43
+305 506 0 F 299 658 245 475 43 85.76
+305 506 0 F 300 713 82 470 45 85.12
+305 506 0 F 301 1327 102 468 46 84.82
+305 506 0 F 301 543 121 480 42 86.14
+305 506 0 F 302 798 73 472 45 85.17
+305 506 0 F 302 912 128 481 42 86.16
+305 761 2 F 302 1189 11 469 46 84.84
+306 1297 52 F 312 1360 21 471 49 84.14
+306 483 74 F 304 641 0 571 13 95.74
+306 630 110 F 314 1198 14 557 21 93.23
+306 713 17 F 310 846 222 466 50 83.77
+306 877 193 F 305 1514 2 563 16 94.76
+307 1049 42 F 311 1360 1 522 32 89.64
+307 380 0 F 304 1120 9 476 45 85.27
+307 877 174 F 311 1627 103 579 13 95.79
+308 1143 15 F 300 1297 58 461 49 83.88
+308 18 140 F 311 747 20 448 57 81.58
+308 335 0 F 309 1059 206 614 1 99.68
+308 380 9 F 307 1297 51 501 38 87.64
+308 451 42 F 301 1297 57 486 41 86.54
+308 483 6 F 300 849 0 437 57 81.25
+308 506 0 F 303 988 123 563 16 94.76
+308 630 1 F 309 1049 40 488 43 86.06
+308 630 1 F 312 988 27 473 49 84.19
+308 766 6 F 306 994 37 473 47 84.69
+309 1548 7 F 314 1552 0 575 16 94.86
+309 1649 13 F 309 1931 0 564 18 94.17
+309 1681 0 F 308 1808 0 560 19 93.84
+309 1708 8 F 305 1931 0 524 30 90.23
+309 244 0 F 309 272 0 597 7 97.73
+309 380 8 F 316 798 0 502 41 86.88
+309 541 0 F 314 1006 81 563 20 93.58
+309 877 174 F 310 1268 193 604 5 98.38
+31 1225 324 F 31 1225 355 62 0 100.00
+31 1225 325 F 31 1225 356 62 0 100.00
+31 1225 326 F 31 1225 357 62 0 100.00
+31 1225 327 F 31 1225 358 62 0 100.00
+31 1225 328 F 31 1225 359 62 0 100.00
+31 1225 329 F 31 1225 360 62 0 100.00
+31 1386 262 F 35 1449 404 48 6 81.82
+31 1624 259 F 30 1624 290 55 2 93.44
+31 1702 121 F 31 1929 271 44 6 80.65
+31 207 252 F 27 1261 172 43 5 82.76
+31 262 269 F 33 1221 158 46 6 81.25
+31 391 284 P 31 632 166 44 6 80.65
+31 455 342 P 29 565 316 42 6 80.00
+31 561 414 P 35 1386 179 51 5 84.85
+31 619 365 P 31 928 234 44 6 80.65
+31 693 377 F 30 829 220 43 6 80.33
+310 630 20 F 313 798 3 461 54 82.66
+310 713 13 F 318 1360 15 445 61 80.57
+310 988 29 F 311 1360 1 507 38 87.76
+311 380 6 F 314 1327 30 484 47 84.96
+311 406 2 F 327 1828 144 497 47 85.27
+311 483 3 F 299 713 24 457 51 83.28
+311 483 3 F 304 1327 40 465 50 83.74
+311 755 0 F 312 1412 113 557 22 92.94
+311 885 2 F 310 1051 182 540 27 91.30
+312 1120 1 F 322 1230 95 493 47 85.17
+312 1120 1 F 322 1360 1 463 57 82.02
+312 454 10 F 303 1327 2 453 54 82.44
+312 736 114 F 316 798 0 517 37 88.22
+312 935 0 F 298 1049 109 442 56 81.64
+313 1100 44 F 306 1297 52 475 48 84.49
+313 1120 0 F 321 1151 39 496 46 85.49
+313 1120 74 F 313 1189 0 464 54 82.75
+313 1189 0 F 312 1297 106 478 49 84.32
+313 1189 0 F 315 1327 89 469 53 83.12
+313 451 121 F 324 1198 2 568 23 92.78
+313 454 9 F 298 1297 21 452 53 82.65
+313 483 1 F 301 1297 57 473 47 84.69
+313 483 67 F 310 579 0 560 21 93.26
+313 658 232 F 313 1189 0 482 48 84.66
+313 713 10 F 319 902 18 473 53 83.23
+313 713 70 F 313 1189 0 467 53 83.07
+313 736 197 F 324 1198 2 568 23 92.78
+314 1552 0 F 308 1555 108 556 22 92.93
+314 406 2 F 332 1653 70 499 49 84.83
+314 483 0 F 305 658 180 505 38 87.72
+314 483 0 F 308 543 55 499 41 86.82
+314 483 0 F 309 798 7 482 47 84.91
+314 483 0 F 309 826 80 512 37 88.12
+314 483 0 F 309 912 62 509 38 87.80
+314 543 109 F 313 1189 0 486 47 85.01
+314 641 10 F 326 1198 2 544 32 90.00
+314 713 9 F 321 1230 106 482 51 83.94
+314 713 9 F 322 1143 1 489 49 84.59
+314 798 2 F 314 1100 43 475 51 83.76
+315 1100 128 F 326 1198 2 563 26 91.89
+315 1151 141 F 326 1198 2 572 23 92.82
+315 380 2 F 313 713 10 475 51 83.76
+315 380 88 F 326 1198 2 569 24 92.51
+315 451 0 F 308 454 14 506 39 87.48
+315 454 7 F 308 658 138 521 34 89.09
+315 454 7 F 315 912 17 531 33 89.52
+315 579 15 F 326 1198 2 539 34 89.39
+315 605 68 F 323 1198 5 551 29 90.91
+315 798 1 F 310 846 222 508 39 87.52
+315 798 1 F 314 1143 9 470 53 83.15
+315 798 1 F 314 1230 113 503 42 86.65
+315 826 134 F 313 1189 0 487 47 85.03
+315 846 303 F 326 1198 2 566 25 92.20
+315 902 1 F 315 988 24 528 34 89.21
+315 902 108 F 326 1198 2 572 23 92.82
+315 988 110 F 318 1189 0 561 24 92.42
+316 1143 93 F 326 1198 2 564 26 91.90
+316 376 0 F 334 1277 1 566 28 91.38
+316 474 167 F 313 1189 0 488 47 85.06
+316 658 169 F 319 1143 4 491 48 84.88
+316 798 0 F 313 1151 57 515 38 87.92
+316 798 0 F 313 902 24 509 40 87.28
+316 798 0 F 315 1360 18 484 49 84.47
+316 798 60 F 313 1189 0 476 51 83.78
+316 902 0 F 313 1049 36 557 24 92.37
+316 912 115 F 313 1189 0 494 45 85.69
+317 1143 6 F 314 1327 30 466 55 82.57
+317 380 0 F 318 658 167 536 33 89.61
+317 380 0 F 321 543 42 536 34 89.34
+317 380 0 F 323 826 66 556 28 91.25
+317 380 0 F 324 912 47 542 33 89.70
+317 380 0 F 326 474 97 547 32 90.05
+317 428 7 F 312 1513 64 587 14 95.55
+317 428 7 F 313 1441 36 579 17 94.60
+317 454 5 F 311 543 13 502 42 86.62
+317 454 5 F 319 826 31 534 34 89.31
+317 454 5 F 320 474 64 553 28 91.21
+318 354 0 F 299 1077 34 485 44 85.74
+318 454 4 F 317 846 180 521 38 88.03
+318 454 4 F 318 1049 18 531 35 88.99
+318 454 4 F 318 736 73 540 32 89.94
+318 454 4 F 321 988 5 501 46 85.60
+318 506 2 F 315 1328 75 579 18 94.31
+318 630 2 F 313 1120 0 472 53 83.20
+319 131 0 F 319 158 0 632 2 99.37
+319 1548 0 F 318 1555 101 613 8 97.49
+319 1649 38 F 316 1664 1 467 56 82.36
+319 454 3 F 319 1151 16 542 32 89.97
+319 454 3 F 321 1100 1 484 52 83.75
+319 543 44 F 319 1143 4 506 44 86.21
+319 846 203 F 313 1120 0 491 47 85.13
+32 102 224 F 32 102 257 52 4 87.50
+32 1109 255 F 32 1403 178 46 6 81.25
+32 124 117 P 32 524 310 49 5 84.38
+32 304 0 F 32 1385 286 49 5 84.38
+32 442 99 P 32 928 214 46 6 81.25
+32 479 185 P 31 790 166 48 5 84.13
+32 929 206 P 35 1298 262 49 6 82.09
+320 409 143 F 318 456 0 632 2 99.37
+320 454 2 F 325 1230 67 525 40 87.60
+320 506 0 F 317 1189 14 550 29 90.89
+320 641 0 F 320 1360 95 577 21 93.44
+320 736 96 F 313 1120 0 495 46 85.47
+320 902 17 F 315 1297 43 503 44 86.14
+320 975 152 F 322 1301 0 597 15 95.33
+321 1288 0 F 323 1374 102 536 36 88.82
+321 1401 1 F 323 1710 106 521 41 87.27
+321 1941 0 F 323 1942 31 554 30 90.68
+321 33 105 F 320 38 672 620 7 97.82
+321 545 1 F 317 1453 139 590 16 94.98
+321 713 2 F 327 736 99 483 55 83.02
+321 849 95 F 335 935 66 536 40 87.80
+322 1100 25 F 313 1120 0 488 49 84.57
+322 1196 43 F 326 1198 2 543 35 89.20
+322 1198 2 F 311 1360 104 543 30 90.52
+322 451 112 F 322 641 0 611 11 96.58
+322 641 0 F 322 736 188 611 11 96.58
+322 713 1 F 332 1151 38 489 55 83.18
+322 719 114 F 327 1199 0 598 17 94.76
+322 849 95 F 323 1076 61 594 17 94.73
+322 849 95 F 331 935 66 566 29 91.12
+322 902 5 F 313 1120 0 485 50 84.25
+323 1 294 F 312 16 0 566 23 92.76
+323 1231 2 F 322 1318 24 624 7 97.83
+323 1381 25 F 336 1661 121 485 58 82.40
+323 579 7 F 324 641 0 563 28 91.34
+323 713 0 F 334 1100 23 492 55 83.26
+324 1734 1 F 327 1814 8 501 50 84.64
+324 380 79 F 324 641 0 612 12 96.30
+324 641 0 F 324 1100 119 600 16 95.06
+324 641 0 F 324 1151 132 615 11 96.60
+324 641 0 F 324 846 294 609 13 95.99
+324 641 0 F 324 902 99 615 11 96.60
+324 641 0 F 325 1365 50 598 17 94.76
+324 641 0 F 326 1143 83 599 17 94.77
+324 641 0 F 327 1230 186 612 13 96.01
+324 641 0 F 331 1196 34 568 29 91.15
+324 782 52 F 327 1270 4 597 18 94.47
+324 80 284 F 322 1488 8 475 57 82.35
+325 630 91 F 324 641 0 589 20 93.84
+325 826 64 F 323 1143 0 507 47 85.49
+325 960 0 F 339 970 99 589 25 92.47
+326 1198 2 F 316 1365 59 567 25 92.21
+326 1198 2 F 317 1230 196 574 23 92.85
+326 1327 18 F 332 1360 1 475 61 81.46
+326 1708 33 F 317 1892 4 469 58 81.96
+326 451 14 F 313 1120 0 483 52 83.72
+326 579 0 F 327 1360 88 575 26 92.04
+326 605 57 F 324 641 0 593 19 94.15
+326 658 159 F 332 1360 1 517 47 85.71
+326 676 49 F 324 1165 1 566 28 91.38
+326 742 7 F 319 862 36 558 29 91.01
+326 912 45 F 323 1143 0 508 47 85.52
+327 252 74 P 327 285 41 612 14 95.72
+327 624 179 F 354 1619 0 546 45 86.78
+328 385 14 F 335 665 1 591 24 92.76
+328 451 1 F 322 988 17 548 34 89.54
+328 474 95 F 323 1143 0 513 46 85.87
+328 539 94 F 328 1080 0 602 18 94.51
+328 579 0 F 329 736 181 600 19 94.22
+328 593 0 F 323 607 58 615 12 96.31
+328 630 2 F 322 1297 36 479 57 82.46
+328 720 0 F 330 1398 19 565 31 90.58
+328 761 13 F 337 935 37 587 26 92.18
+329 1049 119 F 331 1189 0 597 21 93.64
+329 1049 20 F 332 1100 4 544 39 88.20
+329 1055 0 F 328 1542 146 618 13 96.04
+329 451 0 F 321 1049 28 572 26 92.00
+329 451 105 F 328 579 0 600 19 94.22
+329 543 34 F 332 1360 1 511 50 84.87
+329 630 1 F 328 1327 16 483 58 82.34
+329 630 1 F 328 658 157 495 54 83.56
+329 630 1 F 334 912 37 510 51 84.62
+329 658 156 F 334 902 3 552 37 88.84
+329 761 12 F 330 1076 31 614 15 95.45
+33 1225 318 F 31 1225 351 58 2 93.75
+33 1225 319 F 31 1225 352 58 2 93.75
+33 159 45 F 30 1857 37 45 6 80.95
+33 305 252 F 32 1081 305 47 6 81.54
+33 42 215 F 36 264 523 57 4 88.41
+33 426 299 P 33 1112 186 48 6 81.82
+33 548 186 F 29 1884 205 44 6 80.65
+33 576 215 F 33 643 270 48 6 81.82
+33 619 458 F 31 1449 404 46 6 81.25
+33 80 127 F 33 80 162 54 4 87.88
+33 949 186 P 32 1403 178 50 5 84.62
+330 1277 1 F 326 1694 81 599 19 94.21
+330 1939 0 F 330 1940 10 591 23 93.03
+330 579 0 F 331 1100 112 601 20 93.95
+330 579 0 F 331 1151 125 604 19 94.25
+330 579 0 F 331 846 287 598 21 93.65
+330 579 0 F 331 902 92 604 19 94.25
+330 579 0 F 333 605 50 585 26 92.16
+330 579 0 F 334 1230 179 607 19 94.28
+330 588 0 F 330 775 103 600 20 93.94
+330 630 0 F 323 713 0 470 61 81.32
+330 630 0 F 336 826 53 504 54 83.78
+330 849 2 F 335 988 62 518 49 85.26
+331 1189 0 F 329 1328 61 573 29 91.21
+331 380 72 F 330 579 0 601 20 93.95
+331 386 165 F 344 1201 5 576 33 90.22
+331 483 49 F 336 1196 9 598 23 93.10
+331 543 32 F 329 630 1 504 52 84.24
+332 1536 0 F 332 1630 0 655 3 99.10
+332 849 0 F 336 1049 71 533 45 86.53
+332 849 0 F 337 1328 12 495 58 82.66
+332 912 39 F 332 1360 1 532 44 86.75
+332 977 26 F 332 1605 73 583 27 91.87
+332 988 7 F 333 1100 3 533 44 86.77
+333 1640 92 F 313 1840 0 529 39 87.93
+333 742 0 F 334 1874 34 592 25 92.50
+333 742 0 F 336 1469 114 597 24 92.83
+333 742 0 F 336 825 119 606 21 93.72
+333 826 56 F 333 1360 0 534 44 86.79
+334 492 21 F 333 742 0 607 20 94.00
+334 543 29 F 337 902 0 548 41 87.78
+334 902 3 F 329 1327 15 501 54 83.71
+335 197 126 F 336 665 0 593 26 92.25
+335 432 58 F 333 742 0 608 20 94.01
+335 474 88 F 332 1360 1 538 43 87.11
+335 652 50 F 330 742 3 581 28 91.58
+335 833 87 F 344 1146 0 577 34 89.99
+335 935 37 F 325 1327 111 570 30 90.91
+335 988 4 F 339 1230 67 551 41 87.83
+336 1544 24 F 336 1549 0 618 18 94.64
+336 1546 28 F 338 1550 1 641 11 96.74
+336 1547 12 F 338 1550 1 635 13 96.14
+336 1777 2 F 343 1868 8 493 62 81.74
+336 1910 0 F 328 1926 25 589 25 92.47
+337 474 86 F 329 630 1 507 53 84.08
+337 497 105 F 336 1549 0 622 17 94.95
+337 674 12 F 339 1281 47 619 19 94.38
+337 736 68 F 339 988 0 574 34 89.94
+337 846 174 F 337 1049 12 593 27 91.99
+337 846 174 F 339 988 0 568 36 89.35
+337 902 0 F 338 912 33 567 36 89.33
+338 658 241 F 341 761 0 664 5 98.53
+338 713 79 F 340 761 1 657 7 97.94
+338 761 1 F 337 1327 99 651 8 97.63
+339 1649 38 F 335 1892 4 527 49 85.46
+339 1820 0 F 340 1909 0 619 20 94.11
+339 440 2 F 335 765 95 623 17 94.96
+339 560 33 F 338 1069 1 614 21 93.80
+339 761 0 F 336 1120 83 642 11 96.74
+339 761 0 F 338 826 143 674 1 99.70
+339 988 0 F 338 1151 11 566 37 89.07
+34 132 236 F 36 1013 334 49 7 80.00
+34 132 236 F 36 470 410 49 7 80.00
+34 132 236 F 36 991 172 49 7 80.00
+34 20 8 P 33 135 80 49 6 82.09
+34 288 1 P 34 515 372 50 6 82.35
+34 289 40 F 33 1453 251 49 6 82.09
+34 401 96 F 33 650 13 58 3 91.04
+34 632 157 P 31 817 237 47 6 81.54
+34 753 372 F 35 1214 206 51 6 82.61
+34 753 372 P 35 1214 205 51 6 82.61
+34 80 86 F 33 80 120 58 3 91.04
+340 543 117 F 341 761 0 669 4 98.83
+340 826 49 F 337 902 0 581 32 90.55
+341 306 0 F 341 1349 124 634 16 95.31
+341 319 2 F 336 626 202 605 24 92.91
+341 474 176 F 341 761 0 670 4 98.83
+341 474 82 F 337 902 0 579 33 90.27
+341 761 0 F 337 849 57 621 19 94.40
+341 761 0 F 338 1297 114 658 7 97.94
+341 761 0 F 341 798 69 661 7 97.95
+341 761 0 F 341 912 124 670 4 98.83
+342 372 9 F 339 1348 71 660 7 97.94
+342 506 0 F 337 1049 133 646 11 96.76
+342 989 64 F 336 1350 12 612 22 93.51
+343 1120 16 F 349 1328 0 515 59 82.95
+343 1302 67 F 343 1433 4 626 20 94.17
+344 322 70 F 346 793 68 564 42 87.83
+345 584 135 F 339 1381 0 579 35 89.77
+345 658 140 F 351 1100 6 543 51 85.34
+345 826 76 F 347 1328 2 566 42 87.86
+346 736 164 F 354 1196 9 628 24 93.14
+346 912 137 F 355 935 37 623 26 92.58
+347 1297 52 F 357 1328 2 542 54 84.66
+347 579 1 F 350 1365 43 628 23 93.40
+347 658 254 F 364 935 37 594 39 89.03
+347 713 17 F 359 1328 0 523 61 82.72
+347 736 58 F 349 1049 0 621 25 92.82
+348 1064 63 F 351 1669 2 627 24 93.13
+348 1151 108 F 356 1196 9 632 24 93.18
+348 1325 136 F 350 1621 0 674 8 97.71
+348 380 55 F 356 1196 9 629 25 92.90
+348 579 0 F 350 630 84 623 25 92.84
+348 579 0 F 352 1143 75 631 23 93.43
+348 605 35 F 354 1196 11 609 31 91.17
+348 658 254 F 360 935 37 624 28 92.09
+348 713 91 F 364 935 37 589 41 88.48
+348 846 184 F 344 1327 0 527 55 84.10
+348 846 270 F 356 1196 9 626 26 92.61
+348 902 75 F 356 1196 9 632 24 93.18
+349 1049 0 F 349 1151 0 617 27 92.26
+349 1049 0 F 356 1230 50 603 34 90.35
+349 1151 21 F 344 1327 0 534 53 84.70
+349 1546 15 F 348 1547 0 679 6 98.28
+349 1554 0 F 347 1555 52 648 16 95.40
+349 451 1 F 347 826 42 582 38 89.08
+349 483 31 F 349 1365 6 650 16 95.42
+349 543 130 F 364 935 37 602 37 89.62
+349 543 14 F 353 1100 4 549 51 85.47
+349 658 177 F 357 1328 2 559 49 86.12
+349 713 91 F 360 935 37 619 30 91.54
+349 736 77 F 344 1327 0 534 53 84.70
+349 798 83 F 363 935 38 589 41 88.48
+349 935 48 F 340 1076 44 599 30 91.29
+35 1221 184 F 32 1221 220 49 6 82.09
+35 147 1 F 35 289 57 52 6 82.86
+35 82 44 P 38 1788 197 52 7 80.82
+35 82 44 P 38 1850 206 52 7 80.82
+350 218 71 P 354 296 0 677 9 97.44
+350 451 0 F 339 658 146 572 39 88.68
+350 451 0 F 342 543 21 554 46 86.71
+350 451 0 F 346 912 25 573 41 88.22
+350 451 0 F 349 474 74 588 37 89.41
+350 474 189 F 364 935 37 603 37 89.64
+350 543 13 F 357 1230 70 569 46 86.99
+350 543 130 F 360 935 37 632 26 92.68
+350 735 195 F 347 1479 14 574 41 88.24
+350 798 83 F 359 935 38 619 30 91.54
+351 1301 0 F 363 1362 83 612 34 90.48
+351 1327 34 F 357 1328 2 540 56 84.18
+351 1653 0 F 363 1947 68 585 43 87.96
+351 474 189 F 360 935 37 633 26 92.69
+352 1100 91 F 358 1196 7 623 29 91.83
+352 422 168 F 367 1126 0 638 27 92.49
+352 713 12 F 364 988 43 530 62 82.68
+352 912 19 F 351 1100 6 550 51 85.49
+353 1230 74 F 337 1297 21 516 58 83.19
+353 1230 74 F 344 1327 0 532 55 84.22
+353 543 51 F 357 1328 2 557 51 85.63
+353 985 0 F 353 1426 64 667 13 96.32
+354 404 286 F 358 1301 0 640 24 93.26
+354 912 58 F 357 1328 2 573 46 87.06
+354 965 14 F 360 1034 0 663 17 95.24
+355 601 0 F 356 609 68 636 25 92.97
+355 798 2 F 358 988 49 566 49 86.26
+356 1441 10 F 356 1513 37 664 16 95.51
+356 536 124 F 362 1034 0 667 17 95.26
+356 798 1 F 359 1328 0 553 54 84.90
+357 451 77 F 363 1196 0 636 28 92.22
+357 580 0 F 358 762 57 658 19 94.69
+357 798 0 F 359 1049 58 587 43 87.99
+357 826 124 F 372 935 0 609 40 89.03
+357 826 32 F 354 1100 3 561 50 85.94
+358 1076 1 F 356 1327 80 621 31 91.32
+358 474 106 F 359 1328 0 576 47 86.89
+358 474 65 F 354 1100 3 565 49 86.24
+358 658 127 F 363 1151 7 604 39 89.18
+358 826 123 F 358 1076 1 635 27 92.46
+359 492 0 F 362 1469 92 676 15 95.84
+359 862 0 F 375 1469 79 644 30 91.83
+36 138 46 P 37 1403 176 61 4 89.04
+36 237 45 F 36 1067 62 51 7 80.56
+36 293 30 P 36 817 231 51 7 80.56
+36 317 184 F 36 1423 261 51 7 80.56
+36 7 258 F 40 31 243 61 5 86.84
+360 1196 1 F 354 1360 61 597 39 89.08
+360 1664 0 F 362 1892 3 647 25 93.07
+360 369 21 F 360 1409 0 660 20 94.44
+360 4 304 F 356 16 0 503 71 80.17
+360 530 60 F 360 544 0 684 12 96.67
+360 544 0 F 358 1343 70 673 15 95.82
+360 935 37 F 348 1120 96 612 32 90.96
+360 935 37 F 348 1297 127 627 27 92.37
+361 1125 1 F 359 1507 63 561 53 85.28
+361 497 81 F 358 1544 2 704 5 98.61
+361 819 145 F 363 1301 0 673 17 95.30
+362 1034 0 F 355 1082 71 660 19 94.70
+362 1912 0 F 358 1913 0 648 24 93.33
+362 713 2 F 373 1049 44 561 58 84.22
+363 1301 0 F 362 1500 127 671 18 95.03
+363 477 0 F 360 1052 64 675 16 95.57
+363 543 0 F 366 736 60 606 41 88.75
+363 543 0 F 366 846 166 594 45 87.65
+363 543 0 F 368 1151 2 605 42 88.51
+364 567 38 F 366 1034 0 658 24 93.42
+364 988 59 F 361 1327 42 548 59 83.72
+365 1196 0 F 361 1230 152 645 27 92.56
+365 950 12 F 366 1041 0 662 23 93.71
+366 1049 41 F 359 1120 0 572 51 85.93
+366 197 112 F 359 385 0 662 21 94.21
+366 447 0 F 355 746 16 604 39 89.18
+366 579 4 F 375 1196 30 648 31 91.63
+366 630 68 F 372 1196 11 651 29 92.14
+367 1649 5 F 373 1708 0 635 35 90.54
+367 310 0 F 366 1363 6 637 32 91.27
+367 736 59 F 371 912 0 627 37 89.97
+367 846 165 F 371 912 0 615 41 88.89
+367 881 0 F 364 1248 100 707 8 97.81
+368 1360 47 F 371 1365 0 670 23 93.78
+368 380 35 F 373 1365 2 693 16 95.68
+368 965 0 F 366 1082 58 680 18 95.10
+369 380 14 F 380 483 0 701 16 95.73
+369 536 109 F 368 965 0 698 13 96.47
+369 736 141 F 373 1365 0 703 13 96.50
+369 902 54 F 373 1365 2 703 13 96.50
+369 988 28 F 359 1120 0 551 59 83.79
+37 20 8 P 33 125 24 49 7 80.00
+37 314 143 F 36 491 190 52 7 80.82
+37 38 46 P 36 1403 179 58 5 86.30
+37 443 271 F 36 710 246 52 7 80.82
+37 539 297 P 35 632 173 51 7 80.56
+370 1151 0 F 353 1297 5 549 58 83.96
+370 355 111 F 371 499 1 717 8 97.84
+370 483 10 F 363 605 0 661 24 93.45
+370 605 13 F 373 1365 2 665 26 93.00
+370 738 129 F 370 739 9 677 21 94.32
+371 1100 72 F 372 1365 3 677 22 94.08
+371 1151 85 F 375 1365 0 707 13 96.51
+371 1475 72 F 376 1594 0 618 43 88.49
+371 499 1 F 368 589 12 694 15 95.94
+371 846 247 F 375 1365 0 701 15 95.98
+371 912 0 F 369 1151 1 626 38 89.73
+371 912 0 F 376 1230 51 603 48 87.15
+372 1196 11 F 368 1365 25 644 32 91.35
+372 1230 141 F 373 1365 2 694 17 95.44
+372 451 62 F 373 1365 0 700 15 95.97
+372 862 0 F 385 1874 2 649 36 90.49
+373 492 0 F 361 862 12 662 24 93.46
+373 567 23 F 368 965 0 651 30 91.90
+373 988 50 F 365 1297 52 564 58 84.28
+374 1351 67 F 376 1936 2 696 18 95.20
+374 1592 0 F 361 1595 8 651 28 92.38
+374 309 7 F 368 804 88 703 13 96.50
+374 442 56 F 375 1510 8 656 31 91.72
+374 736 52 F 358 1297 0 561 57 84.43
+375 451 41 F 380 483 0 710 15 96.03
+375 652 28 F 362 862 11 632 35 90.50
+375 779 2 F 369 783 4 558 62 83.33
+375 846 157 F 358 1297 0 547 62 83.08
+376 460 93 F 376 1936 2 734 6 98.40
+376 492 0 F 377 1874 14 711 14 96.28
+376 492 0 F 377 652 29 687 22 94.16
+376 492 0 F 378 825 98 733 7 98.14
+376 558 0 F 368 1254 134 687 19 94.89
+376 634 4 F 377 976 13 705 16 95.75
+376 662 80 F 379 1193 8 629 42 88.87
+376 826 13 F 370 1151 0 644 34 90.88
+377 1469 77 F 372 1874 0 683 22 94.13
+377 432 37 F 376 492 0 738 5 98.67
+377 474 46 F 370 1151 0 645 34 90.90
+377 505 0 F 380 633 21 727 10 97.36
+377 988 49 F 377 1328 1 655 33 91.25
+378 242 0 F 379 294 0 736 7 98.15
+378 483 2 F 370 630 26 664 28 92.51
+378 483 2 F 374 1143 15 665 29 92.29
+378 739 1 F 386 1384 5 635 43 88.74
+378 912 105 F 378 1076 1 678 26 93.12
+379 1784 7 F 381 1799 0 682 26 93.16
+379 379 0 F 398 1785 85 633 48 87.64
+379 605 0 F 381 1360 34 664 32 91.58
+379 915 65 F 378 1070 0 682 25 93.39
+38 1133 186 F 38 1133 224 76 0 100.00
+38 1133 187 F 38 1133 225 76 0 100.00
+38 1133 188 F 38 1133 226 76 0 100.00
+38 1133 189 F 38 1133 227 76 0 100.00
+38 1133 190 F 38 1133 228 76 0 100.00
+38 1133 191 F 38 1133 229 76 0 100.00
+38 1133 192 F 38 1133 230 76 0 100.00
+38 1318 181 P 36 1386 178 56 6 83.78
+380 1143 47 F 383 1196 0 667 32 91.61
+380 483 0 F 371 736 121 709 14 96.27
+380 483 0 F 371 846 227 703 16 95.74
+380 483 0 F 373 1151 63 711 14 96.28
+380 483 0 F 373 1360 26 672 27 92.83
+380 483 0 F 373 902 30 705 16 95.75
+380 483 0 F 374 1230 119 700 18 95.23
+380 483 0 F 375 1100 48 692 21 94.44
+380 658 222 F 383 1076 1 673 30 92.14
+380 736 46 F 389 826 0 652 39 89.86
+381 380 22 F 383 605 0 707 19 95.03
+381 605 0 F 380 736 130 713 16 95.80
+381 61 134 F 380 64 137 713 16 95.80
+382 1121 56 F 384 1512 11 697 23 93.99
+382 546 67 F 373 884 0 692 21 94.44
+382 713 58 F 384 1076 0 685 27 92.95
+382 724 29 F 433 1826 2 605 70 82.82
+383 1076 1 F 379 1297 96 672 30 92.13
+383 318 13 F 387 905 59 701 23 94.03
+383 422 1 F 394 1794 64 630 49 87.39
+383 451 51 F 381 605 0 710 18 95.29
+383 543 97 F 383 1076 1 685 27 92.95
+383 605 0 F 382 846 236 711 18 95.29
+383 605 0 F 383 1151 73 718 16 95.82
+383 605 0 F 383 630 33 676 30 92.17
+383 605 0 F 384 902 39 713 18 95.31
+383 605 0 F 385 1230 128 708 20 94.79
+383 605 0 F 386 1100 57 682 29 92.46
+383 605 0 F 387 1143 22 680 30 92.21
+384 1076 0 F 381 1120 63 678 29 92.42
+384 355 97 F 380 589 0 725 13 96.60
+384 474 156 F 383 1076 1 683 28 92.70
+384 671 15 F 393 1334 9 693 28 92.79
+384 738 115 F 391 1384 0 697 26 93.29
+384 798 49 F 383 1076 1 665 34 91.13
+385 451 49 F 383 630 31 696 24 93.75
+386 432 25 F 373 862 0 675 28 92.62
+387 451 47 F 389 1143 18 710 22 94.33
+387 825 86 F 373 862 0 670 30 92.11
+388 1745 6 F 398 1896 0 690 32 91.86
+388 473 3 F 387 766 41 736 13 96.65
+388 630 46 F 391 1365 2 692 29 92.55
+389 1049 59 F 390 1328 0 701 26 93.32
+389 652 0 F 392 1469 62 673 36 90.78
+389 826 0 F 382 846 150 636 45 88.33
+389 826 0 F 389 1230 38 637 47 87.92
+39 1277 275 F 40 1402 258 61 6 84.81
+39 357 193 F 36 357 232 54 7 81.33
+39 501 150 P 35 548 86 53 7 81.08
+39 7 257 F 43 36 331 67 5 87.80
+39 703 367 F 33 991 148 51 7 80.56
+39 749 329 F 42 1013 290 57 8 80.25
+39 99 0 F 38 950 65 68 3 92.21
+39 99 0 F 39 1788 255 72 2 94.87
+39 99 0 F 39 1850 264 75 1 97.44
+39 99 0 F 39 461 4 75 1 97.44
+390 1449 38 F 392 1451 4 698 28 92.84
+390 37 0 F 401 1823 0 710 27 93.17
+390 546 59 F 385 890 2 718 19 95.10
+391 1787 9 F 389 1810 2 705 25 93.59
+391 470 80 F 395 1013 0 714 24 93.89
+391 825 86 F 390 1874 2 724 19 95.13
+392 1143 35 F 391 1365 2 714 23 94.13
+392 432 23 F 392 1874 0 733 17 95.66
+392 652 15 F 392 1874 0 685 33 91.58
+392 849 0 F 393 1327 43 665 40 89.81
+393 536 87 F 398 567 0 716 25 93.68
+394 574 20 F 398 1369 0 693 33 91.67
+395 1268 101 F 405 1747 0 713 29 92.75
+395 658 131 F 405 1049 12 677 41 89.75
+395 658 131 F 407 988 0 646 52 87.03
+395 826 86 F 392 849 0 715 24 93.90
+396 567 2 F 387 1082 39 705 26 93.36
+396 846 222 F 400 1143 9 718 26 93.47
+396 975 76 F 417 1362 0 687 42 89.67
+397 1653 0 F 396 1828 74 670 41 89.66
+397 18 0 F 417 46 194 634 60 85.26
+397 221 0 F 397 266 0 788 2 99.50
+397 356 33 F 390 496 1 721 22 94.41
+397 432 0 F 403 1469 51 728 24 94.00
+397 543 7 F 407 988 0 633 57 85.82
+397 658 88 F 416 1230 11 624 63 84.50
+397 826 24 F 397 988 0 647 49 87.66
+399 1882 0 F 414 1896 3 705 36 91.14
+399 35 140 F 402 72 145 717 28 93.01
+399 380 0 F 406 1360 9 730 25 93.79
+40 1363 114 F 40 1363 154 74 2 95.00
+40 1363 122 F 40 1363 162 74 2 95.00
+40 1363 123 F 40 1363 163 74 2 95.00
+40 31 243 F 40 36 332 80 0 100.00
+40 31 243 F 40 42 202 80 0 100.00
+40 310 109 F 40 310 149 80 0 100.00
+40 310 110 F 40 310 150 80 0 100.00
+40 310 111 F 40 310 151 80 0 100.00
+40 310 112 F 40 310 152 80 0 100.00
+40 310 113 F 40 310 153 80 0 100.00
+40 310 114 F 40 310 154 80 0 100.00
+40 310 115 F 40 310 155 80 0 100.00
+40 310 116 F 40 310 156 80 0 100.00
+40 310 117 F 40 310 157 80 0 100.00
+40 310 118 F 40 310 158 80 0 100.00
+40 561 400 F 40 1231 171 62 6 85.00
+40 561 400 F 40 1318 192 62 6 85.00
+400 380 1 F 408 451 26 766 14 96.53
+400 380 3 F 403 846 215 773 10 97.51
+400 542 30 F 413 1056 0 738 25 93.85
+400 652 10 F 401 825 79 711 30 92.51
+401 380 0 F 404 736 106 784 7 98.26
+401 380 2 F 407 1143 2 721 29 92.82
+401 380 2 F 408 1100 35 740 23 94.31
+402 406 40 F 413 1056 0 713 34 91.66
+402 568 10 F 406 1793 2 739 23 94.31
+403 1627 8 F 408 1747 0 754 19 95.31
+403 1764 7 F 417 1896 0 700 40 90.24
+403 380 0 F 406 630 10 722 29 92.83
+403 380 0 F 407 1151 49 786 8 98.02
+403 380 0 F 407 902 16 783 9 97.78
+403 380 0 F 409 1230 104 773 13 96.80
+403 912 9 F 407 988 0 648 54 86.67
+404 1268 97 F 411 1627 3 746 23 94.36
+404 543 0 F 414 1049 3 677 47 88.51
+404 902 15 F 407 1360 8 736 25 93.83
+405 1143 0 F 405 1360 10 681 43 89.38
+405 1767 6 F 413 1896 0 710 36 91.20
+405 336 36 F 419 1703 0 734 30 92.72
+405 798 3 F 402 1327 34 714 31 92.32
+405 867 233 F 417 1602 0 708 38 90.75
+406 530 14 F 398 1343 30 735 23 94.28
+406 736 104 F 407 1143 0 726 29 92.87
+407 1143 2 F 407 1230 106 742 24 94.10
+407 474 57 F 407 988 0 664 50 87.71
+408 798 0 F 407 826 74 755 20 95.09
+409 1049 24 F 401 1327 2 615 65 83.95
+409 1097 23 F 417 1806 1 721 35 91.53
+409 1143 0 F 409 1151 47 734 28 93.15
+409 432 9 F 410 652 0 735 28 93.16
+409 480 46 F 398 926 0 744 21 94.80
+409 522 41 F 410 1134 0 723 32 92.19
+409 630 3 F 414 1360 1 688 45 89.06
+409 826 12 F 407 1049 0 702 38 90.69
+409 902 14 F 409 1143 0 728 30 92.67
+41 362 205 F 42 362 246 68 5 87.95
+41 561 402 P 39 1596 256 65 5 87.50
+41 61 150 F 42 61 191 77 2 95.18
+410 1100 33 F 408 1143 1 725 31 92.42
+410 846 204 F 414 1360 1 731 31 92.48
+411 736 97 F 414 1360 1 747 26 93.70
+411 912 1 F 414 1049 3 696 43 89.58
+412 1151 40 F 414 1360 1 742 28 93.22
+412 630 2 F 414 736 96 730 32 92.25
+412 654 1 F 407 807 63 711 36 91.21
+412 849 0 F 415 912 68 746 27 93.47
+413 1100 26 F 414 1360 1 704 41 90.08
+413 713 27 F 417 849 0 710 40 90.36
+414 1230 95 F 414 1360 1 735 31 92.51
+414 299 0 P 420 883 20 729 35 91.61
+414 713 1 F 420 1327 16 723 37 91.13
+414 736 96 F 416 902 5 800 10 97.59
+415 1663 0 F 414 1893 27 700 43 89.63
+415 452 0 F 413 882 3 750 26 93.72
+415 630 1 F 416 846 202 729 34 91.82
+415 630 1 F 418 1151 38 737 32 92.32
+415 630 1 F 419 902 4 732 34 91.85
+415 691 0 F 433 814 49 722 42 90.09
+415 713 0 F 428 826 53 729 38 90.98
+416 1764 10 F 415 1882 0 783 16 96.15
+416 630 0 F 420 1100 23 719 39 90.67
+416 630 0 F 421 1230 92 732 35 91.64
+416 658 186 F 416 849 1 763 23 94.47
+417 223 0 F 414 271 2 801 10 97.59
+417 451 15 F 414 1360 1 726 35 91.58
+417 849 0 F 413 1297 62 722 36 91.33
+417 849 0 F 417 1120 27 705 43 89.69
+418 229 0 F 419 270 0 828 3 99.28
+418 318 13 F 428 1693 142 621 75 82.27
+418 404 186 F 420 975 52 760 26 93.79
+418 819 76 F 443 1362 3 726 45 89.55
+419 1120 0 F 419 1327 17 715 41 90.21
+419 474 45 F 417 1049 0 722 38 90.91
+419 543 61 F 416 849 1 748 29 93.05
+419 846 199 F 422 902 1 793 16 96.20
+419 975 53 F 419 1500 29 781 19 95.47
+42 1788 136 F 43 1788 178 61 8 81.18
+42 1850 145 F 43 1850 187 61 8 81.18
+42 357 44 F 42 357 92 60 8 80.95
+42 470 366 F 39 749 329 57 8 80.25
+42 61 154 F 42 61 196 84 0 100.00
+42 61 155 F 42 61 197 84 0 100.00
+42 61 156 F 42 61 198 84 0 100.00
+42 64 149 F 42 64 191 84 0 100.00
+42 64 150 F 42 64 192 84 0 100.00
+42 64 151 F 42 64 193 84 0 100.00
+42 64 152 F 42 64 194 84 0 100.00
+42 64 153 F 42 64 195 84 0 100.00
+42 64 154 F 42 64 196 84 0 100.00
+42 64 155 F 42 64 197 84 0 100.00
+42 64 156 F 42 64 198 84 0 100.00
+42 64 157 F 42 64 199 84 0 100.00
+42 64 158 F 42 64 200 84 0 100.00
+42 65 149 F 42 65 191 84 0 100.00
+42 65 150 F 42 65 192 84 0 100.00
+42 65 151 F 42 65 193 84 0 100.00
+42 65 152 F 42 65 194 84 0 100.00
+42 65 153 F 42 65 195 84 0 100.00
+42 65 154 F 42 65 196 84 0 100.00
+42 65 155 F 42 65 197 84 0 100.00
+42 65 156 F 42 65 198 84 0 100.00
+42 65 157 F 42 65 199 84 0 100.00
+42 65 158 F 42 65 200 84 0 100.00
+420 404 213 F 444 1362 2 699 55 87.27
+420 798 13 F 417 849 0 723 38 90.92
+420 902 3 F 422 1230 91 785 19 95.49
+421 695 59 F 427 938 0 761 29 93.16
+421 884 0 F 427 890 8 770 26 93.87
+422 432 0 F 423 825 61 791 18 95.74
+422 474 1 F 425 1230 2 679 56 86.78
+422 474 118 F 417 849 0 758 27 93.56
+422 536 58 F 414 1082 12 755 27 93.54
+423 449 0 F 421 868 143 802 14 96.68
+423 474 0 F 408 736 18 693 46 88.93
+423 474 0 F 418 846 114 685 52 87.63
+423 713 17 F 432 798 1 753 34 92.05
+423 902 0 F 422 1151 34 818 9 97.87
+423 902 0 F 423 1100 20 747 33 92.20
+424 451 10 F 420 902 1 787 19 95.50
+424 454 70 F 432 1837 0 793 21 95.09
+424 892 0 F 420 1300 64 772 24 94.31
+425 489 0 F 429 1339 12 806 16 96.25
+425 630 9 F 426 1143 1 728 41 90.36
+425 658 60 F 426 736 0 683 56 86.84
+426 826 55 F 419 1120 0 743 34 91.95
+426 988 0 F 424 1049 12 766 28 93.41
+427 1764 1 F 432 1767 0 796 21 95.11
+428 658 174 F 433 798 0 795 22 94.89
+428 798 0 F 428 912 55 796 20 95.33
+429 1297 21 F 436 1327 0 754 37 91.45
+429 543 51 F 430 798 3 793 22 94.88
+43 362 208 F 42 362 251 73 4 90.59
+43 95 10 P 44 120 288 69 6 86.21
+430 412 83 F 436 1525 0 755 37 91.45
+430 61 134 F 438 65 137 787 27 93.78
+430 798 3 F 423 1297 52 766 29 93.20
+432 584 48 F 449 1661 0 707 58 86.83
+432 701 5 F 422 715 7 731 41 90.40
+432 798 1 F 428 1120 16 752 36 91.63
+432 825 27 F 441 1469 13 765 36 91.75
+433 1049 0 F 413 1297 4 630 72 82.98
+433 1745 0 F 427 1764 1 776 28 93.49
+434 406 8 F 430 542 0 771 31 92.82
+434 426 27 F 429 795 0 722 47 89.11
+434 451 0 F 427 736 83 825 12 97.21
+434 451 0 F 427 846 189 816 15 96.52
+434 451 0 F 428 1151 26 823 13 96.98
+434 451 0 F 429 1100 12 764 33 92.35
+434 451 0 F 431 1230 80 805 20 95.38
+434 846 184 F 437 1100 6 772 33 92.42
+435 1828 6 F 446 1947 0 734 49 88.88
+435 474 105 F 433 798 0 811 19 95.62
+435 713 0 F 446 912 37 782 33 92.51
+435 736 75 F 437 1100 4 782 30 93.12
+436 1210 50 F 431 1516 1 786 27 93.77
+436 543 44 F 429 713 11 793 24 94.45
+436 549 0 F 448 661 68 773 37 91.63
+437 658 140 F 436 1327 0 777 32 92.67
+437 713 3 F 437 1297 38 769 35 91.99
+437 713 3 F 442 1120 2 789 30 93.17
+438 1696 0 F 439 1781 23 748 43 90.19
+438 905 0 F 451 1693 83 730 53 88.08
+439 376 0 F 450 1694 81 703 62 86.05
+439 543 16 F 436 1327 0 782 31 92.91
+44 1363 114 F 44 1363 194 73 5 88.64
+44 1402 129 F 46 1402 188 69 7 84.44
+44 310 109 F 44 310 189 82 2 95.45
+44 42 179 F 44 73 104 82 2 95.45
+440 1100 3 F 442 1230 71 792 30 93.20
+440 654 1 F 432 866 142 719 51 88.30
+441 658 161 F 438 713 2 777 34 92.26
+442 1100 1 F 440 1151 16 789 31 92.97
+443 1226 5 F 421 1296 26 732 44 89.81
+444 1120 0 F 439 1297 36 772 37 91.62
+444 658 158 F 444 1120 0 786 34 92.34
+444 912 19 F 436 1327 0 778 34 92.27
+445 1362 1 F 425 1500 52 732 46 89.43
+445 815 0 F 462 1699 0 778 43 90.52
+445 912 38 F 439 1120 0 791 31 92.99
+446 1620 20 F 439 1937 0 762 41 90.73
+446 1767 9 F 440 1882 0 826 20 95.49
+446 826 35 F 436 1327 0 774 36 91.84
+447 474 68 F 436 1327 0 775 36 91.85
+447 543 33 F 444 1120 0 798 31 93.04
+447 848 138 F 476 1658 0 737 62 86.57
+449 1796 26 F 439 1937 0 759 43 90.32
+45 1668 56 F 45 1668 101 81 3 93.33
+45 1668 62 F 45 1668 107 84 2 95.56
+45 1668 63 F 45 1668 108 84 2 95.56
+45 1668 64 F 45 1668 109 84 2 95.56
+45 1668 65 F 45 1668 110 84 2 95.56
+45 1668 66 F 45 1668 111 84 2 95.56
+45 1668 67 F 45 1668 112 84 2 95.56
+45 1668 68 F 45 1668 113 84 2 95.56
+45 1668 69 F 45 1668 114 84 2 95.56
+45 1668 70 F 45 1668 115 84 2 95.56
+45 1668 71 F 45 1668 116 84 2 95.56
+450 1745 9 F 443 1882 0 809 28 93.73
+451 1294 10 F 463 1786 0 740 58 87.31
+451 819 14 F 467 975 5 810 36 92.16
+452 736 58 F 454 1151 0 876 10 97.79
+453 404 187 F 455 1500 29 806 34 92.51
+453 460 27 F 452 1351 0 821 28 93.81
+453 474 87 F 444 1120 0 798 33 92.64
+454 474 86 F 440 713 0 786 36 91.95
+454 846 164 F 456 1151 0 859 17 96.26
+455 543 0 F 466 826 15 852 23 95.01
+456 1151 0 F 463 1230 50 844 25 94.56
+458 1745 0 F 455 1767 0 829 28 93.87
+458 1802 3 F 471 1877 0 827 34 92.68
+458 34 157 F 442 1317 0 789 37 91.78
+46 120 196 F 46 120 286 80 4 91.30
+46 357 385 F 50 1267 259 69 9 81.25
+46 362 195 F 42 362 241 64 8 81.82
+46 375 297 F 46 375 343 86 2 95.65
+46 375 298 F 46 375 344 86 2 95.65
+46 376 256 F 47 376 387 75 6 87.10
+46 399 66 F 43 650 2 65 8 82.02
+461 654 0 F 461 1212 120 799 41 91.11
+461 78 86 F 459 80 149 800 40 91.30
+465 658 20 F 485 846 47 737 71 85.05
+467 11 135 F 449 29 138 766 50 89.08
+467 658 110 F 481 826 0 867 27 94.30
+467 826 14 F 463 912 0 873 19 95.91
+468 807 2 F 464 866 82 800 44 90.56
+468 807 2 F 476 1212 57 824 40 91.53
+471 658 126 F 479 912 4 896 18 96.21
+474 826 7 F 450 1297 0 801 41 91.13
+475 404 165 F 466 819 35 809 44 90.65
+475 543 0 F 482 912 1 897 20 95.82
+477 1620 0 F 478 1796 6 832 41 91.41
+477 543 3 F 476 658 126 890 21 95.59
+48 1049 12 F 51 1931 256 78 7 85.86
+480 474 35 F 479 826 2 914 15 96.87
+480 543 0 F 468 1297 7 855 31 93.46
+483 912 0 F 464 1297 6 842 35 92.61
+484 2 176 F 513 6 104 730 89 82.15
+484 819 35 F 494 1500 8 882 32 93.46
+485 736 25 F 500 1230 11 898 29 94.11
+486 658 116 F 475 1297 0 853 36 92.51
+488 474 47 F 483 912 0 932 13 97.32
+49 552 293 F 49 552 344 71 9 81.63
+49 858 109 F 52 858 159 83 6 88.12
+492 474 48 F 480 543 0 903 23 95.27
+494 1788 0 F 499 1850 9 882 37 92.55
+50 1041 0 F 48 1788 211 74 8 83.67
+50 1041 0 F 48 1850 220 74 8 83.67
+50 552 290 F 51 552 340 71 10 80.20
+500 474 40 F 475 1297 0 852 41 91.59
+503 846 115 F 511 1230 2 879 45 91.12
+51 36 324 F 52 42 193 91 4 92.23
+510 736 0 F 525 846 91 915 40 92.27
+517 64 0 F 517 65 0 1034 0 100.00
+53 390 291 F 56 390 344 82 9 83.49
+53 848 88 F 58 1482 0 81 10 81.98
+53 95 0 P 54 120 198 83 8 85.05
+53 95 0 P 54 120 228 80 9 83.18
+53 95 0 P 54 120 258 86 7 86.92
+53 95 0 P 54 1624 110 83 8 85.05
+53 95 0 P 54 1624 140 80 9 83.18
+53 95 0 P 54 1624 170 86 7 86.92
+53 95 0 P 54 1624 200 83 8 85.05
+53 95 0 P 54 1624 230 104 1 98.13
+538 1 9 F 523 47 0 779 94 82.28
+540 474 0 F 522 658 80 975 29 94.54
+542 78 223 F 540 1488 8 995 29 94.64
+55 33 0 F 56 300 286 102 3 94.59
+55 390 297 F 56 390 352 90 7 87.39
+557 866 17 F 561 1212 0 884 78 86.05
+56 1575 43 F 53 1788 78 79 10 81.65
+56 73 0 F 56 300 286 97 5 91.07
+568 79 56 F 568 1495 0 1022 38 93.31
+577 2 72 F 606 3 0 916 89 84.95
+58 120 196 F 58 120 256 107 3 94.83
+58 1624 108 F 58 1624 168 107 3 94.83
+58 1668 56 F 54 1668 146 79 11 80.36
+58 381 4 F 58 399 58 83 11 81.03
+58 950 2 F 58 1788 201 110 2 96.55
+58 950 2 F 58 1850 210 110 2 96.55
+59 35 147 F 59 49 398 118 0 100.00
+59 95 0 P 59 1624 255 91 9 84.75
+597 1 0 F 592 4 7 898 97 83.68
+599 6 104 F 601 16 260 915 95 84.17
+60 1402 148 F 62 1402 209 95 9 85.25
+60 1777 34 F 60 1897 41 84 12 80.00
+60 376 277 F 62 376 338 98 8 86.89
+61 376 269 F 63 376 330 94 10 83.87
+613 4 16 F 571 47 0 1022 54 90.88
+62 1069 56 F 62 1083 133 103 7 88.71
+626 2 34 F 656 5 0 1063 73 88.61
+63 1402 143 F 63 1402 206 93 11 82.54
+63 1664 298 F 60 1722 0 93 10 83.74
+63 376 272 F 63 376 335 96 10 84.13
+63 560 88 F 62 1083 133 95 10 84.00
+639 3 14 F 631 6 14 1063 69 89.13
+653 3 0 F 643 39 72 1203 31 95.22
+655 3 0 F 650 16 156 1047 86 86.82
+660 2 0 F 687 39 0 1065 94 86.04
+668 3 0 F 660 5 38 1139 63 90.51
+67 1889 131 F 64 1889 200 98 11 83.21
+68 1613 4 F 68 1826 1 127 3 95.59
+68 7 261 F 67 300 275 102 11 83.70
+69 112 63 F 69 1624 0 126 4 94.20
+69 126 101 F 69 1206 190 105 11 84.06
+69 1932 103 F 64 1932 212 97 12 81.95
+70 126 102 F 73 1431 261 104 13 81.82
+704 5 52 F 700 6 14 1056 116 83.48
+706 2 0 F 749 16 84 1269 62 91.48
+71 1543 267 F 71 1543 350 130 4 94.37
+71 376 299 F 68 376 373 100 13 81.29
+71 719 170 F 71 1650 0 124 6 91.55
+72 1199 59 F 71 1650 0 122 7 90.21
+72 126 102 F 72 1343 156 141 1 98.61
+72 126 102 F 72 530 148 141 1 98.61
+72 126 102 F 73 544 88 142 1 98.62
+72 540 271 F 78 1520 102 105 15 80.00
+74 78 25 F 74 80 74 121 9 87.84
+742 5 0 F 746 16 118 1323 55 92.61
+75 127 0 F 75 1706 76 111 13 82.67
+75 264 513 F 77 300 265 137 5 93.42
+756 5 0 F 750 39 34 1275 77 89.77
+76 126 97 F 76 1304 165 119 11 85.53
+767 16 84 F 766 39 0 1248 95 87.61
+78 859 0 F 81 1265 168 129 10 87.42
+783 6 14 F 788 39 86 1400 57 92.74
+80 35 204 F 80 73 144 154 2 97.50
+80 61 150 F 81 61 275 146 5 93.79
+80 72 215 F 80 73 144 154 2 97.50
+80 843 10 F 78 857 0 116 14 82.28
+82 13 317 F 80 73 144 132 10 87.65
+83 61 150 F 84 61 233 152 5 94.01
+83 7 276 F 83 264 535 154 4 95.18
+84 61 150 F 87 64 278 150 7 91.81
+84 61 150 F 87 65 278 150 7 91.81
+84 64 149 F 84 64 233 159 3 96.43
+84 65 149 F 84 65 233 159 3 96.43
+85 33 0 F 84 264 534 163 2 97.63
+86 17 1 F 86 55 0 172 0 100.00
+86 73 0 F 84 264 534 155 5 94.12
+87 871 362 F 87 1401 288 156 6 93.10
+88 64 149 F 90 64 275 163 5 94.38
+88 65 149 F 90 65 275 163 5 94.38
+89 1624 130 F 89 1624 220 145 11 87.64
+90 1624 108 F 90 1624 198 147 11 87.78
+90 1624 122 F 90 1624 212 144 12 86.67
+90 1624 123 F 90 1624 213 144 12 86.67
+90 1624 124 F 90 1624 214 144 12 86.67
+90 1624 125 F 90 1624 215 144 12 86.67
+90 1624 126 F 90 1624 216 144 12 86.67
+90 1624 127 F 90 1624 217 144 12 86.67
+93 733 210 F 93 1678 0 147 13 86.02
+95 7 276 F 96 33 1 185 2 97.91
+95 7 276 F 97 73 1 177 5 94.79
+97 399 15 F 101 582 2 144 18 81.82
diff --git a/testdata/see-ext-fastq_long-u8.matches b/testdata/see-ext-fastq_long-u8.matches
new file mode 100644
index 0000000..b44c7a1
--- /dev/null
+++ b/testdata/see-ext-fastq_long-u8.matches
@@ -0,0 +1,108 @@
+19 106 0 F 21 0 83361 31 3 85.00
+19 106 0 F 22 0 83361 29 4 80.49
+19 106 0 P 21 0 53972 28 4 80.00
+19 106 1 F 21 0 34909 34 2 90.00
+19 397 3 P 21 0 98125 31 3 85.00
+19 486 7 P 22 0 68455 29 4 80.49
+20 106 0 P 23 0 53970 31 4 81.40
+20 129 5 P 21 0 90721 29 4 80.49
+20 150 6 F 20 0 87969 28 4 80.00
+20 163 6 P 20 0 91413 34 2 90.00
+20 181 6 F 21 0 20421 29 4 80.49
+20 220 6 F 22 0 52826 33 3 85.71
+20 220 6 P 20 0 84836 31 3 85.00
+20 376 3 P 23 0 90700 31 4 81.40
+20 380 3 P 20 0 58926 28 4 80.00
+20 477 0 P 22 0 5086 36 2 90.48
+20 49 6 P 20 0 76250 34 2 90.00
+21 106 1 P 20 0 73237 29 4 80.49
+21 163 5 F 19 0 83369 31 3 85.00
+21 163 5 F 20 0 83369 32 3 85.37
+21 163 5 F 20 0 84827 32 3 85.37
+21 163 5 F 21 0 83369 33 3 85.71
+21 163 5 F 22 0 83369 34 3 86.05
+21 163 5 P 19 0 90205 31 3 85.00
+21 163 5 P 21 0 73619 33 3 85.71
+21 163 5 P 21 0 74388 36 2 90.48
+21 163 5 P 23 0 74192 35 3 86.36
+21 163 5 P 23 0 74595 35 3 86.36
+21 29 5 P 20 0 75173 29 4 80.49
+21 295 4 P 22 0 73246 31 4 81.40
+21 359 5 P 20 0 74200 29 4 80.49
+21 395 1 P 20 0 73215 29 4 80.49
+21 395 3 F 19 0 76373 31 3 85.00
+21 397 3 P 21 0 5067 30 4 80.95
+21 429 2 F 24 0 84833 33 4 82.22
+21 429 2 P 21 0 90200 36 2 90.48
+21 429 5 P 22 0 52837 37 2 90.70
+21 441 4 F 20 0 33030 32 3 85.37
+21 477 1 F 23 0 5964 32 4 81.82
+21 477 4 F 21 0 48033 39 1 95.24
+21 486 5 F 19 0 83372 31 3 85.00
+21 486 5 F 21 0 83372 33 3 85.71
+21 486 5 P 21 0 80437 30 4 80.95
+21 554 5 F 19 0 88751 28 4 80.00
+21 560 5 P 22 0 56035 31 4 81.40
+21 7 3 F 21 0 55423 30 4 80.95
+21 7 4 P 22 0 81116 31 4 81.40
+21 73 0 F 19 0 55576 28 4 80.00
+22 106 1 P 20 0 68451 30 4 80.95
+22 106 1 P 23 0 52832 33 4 82.22
+22 138 0 F 21 0 48534 31 4 81.40
+22 138 3 P 22 0 73969 32 4 81.82
+22 163 0 P 24 0 74141 34 4 82.61
+22 220 4 F 23 0 91403 33 4 82.22
+22 224 1 P 20 0 66915 30 4 80.95
+22 229 1 P 22 0 6920 32 4 81.82
+22 397 1 F 18 0 55378 28 4 80.00
+22 397 3 F 20 0 14967 30 4 80.95
+22 397 4 P 21 0 74149 31 4 81.40
+22 397 4 P 24 0 74548 34 4 82.61
+22 559 4 P 18 0 39091 28 4 80.00
+22 7 4 F 20 0 83363 30 4 80.95
+23 163 3 P 21 0 6921 38 2 90.91
+23 163 3 P 21 0 90209 32 4 81.82
+23 163 3 P 22 0 6920 36 3 86.67
+23 163 3 P 22 0 90208 33 4 82.22
+23 163 3 P 23 0 90207 34 4 82.61
+23 229 3 F 23 0 83368 34 4 82.61
+23 337 1 F 25 0 57128 36 4 83.33
+23 429 0 P 23 0 52835 37 3 86.96
+23 429 3 F 21 0 83374 35 3 86.36
+23 429 3 F 27 0 83357 35 5 80.00
+23 83 3 P 22 0 74555 33 4 82.22
+24 106 0 P 26 0 88071 41 3 88.00
+24 106 1 P 26 0 90194 35 5 80.00
+24 163 2 F 21 0 84827 33 4 82.22
+24 163 2 F 22 0 84827 34 4 82.61
+24 163 2 P 20 0 90204 32 4 81.82
+24 163 2 P 26 0 74556 41 3 88.00
+24 163 2 P 27 0 74555 39 4 84.31
+24 163 2 P 28 0 74554 37 5 80.77
+24 397 2 P 23 0 73962 35 4 82.98
+24 429 2 P 26 0 74150 35 5 80.00
+24 429 2 P 27 0 74143 39 4 84.31
+24 477 2 F 21 0 40644 33 4 82.22
+24 477 2 P 23 0 90730 35 4 82.98
+24 49 1 P 29 0 30940 38 5 81.13
+25 106 1 F 22 0 84834 35 4 82.98
+25 163 1 F 25 0 83357 35 5 80.00
+25 163 1 F 25 0 83369 35 5 80.00
+25 163 1 F 26 0 83357 36 5 80.39
+25 163 1 F 26 0 83369 36 5 80.39
+25 163 1 F 27 0 83357 37 5 80.77
+25 163 1 P 21 0 90203 34 4 82.61
+25 163 1 P 22 0 90202 35 4 82.98
+25 163 1 P 23 0 90201 36 4 83.33
+25 163 1 P 26 0 74150 36 5 80.39
+25 163 1 P 26 0 74543 36 5 80.39
+25 567 1 F 23 0 73622 36 4 83.33
+25 567 1 F 24 0 74196 37 4 83.67
+25 567 1 F 24 0 74599 37 4 83.67
+26 163 0 F 23 0 83373 37 4 83.67
+26 220 0 F 26 0 90187 37 5 80.77
+26 397 0 P 24 0 74543 35 5 80.00
+26 477 0 F 25 0 90948 36 5 80.39
+26 477 0 F 28 0 40707 39 5 81.48
+26 477 0 P 28 0 6636 42 4 85.19
+26 7 0 F 25 0 83366 36 5 80.39
diff --git a/testdata/see-ext-fastq_long.matches b/testdata/see-ext-fastq_long.matches
new file mode 100644
index 0000000..a5a4c41
--- /dev/null
+++ b/testdata/see-ext-fastq_long.matches
@@ -0,0 +1,39 @@
+# Fields: s. len, s. seqnum, s. start, strand, q. len, q. seqnum, q. start, score, editdist, % identity
+# Fields: s. len, s. seqnum, s. start, strand, q. len, q. seqnum, q. start, score, editdist, % identity
+# Options: -ii fastq_long -splt struct -minidentity 80 -history 60
+17 246 0 P 17 339 0 34 0 100.00
+17 66 7 F 17 138 8 28 2 88.24
+18 119 5 F 18 491 0 36 0 100.00
+18 20 7 P 18 531 8 33 1 94.44
+18 328 8 F 18 342 0 36 0 100.00
+18 339 8 F 18 342 0 36 0 100.00
+18 376 8 F 18 495 0 36 0 100.00
+18 397 7 F 18 429 8 27 3 83.33
+19 247 7 P 19 336 7 38 0 100.00
+19 310 0 P 19 322 0 38 0 100.00
+20 163 0 F 19 429 7 30 3 84.62
+20 180 6 F 20 393 0 37 1 95.00
+20 20 5 P 20 247 6 34 2 90.00
+20 268 0 P 20 339 0 40 0 100.00
+21 163 5 F 19 429 3 28 4 80.00
+21 310 0 P 21 452 0 36 2 90.48
+21 7 5 F 23 83 3 32 4 81.82
+22 129 0 F 22 463 0 44 0 100.00
+23 20 0 P 23 554 0 37 3 86.96
+23 246 0 F 23 268 3 46 0 100.00
+23 251 0 P 23 404 2 43 1 95.65
+24 20 0 F 24 336 2 42 2 91.67
+25 180 0 P 25 336 0 44 2 92.00
+25 336 0 P 25 554 0 47 1 96.00
+25 376 0 F 23 463 0 42 2 91.67
+25 468 1 F 25 621 0 38 4 84.00
+25 531 0 P 25 579 0 44 2 92.00
+26 111 0 F 26 230 0 49 1 96.15
+26 129 0 F 26 376 0 46 2 92.31
+26 129 0 P 26 372 0 46 2 92.31
+26 143 0 F 26 328 0 43 3 88.46
+26 143 0 F 26 339 0 49 1 96.15
+26 180 0 F 26 554 0 43 3 88.46
+26 328 0 F 26 339 0 46 2 92.31
+26 372 0 P 26 376 0 49 1 96.15
+26 372 0 P 26 463 0 46 2 92.31
diff --git a/testdata/see-ext-paired-u8.matches b/testdata/see-ext-paired-u8.matches
new file mode 100644
index 0000000..e69de29
diff --git a/testdata/see-ext-paired.matches b/testdata/see-ext-paired.matches
new file mode 100644
index 0000000..9fddbbe
--- /dev/null
+++ b/testdata/see-ext-paired.matches
@@ -0,0 +1,3 @@
+10 0 0 P 10 1 0 20 0 100.00
+5 0 0 F 5 0 5 10 0 100.00
+5 1 0 F 5 1 5 10 0 100.00
diff --git a/testsuite/gt_condenseq_include.rb b/testsuite/gt_condenseq_include.rb
index f9104f9..6e07b45 100644
--- a/testsuite/gt_condenseq_include.rb
+++ b/testsuite/gt_condenseq_include.rb
@@ -239,10 +239,10 @@ Test do
     ["-full_diags yes -indexname foo -brute_force #{basename}",
      /not compatible/],
     ["-indexname foo -kmersize 8 -windowsize 8 -cutoff 0 -disable_prune " \
-     "#{basename}", 
+     "#{basename}",
      "'-cutoff 0' disables cutoffs, so '-disable_prune' should not be set"],
     ["-indexname foo -kmersize 8 -windowsize 8 -cutoff 0 -fraction 3 " \
-     "#{basename}", 
+     "#{basename}",
      "option \"-cutoff\" and option \"-fraction\" exclude each other"]
   ]
   compress_option_fails.each do |call, errmsg|
diff --git a/testsuite/gt_linspace_align_include.rb b/testsuite/gt_linspace_align_include.rb
index e64263b..c836d39 100644
--- a/testsuite/gt_linspace_align_include.rb
+++ b/testsuite/gt_linspace_align_include.rb
@@ -41,11 +41,13 @@ Test do
   filelist.each do |f1|
     filelist.each do |f2|
       if f1 != f2
-        run_test "#{$bin}gt dev linspace_align -ff #{$testdata}/nGASP/#{f1} #{$testdata}nGASP/#{f2} "\
-                 "-protein -global -l #{$testdata}BLOSUM62 \" -1\" -showonlyscore"
+        run_test "#{$bin}gt dev linspace_align -ff #{$testdata}nGASP/#{f1} #{$testdata}nGASP/#{f2} "\
+                 "-protein -global -l #{$testdata}BLOSUM62 \" -1\" -showonlyscore",\
+                 :maxtime => 180
         temp = last_stdout
-        run_test "#{$bin}gt dev linspace_align -ff #{$testdata}/nGASP/#{f1} #{$testdata}nGASP/#{f2} "\
-                 "-protein -global -l #{$testdata}BLOSUM62 \" -1\" -d -showonlyscore"
+        run_test "#{$bin}gt dev linspace_align -ff #{$testdata}nGASP/#{f1} #{$testdata}nGASP/#{f2} "\
+                 "-protein -global -l #{$testdata}BLOSUM62 \" -1\" -d -showonlyscore",\
+                 :maxtime => 180
         run "diff #{last_stdout} #{temp}"
       end
     end
@@ -169,11 +171,11 @@ if $gttestdata then
   Test do
     run_test "#{$bin}gt dev linspace_align -ff #{$gttestdata}DNA-mix/Grumbach.fna/humdystrop.fna"\
              " #{$gttestdata}DNA-mix/Grumbach.fna/humhdabcd.fna "\
-             "-dna -global -l 0 1 1 -showonlyscore", :maxtime =>120
+             "-dna -global -l 0 1 1 -showonlyscore", :maxtime => 1200
     temp = last_stdout
     run_test "#{$bin}gt dev linspace_align -ff #{$gttestdata}DNA-mix/Grumbach.fna/humdystrop.fna "\
              "#{$gttestdata}DNA-mix/Grumbach.fna/humhdabcd.fna "\
-             "-dna -global -l 0 1 1 -d -showonlyscore", :maxtime =>120
+             "-dna -global -l 0 1 1 -d -showonlyscore", :maxtime => 1500
     run "diff #{last_stdout} #{temp}"
   end
 
@@ -182,11 +184,13 @@ if $gttestdata then
   Test do
     run_test "#{$bin}gt dev linspace_align -ff #{$gttestdata}swissprot/swiss10K "\
              "#{$gttestdata}swissprot/swiss10K " \
-             "-protein -global -l #{$testdata}BLOSUM62 \" -1\" -showonlyscore"
+             "-protein -global -l #{$testdata}BLOSUM62 \" -1\" -showonlyscore",\
+             :maxtime => 120
     temp = last_stdout
     run_test "#{$bin}gt dev linspace_align -ff #{$gttestdata}swissprot/swiss10K "\
              "#{$gttestdata}swissprot/swiss10K "\
-             "-protein -global -l #{$testdata}BLOSUM62 \" -1\" -d -showonlyscore"
+             "-protein -global -l #{$testdata}BLOSUM62 \" -1\" -d -showonlyscore",\
+             :maxtime => 120
     run "diff #{last_stdout} #{temp}"
   end
 end
diff --git a/testsuite/gt_readjoiner_include.rb b/testsuite/gt_readjoiner_include.rb
index c41131e..0c8df87 100644
--- a/testsuite/gt_readjoiner_include.rb
+++ b/testsuite/gt_readjoiner_include.rb
@@ -1,6 +1,7 @@
 rdjO = "#{$bin}gt readjoiner overlap"
 rdjA = "#{$bin}gt readjoiner assembly"
 spmtest = "#{$bin}gt readjoiner spmtest"
+gfatest = "#{$bin}gt readjoiner gfa"
 cnttest = "#{$bin}gt readjoiner cnttest"
 
 def run_correct(input, k, c)
@@ -1092,6 +1093,21 @@ Test do
   run "diff reads.contigs.fas #$testdata/readjoiner/3_varlen_seq.contigs.fas"
 end
 
+# gfa
+[1, 2].each do |gfa_version|
+  %w{30x_long_varlen contained_varlen 30x_800nt 70x_100nt}.each do |fasta|
+    Name "gt readjoiner gfa#{gfa_version}: #{fasta}"
+    Keywords "gt_readjoiner gt_readjoiner_gfa"
+    Test do
+      run_prefilter("#$testdata/readjoiner/#{fasta}.fas")
+      run_overlap(32)
+      run_test "#{gfatest} -readset reads #{' -1' if gfa_version == 1}",
+        :retval => 0
+      run "diff reads.gfa #$testdata/readjoiner/#{fasta}.gfa#{gfa_version}"
+    end
+  end
+end
+
 # spmtest
 [true, false].each do |mirrored|
   %w{contained_eqlen contained_varlen 30x_800nt 70x_100nt}.each do |fasta|
@@ -1129,7 +1145,6 @@ end
 end
 
 # cnttest
-
 [true, false].each do |mirrored|
   %w{contained_eqlen contained_varlen}.each do |fasta|
     Name "gt readjoiner cnttest#{' singlestrand' if !mirrored}: #{fasta}"
diff --git a/testsuite/gt_repfind_include.rb b/testsuite/gt_repfind_include.rb
index 9e5101b..36cb544 100644
--- a/testsuite/gt_repfind_include.rb
+++ b/testsuite/gt_repfind_include.rb
@@ -48,10 +48,10 @@ def checkrepfind(reffile,withextend = false)
   minlength = determineminlength(reffile)
   run_test("#{$bin}gt repfind -l #{minlength} -ii sfxidx", :maxtime => 600)
   resultfile="#{rdir}/#{reffile}.result"
-  run "cmp #{last_stdout} #{resultfile}"
+  run "diff -I '^#' #{last_stdout} #{resultfile}"
   run_test("#{$bin}gt repfind -l #{minlength} -r -ii sfxidx", :maxtime => 600)
   resultfile="#{rdir}/#{reffile}-r.result"
-  run "cmp #{last_stdout} #{resultfile}"
+  run "diff -I '^#' #{last_stdout} #{resultfile}"
   if withextend
     run_test("#{$bin}gt repfind -l #{minlength} -ii sfxidx -extendgreedy " +
              "-minidentity 90 -maxalilendiff 30 -percmathistory 55",
@@ -61,7 +61,7 @@ def checkrepfind(reffile,withextend = false)
     else
       resultfile="#{$testdata}/repfind-result/#{reffile}-gr-ext.result"
     end
-    run "cmp #{last_stdout} #{resultfile}"
+    run "diff -I '^#' #{last_stdout} #{resultfile}"
   end
 end
 
@@ -80,7 +80,7 @@ def checkrepfindwithquery(reffile,queryfile)
   #    "#{queryfilepath}"
   #run "sed -e '/^#/d' #{last_stdout} | sort"
   # run "#{$scriptsdir}repfind-cmp.rb #{last_stdout} #{$gttestdata}repfind-result/#{reffile}-#{queryfile}.result"
-  run "cmp #{last_stdout} #{$gttestdata}repfind-result/#{reffile}-#{queryfile}.result"
+  run "diff -I '^#' #{last_stdout} #{$gttestdata}repfind-result/#{reffile}-#{queryfile}.result"
 end
 
 def crosstest(common,opts,key)
@@ -107,43 +107,44 @@ Test do
            "-indexname Atinsert -dna -tis -suf -lcp"
   run_test "#{$bin}gt repfind -minidentity 90 -l 20 -extendxdrop " +
            "-xdropbelow 5 -ii at1MB"
-  run "cmp #{last_stdout} #{rdir}/at1MB-xdrop-20-20-80-6"
+  run "diff -I '^#' #{last_stdout} #{rdir}/at1MB-xdrop-20-20-80-6"
   run_test "#{$bin}gt repfind -minidentity 80 -l 20 -extendxdrop -ii at1MB " +
            "-q #{$testdata}/U89959_genomic.fas"
-  run "cmp #{last_stdout} #{rdir}/at1MB-U8-xdrop-20-20-80-6"
+  run "diff -I '^#' #{last_stdout} #{rdir}/at1MB-U8-xdrop-20-20-80-6"
   run_test "#{$bin}gt repfind -minidentity 80 -l 20 -extendxdrop -ii at1MB " +
            "-qii U8"
-  run "cmp #{last_stdout} #{rdir}/at1MB-U8-xdrop-20-20-80-6"
+  run "diff -I '^#' #{last_stdout} #{rdir}/at1MB-U8-xdrop-20-20-80-6"
   run_test "#{$bin}gt repfind -minidentity 70 -l 700 -seedlength 15 " +
            "-extendgreedy -ii at1MB -q #{$testdata}Atinsert.fna"
-  run "cmp #{last_stdout} #{rdir}/at1MB-Atinsert-greedy-15-700-70-4-43"
+  run "diff -I '^#' #{last_stdout} #{rdir}/at1MB-Atinsert-greedy-15-700-70-4-43"
   run_test "#{$bin}gt repfind -minidentity 70 -l 700 -seedlength 15 " +
            "-extendgreedy -ii at1MB -qii Atinsert"
-  run "cmp #{last_stdout} #{rdir}/at1MB-Atinsert-greedy-15-700-70-4-43"
+  run "diff -I '^#' #{last_stdout} #{rdir}/at1MB-Atinsert-greedy-15-700-70-4-43"
   run_test "#{$bin}gt repfind -extendxdrop -ii at1MB -seedlength 70 -l 500 " +
-           "-minidentity 90 -a -verify-alignment"
-  run "cmp #{last_stdout} #{rdir}/at1MB-xdrop-70-500-90-1-39-a"
+           "-minidentity 90 -outfmt alignment=70 polinfo -verify-alignment"
+  run "diff -I '^#' #{last_stdout} #{rdir}/at1MB-xdrop-70-500-90-1-39-a"
   run_test "#{$bin}gt repfind -minidentity 75 -l 700 -seedlength 20 " +
-           "-extendgreedy -ii at1MB -q #{$testdata}Atinsert.fna -a " +
-           "-verify-alignment"
-  run "cmp #{last_stdout} #{rdir}/at1MB-Atinsert-greedy-20-700-75-3-39-a"
+           "-extendgreedy -ii at1MB -q #{$testdata}Atinsert.fna " +
+           "-outfmt alignment=70 polinfo -verify-alignment"
+  run "diff -I '^#' #{last_stdout} #{rdir}/at1MB-Atinsert-greedy-20-700-75-3-39-a"
   run_test "#{$bin}gt repfind -minidentity 75 -l 700 -seedlength 20 " +
-           "-extendgreedy -ii at1MB -qii Atinsert -a " +
-           "-verify-alignment"
-  run "cmp #{last_stdout} #{rdir}/at1MB-Atinsert-greedy-20-700-75-3-39-a"
+           "-extendgreedy -ii at1MB -qii Atinsert " +
+           "-outfmt alignment=70 polinfo -verify-alignment"
+  run "diff -I '^#' #{last_stdout} #{rdir}/at1MB-Atinsert-greedy-20-700-75-3-39-a"
   run_test "#{$bin}gt repfind -extendgreedy -ii at1MB -seedlength 14 " +
-           "-a -verify-alignment"
+           "-outfmt alignment=70 polinfo -verify-alignment"
   run_test "#{$bin}gt repfind -extendxdrop -ii at1MB -seedlength 14 " +
-           "-a -verify-alignment"
+           "-outfmt alignment=70 polinfo -verify-alignment"
   run_test "#{$bin}gt repfind -extendgreedy -ii at1MB -seedlength 70 -l 500 " +
-           "-minidentity 90 -a -verify-alignment"
-  run "cmp #{last_stdout} #{rdir}/at1MB-greedy-70-500-90-1-39-a"
+           "-minidentity 90 -outfmt alignment=70 polinfo -verify-alignment"
+  run "diff -I '^#' #{last_stdout} #{rdir}/at1MB-greedy-70-500-90-1-39-a"
   run_test "#{$bin}gt repfind -minidentity 80 -l 20 -extendxdrop -ii at1MB " +
-           "-q #{$testdata}U89959_genomic.fas -a -verify-alignment"
-  run "cmp #{last_stdout} #{rdir}/at1MB-U8-xdrop-20-20-80-6-a"
+           "-q #{$testdata}U89959_genomic.fas " +
+           "-outfmt alignment=70 polinfo -verify-alignment"
+  run "diff -I '^#' #{last_stdout} #{rdir}/at1MB-U8-xdrop-20-20-80-6-a"
   run_test "#{$bin}gt repfind -minidentity 80 -l 20 -extendxdrop -ii at1MB " +
-           "-qii U8 -a -verify-alignment"
-  run "cmp #{last_stdout} #{rdir}/at1MB-U8-xdrop-20-20-80-6-a"
+           "-qii U8 -outfmt alignment=70 polinfo -verify-alignment"
+  run "diff -I '^#' #{last_stdout} #{rdir}/at1MB-U8-xdrop-20-20-80-6-a"
   ["xdrop","greedy"].each do |ext|
     if ext == "xdrop"
       params = "6"
@@ -152,16 +153,22 @@ Test do
     end
     run_test "#{$bin}gt repfind -minidentity 80 -l 30 -seedlength 12 " +
              "-extend#{ext} -ii at1MB " +
-             "-q #{$testdata}U89959_genomic.fas -r -a -verify-alignment"
-    run "cmp #{last_stdout} #{rdir}/at1MB-U8-#{ext}-r-12-30-80-#{params}-a"
+             "-q #{$testdata}U89959_genomic.fas -r " +
+             "-outfmt alignment=70 polinfo -verify-alignment"
+    run "diff -I '^#' #{last_stdout} #{rdir}/at1MB-U8-#{ext}-r-12-30-80-#{params}-a"
     run_test "#{$bin}gt repfind -minidentity 80 -l 30 -seedlength 12 " +
              "-extend#{ext} -ii at1MB " +
-             "-qii U8 -r -a -verify-alignment"
-    run "cmp #{last_stdout} #{rdir}/at1MB-U8-#{ext}-r-12-30-80-#{params}-a"
-    run_test "#{$bin}gt repfind -seedlength 14 -a -verify-alignment -l 32 -r " +
+             "-qii U8 -r -outfmt alignment=70 polinfo -verify-alignment"
+    run "diff -I '^#' #{last_stdout} #{rdir}/at1MB-U8-#{ext}-r-12-30-80-#{params}-a"
+    run_test "#{$bin}gt repfind -seedlength 14 -l 32 -r " +
+             "-outfmt alignment=70 polinfo -verify-alignment " +
              "-extend#{ext} -ii at1MB"
-    run "cmp #{last_stdout} #{$testdata}repfind-result/at1MB-#{ext}-r-14-32-80-#{params}-a"
+    run "diff -I '^#' #{last_stdout} #{$testdata}repfind-result/at1MB-#{ext}-r-14-32-80-#{params}-a"
   end
+  run_test "#{$bin}gt repfind -extendgreedy -outfmt evalue -evalue 10e-150 -ii at1MB"
+  evalue_filter = 10e-150
+  run "mv #{last_stdout} strong.matches"
+  run "#{$scriptsdir}/evalue-filter.rb #{evalue_filter} strong.matches"
   minlen=24
   ["xdrop","greedy"].each do |ext|
     run_test "#{$bin}gt repfind -minidentity 80 -l #{minlen} -extend#{ext} " +
@@ -169,13 +176,13 @@ Test do
     run "mv #{last_stdout} at1MB-vs-U8.#{ext}.matches"
     run_test "#{$bin}gt repfind -minidentity 80 -l #{minlen} -extend#{ext} " +
              "-ii at1MB -qii U8"
-    run "cmp #{last_stdout} at1MB-vs-U8.#{ext}.matches"
+    run "diff -I '^#' #{last_stdout} at1MB-vs-U8.#{ext}.matches"
     run_test "#{$bin}gt repfind -minidentity 80 -l #{minlen} -extend#{ext} -ii U8 " +
              "-q #{$testdata}/at1MB"
     run "mv #{last_stdout} U8-vs-at1MB.#{ext}.matches"
     run_test "#{$bin}gt repfind -minidentity 80 -l #{minlen} -extend#{ext} -ii U8 " +
              "-qii at1MB"
-    run "cmp #{last_stdout} U8-vs-at1MB.#{ext}.matches"
+    run "diff -I '^#' #{last_stdout} U8-vs-at1MB.#{ext}.matches"
     run "#{$scriptsdir}cmp_db_query_exch.rb U8-vs-at1MB.#{ext}.matches " +
         "at1MB-vs-U8.#{ext}.matches"
   end
@@ -183,11 +190,11 @@ Test do
      run_test "#{$bin}gt repfind -seedlength #{seedlength} -extendgreedy -ii U8"
      run "mv #{last_stdout} U8-selfcompare.matches"
      run_test "#{$bin}gt repfind -seedlength #{seedlength} -extendgreedy -ii U8 "
-              "-cam encseq"
-     run "cmp #{last_stdout} U8-selfcompare.matches"
+              "-cam bytes,bytes"
+     run "diff -I '^#' #{last_stdout} U8-selfcompare.matches"
      run_test "#{$bin}gt repfind -seedlength #{seedlength} -extendgreedy -ii U8 "
-              "-cam encseq_reader"
-     run "cmp #{last_stdout} U8-selfcompare.matches"
+              "-cam encseq_reader,bytes"
+     run "diff -I '^#' #{last_stdout} U8-selfcompare.matches"
   end
 end
 
@@ -206,15 +213,15 @@ Test do
     run "#{$bin}gt suffixerator -indexname db-index -db db.fna #{opts}"
     ["xdrop","greedy"].each do |ext|
       common = "#{$bin}gt repfind -minidentity #{minid} -extend#{ext} " +
-               "-l #{seedlength} -a -verify-alignment"
+               "-l #{seedlength} -outfmt alignment=70 polinfo -verify-alignment"
       crosstest(common,"-ii db-query-index","#{ext}-db-query-index")
       crosstest(common,"-ii db-index -q query.fna","#{ext}-db-index-q")
       crosstest(common,"-ii db-query-r-index -r","#{ext}-db-query-r-index")
       crosstest(common,"-ii db-index -r -q query-r.fna","#{ext}-db-index-r-q")
       ["coords","al"].each do |suffix|
-        run "cmp #{ext}-db-query-index.#{suffix} #{ext}-db-index-q.#{suffix}"
-        run "cmp #{ext}-db-index-q.#{suffix} #{ext}-db-query-r-index.#{suffix}"
-        run "cmp #{ext}-db-query-r-index.#{suffix} #{ext}-db-index-r-q.#{suffix}"
+        run "diff -I '^#' #{ext}-db-query-index.#{suffix} #{ext}-db-index-q.#{suffix}"
+        run "diff -I '^#' #{ext}-db-index-q.#{suffix} #{ext}-db-query-r-index.#{suffix}"
+        run "diff -I '^#' #{ext}-db-query-r-index.#{suffix} #{ext}-db-index-r-q.#{suffix}"
       end
     end
   end
diff --git a/testsuite/gt_seed_extend_include.rb b/testsuite/gt_seed_extend_include.rb
index 3e02841..7aeaf45 100644
--- a/testsuite/gt_seed_extend_include.rb
+++ b/testsuite/gt_seed_extend_include.rb
@@ -1,5 +1,10 @@
-def build_encseq(indexname, sequencefile)
-  return "#{$bin}gt encseq encode -des no -sds no -md5 no " +
+def build_encseq(indexname, sequencefile, des = false)
+  if des
+    arg = ""
+  else
+    arg = "yes"
+  end
+  return "#{$bin}gt encseq encode -des #{arg} -sds #{arg} -md5 no " +
     "-indexname " + indexname + " " + sequencefile
 end
 
@@ -21,125 +26,169 @@ seeds = [170039800390891361279027638963673934519,
          54623490901073137545509422160541861122,
          255642063275935424280602245704332672807]
 
-# KmerPos and SeedPair verification
-Name "gt seed_extend: small_poly, no extension, verify lists"
-Keywords "gt_seed_extend only-seeds verify debug-kmer debug-seedpair small_poly"
-Test do
-  run_test build_encseq("small_poly", "#{$testdata}small_poly.fas")
-  run_test "#{$bin}gt seed_extend -only-seeds -verify -seedlength 10 " +
-           "-debug-kmer -debug-seedpair -ii small_poly -kmerfile no"
-  run "gunzip -c #{$testdata}seedextend1.out.gz | cmp #{last_stdout}"
-  run_test "#{$bin}gt seed_extend -only-seeds -verify -kmerfile no " +
-           "-debug-kmer -debug-seedpair -ii small_poly | wc -l | grep 792"
-  run_test "#{$bin}gt seed_extend -only-seeds -verify -seedlength 13 " +
-           "-debug-seedpair -ii small_poly"
-  grep last_stdout, /\# SeedPair \(0,2,12,12\)/
-  grep last_stdout, /\# SeedPair \(0,2,13,12\)/
-end
+$SPLT_LIST = ["-splt struct","-splt ulong"]
+$CAM_LIST = ["encseq", "encseq_reader","bytes"]
+$OUTFMT_ARGS = ["alignment","cigar","cigarX","polinfo","fstperquery","seed.len",
+                "seed.s","seed.q","seed_in_algn","s.seqlen",
+                "q.seqlen","evalue","subjectid","queryid","bitscore"]
 
-# Compare xdrop and greedy extension
-Name "gt seed_extend: small_poly, xdrop vs greedy extension"
-Keywords "gt_seed_extend extendgreedy extendxdrop small_poly"
+Name "gt seed_extend: ANI computation"
+Keywords "gt_seed_extend ANI"
 Test do
-  run_test build_encseq("small_poly", "#{$testdata}small_poly.fas")
-  run_test "#{$bin}gt seed_extend -extendxdrop 97 " +
-           "-l 10 -ii small_poly"
-  run "cmp #{last_stdout} #{$testdata}seedextend3.out"
-  run_test "#{$bin}gt seed_extend -extendgreedy 97 " +
-           "-l 10 -ii small_poly"
-  run "cmp #{last_stdout} #{$testdata}seedextend3.out"
+  run_test build_encseq("at1MB", "#{$testdata}at1MB")
+  run_test build_encseq("U89959_genomic", "#{$testdata}U89959_genomic.fas")
+  run_test "#{$bin}/gt seed_extend -ii at1MB -qii U89959_genomic -ani"
+  run "diff -I '^#' #{last_stdout} #{$testdata}/see-ext-ani-at1MB-U8.txt"
 end
 
-# Memlimit and maxfreq options (filter)
-Name "gt seed_extend: at1MB, no extension, memlimit, maxfreq"
-Keywords "gt_seed_extend at1MB memlimit maxfreq"
+Name "gt seed_extend: blast like output"
+Keywords "gt_seed_extend blast_format"
 Test do
+  run_test build_encseq("subject", "#{$testdata}at-C99930.fna")
+  run_test build_encseq("query-fwd", "#{$testdata}at-C99887-fwd.fna")
+  run_test build_encseq("query-rev", "#{$testdata}at-C99887-rev.fna")
+  options = "-ii subject -evalue 0.01 -outfmt alignment blast -seedlength 12 -minidentity 75"
+  ["fwd","rev"].each do |direction|
+    run_test "#{$bin}/gt seed_extend #{options} -qii query-#{direction}"
+    run "diff -I '^#' #{last_stdout} #{$testdata}/query-#{direction}.match"
+  end
   run_test build_encseq("at1MB", "#{$testdata}at1MB")
-  run_test "#{$bin}gt seed_extend -verify -debug-seedpair -memlimit 10MB " +
-           "-ii at1MB -only-seeds -no-reverse -seedlength 14"
-  grep last_stderr, /Only k-mers occurring <= 3 times will be considered, /
-    /due to small memlimit. Expect 50496 seed pairs./
-  run "gunzip -c #{$testdata}seedextend2.out.gz | cmp #{last_stdout}"
-  run_test "#{$bin}gt seed_extend -only-seeds -v -maxfreq 5 -ii at1MB"
-  grep last_stdout, /...found 622939 10-mers/
-  grep last_stdout, /...collected 305756 seed pairs/
-  grep last_stdout, /...collected 235705 seed pairs/
-  run_test "#{$bin}gt seed_extend -only-seeds -v -maxfreq 11 -memlimit 1GB " +
-           "-ii at1MB"
-  grep last_stdout, /Set k-mer maximum frequency to 11, expect 460986 seed/
+  run_test "#{$bin}/gt seed_extend -seedlength 12 -mincoverage 350 -diagbandwidth 3 -outfmt blast -ii at1MB"
+  run_test "#{$bin}/gt matchtool -type BLASTOUT -matchfile #{last_stdout}"
+  run "diff -I '^#' #{last_stdout} #{$testdata}/matchtool_see-ext.match"
 end
 
-# Filter options
-Name "gt seed_extend: diagbandwidth, mincoverage, seedlength"
-Keywords "gt_seed_extend filter diagbandwidth mincoverage memlimit"
+Name "gt seed_extend: maxmat"
+Keywords "gt_seed_extend maxmat"
 Test do
-  run_test build_encseq("gt_bioseq_succ_3", "#{$testdata}gt_bioseq_succ_3.fas")
-  for seedlength in [2, 5, 14, 32] do
-    for diagbandwidth in [0, 1, 5, 10] do
-      for mincoverage in [1, 10, 50] do
-        run_test "#{$bin}gt seed_extend -seedlength #{seedlength} " +
-                 "-diagbandwidth #{diagbandwidth} " +
-                 "-mincoverage #{mincoverage} " +
-                 "-ii gt_bioseq_succ_3", :retval => 0
-      end
-    end
-  end
+  run_test build_encseq("at1MB", "#{$testdata}at1MB")
+  run_test build_encseq("U89959_genomic", "#{$testdata}U89959_genomic.fas")
+  run_test "#{$bin}gt seed_extend -ii at1MB -qii U89959_genomic -l 30 -maxmat"
+  run "diff -I '^#' #{last_stdout} #{$testdata}see-ext-at1MB-u8-maxmat30.matches"
+  run_test "#{$bin}gt seed_extend -ii at1MB -l 250 -maxmat"
+  run "diff -I '^#' #{last_stdout} #{$testdata}see-ext-at1MB-maxmat250.matches"
+  run_test "#{$bin}gt seed_extend -ii at1MB -l 250 -maxmat -outfmt fstperquery"
+  run "#{$scriptsdir}check-fstperquery.rb #{last_stdout} #{$testdata}see-ext-at1MB-maxmat250.matches"
 end
 
-# Extension options
-Name "gt seed_extend: greedy sensitivity, l, minidentity"
-Keywords "gt_seed_extend extendgreedy sensitivity alignlength history"
+Name "gt seed_extend: symmetry of maxmat/use-apos"
+Keywords "gt_seed_extend symmetry"
 Test do
+  run_test build_encseq("u8", "#{$testdata}U89959_genomic.fas")
+  run "#{$scriptsdir}reverse-complement.rb #{$testdata}U89959_genomic.fas"
+  run "mv #{last_stdout} u8-rev.fas"
+  run_test build_encseq("u8-rev", "u8-rev.fas")
   run_test build_encseq("at1MB", "#{$testdata}at1MB")
-  for sensitivity in [90, 97, 100] do
-    for alignlength in [2, 80] do
-      for minidentity in [70, 80, 99] do
-        run_test "#{$bin}gt seed_extend -extendgreedy #{sensitivity} " +
-                 "-minidentity #{minidentity} -l #{alignlength} -a " +
-                 "-seed-display -ii at1MB", :retval => 0
-      end
-    end
-  end
-  run_test "#{$bin}gt seed_extend -extendgreedy -bias-parameters -verify " +
-           "-overlappingseeds -a -seed-display -ii at1MB", :retval => 0
+  options = "-ii at1MB -minidentity 70 -l 30 -maxmat 2 -use-apos "
+  run "#{$bin}gt seed_extend #{options} -qii u8 -no-reverse"
+  run "mv #{last_stdout} u8.matches"
+  run "#{$bin}gt seed_extend #{options} -qii u8-rev -no-forward"
+  run "mv #{last_stdout} u8-rev.matches"
+  run "#{$scriptsdir}matches-compare.rb -i u8.matches u8-rev.matches"
+  run "#{$bin}gt seed_extend #{options} -qii u8 -no-forward"
+  run "mv #{last_stdout} u8.matches"
+  run "#{$bin}gt seed_extend #{options} -qii u8-rev -no-reverse"
+  run "mv #{last_stdout} u8-rev.matches"
+  run "#{$scriptsdir}matches-compare.rb -i u8.matches u8-rev.matches"
 end
 
-# Greedy extension options
-Name "gt seed_extend: history, percmathistory, maxalilendiff"
-Keywords "gt_seed_extend extendgreedy history percmathistory maxalilendiff"
+Name "gt seed_extend: fstperquery"
+Keywords "gt_seed_extend display fstperquery"
 Test do
+  run_test build_encseq("gt_bioseq_succ_3", "#{$testdata}gt_bioseq_succ_3.fas")
   run_test build_encseq("at1MB", "#{$testdata}at1MB")
-  for history in [10, 50, 64] do
-    for percmathistory in [70, 80, 99] do
-      for maxalilendiff in [1, 10, 30] do
-        run_test "#{$bin}gt seed_extend -maxalilendiff #{maxalilendiff} " +
-        "-history #{history} -percmathistory #{percmathistory} -a " +
-        "-ii at1MB", :retval => 0
-      end
-    end
-  end
-  run_test "#{$bin}gt seed_extend -bias-parameters -seedpairdistance 10 20 " +
-  "-seed-display -ii at1MB", :retval => 0
+  run_test "#{$bin}gt seed_extend -ii at1MB -qii gt_bioseq_succ_3 -bias-parameters -outfmt fstperquery"
+  run "mv #{last_stdout} fstperquery.matches"
+  run_test "#{$bin}gt seed_extend -ii at1MB -qii gt_bioseq_succ_3 -bias-parameters"
+  run "mv #{last_stdout} all.matches"
+  run "#{$scriptsdir}check-fstperquery.rb fstperquery.matches all.matches"
+  run_test "#{$bin}gt seed_extend -ii at1MB -bias-parameters -outfmt fstperquery"
+  run "mv #{last_stdout} fstperquery.matches"
+  run_test "#{$bin}gt seed_extend -ii at1MB -bias-parameters"
+  run "mv #{last_stdout} all.matches"
+  run "#{$scriptsdir}check-fstperquery.rb fstperquery.matches all.matches"
 end
 
-# Xdrop extension options
-Name "gt seed_extend: extendxdrop, xdropbelow, cam"
-Keywords "gt_seed_extend extendxdrop xdropbelow cam"
+Name "gt seed_extend: display arguments"
+Keywords "gt_seed_extend gt_seed_extend_display"
 Test do
-  run_test build_encseq("at1MB", "#{$testdata}at1MB")
-  for sensitivity in [90, 100] do
-    for xdbelow in [1, 3, 5] do
-      for cam in ["encseq", "encseq_reader"] do
-        run_test "#{$bin}gt seed_extend -extendxdrop #{sensitivity} " +
-                 "-xdropbelow #{xdbelow} -cam #{cam} -ii at1MB", :retval => 0
-      end
-    end
+  run_test build_encseq("at1MB", "#{$testdata}at1MB", true)
+  run_test build_encseq("Atinsert.fna", "#{$testdata}Atinsert.fna", true)
+  run_test build_encseq("U89959_genomic", "#{$testdata}U89959_genomic.fas")
+  $OUTFMT_ARGS.each do |arg|
+    run_test "#{$bin}gt seed_extend -ii at1MB -outfmt #{arg}"
+    run_test "#{$bin}gt seed_extend -ii at1MB -qii Atinsert.fna -outfmt #{arg}"
+  end
+  run_test "#{$bin}gt seed_extend -ii at1MB -l 500 -outfmt alignment=70"
+  run "diff -I '^#' #{last_stdout} #{$testdata}see-ext-at1MB-500-al.matches"
+  run_test "#{$bin}gt seed_extend -ii at1MB -l 400 -outfmt evalue bitscore"
+  run "diff -I '^#' #{last_stdout} #{$testdata}see-ext-at1MB-400-evalue-bitscore.matches"
+  run_test "#{$bin}gt seed_extend -ii at1MB -l 400 -outfmt subjectid queryid"
+  run "#{$scriptsdir}se-permutation.rb #{last_stdout} #{$testdata}see-ext-at1MB-400-seqdesc.matches"
+  run_test "#{$bin}gt seed_extend -ii at1MB -l 400 -outfmt cigar"
+  run "diff -I '^#' #{last_stdout} #{$testdata}see-ext-at1MB-400-cigar.matches"
+  run_test "#{$bin}gt seed_extend -ii at1MB -l 400 -outfmt cigarX"
+  run "diff -I '^#' #{last_stdout} #{$testdata}see-ext-at1MB-400-cigarX.matches"
+  run_test "#{$bin}gt seed_extend -ii at1MB -l 700 -outfmt alignment=60 seed_in_algn"
+  run "diff -I '^#' #{last_stdout} #{$testdata}see-ext-at1MB-500-alignment-seed_in_algn.matches"
+  run_test "#{$bin}gt seed_extend -ii at1MB -l 400 -outfmt s.seqlen q.seqlen"
+  run "diff -I '^#' #{last_stdout} #{$testdata}see-ext-at1MB-400-seqlength.matches"
+  run_test "#{$bin}gt seed_extend -ii at1MB -qii Atinsert.fna -l 100 -outfmt bitscore evalue s.seqlen q.seqlen cigar"
+  run "diff -I '^#' #{last_stdout} #{$testdata}see-ext-at1MB-Atinsert100-evalue-bitscore-cigar-seqlength.matches"
+  run_test "#{$bin}gt seed_extend -ii at1MB -qii Atinsert.fna -l 100 -outfmt bitscore evalue s.seqlen q.seqlen cigarX"
+  run "diff -I '^#' #{last_stdout} #{$testdata}see-ext-at1MB-Atinsert100-evalue-bitscore-cigarX-seqlength.matches"
+  run_test "#{$bin}gt seed_extend -ii U89959_genomic -l 50 -outfmt bitscore evalue"
+  run "diff -I '^#' #{last_stdout} #{$testdata}see-ext-U8-evalue-bitscore.matches"
+  run_test "#{$bin}gt seed_extend -ii at1MB -outfmt seed failed_seed -l 600 -seedlength 20"
+  run "diff -I '^#' #{last_stdout} #{$testdata}see-ext-at1MB-500-failed_seed.matches"
+  run_test "#{$bin}gt seed_extend -ii at1MB -outfmt seed failed_seed evalue -l 100 -seedlength 20 -qii U89959_genomic"
+  run "diff #{last_stdout} #{$testdata}see-ext-at1MB-u8-failed_seed-evalue.matches"
+  evalue_filter = 10e-30
+  run_test "#{$bin}gt seed_extend -ii at1MB -evalue #{evalue_filter} -outfmt evalue"
+  run "mv #{last_stdout} strong.matches"
+  run "#{$scriptsdir}evalue-filter.rb #{evalue_filter} strong.matches"
+  ["cigar","cigarX"].each do |ci|
+    other_ci = if ci == "cigar" then "cigarX" else "cigar" end
+    run_test "#{$bin}gt dev show_seedext -f #{$testdata}see-ext-at1MB-400-#{ci}.matches -outfmt alignment"
+    run "mv #{last_stdout} alignment-from-#{ci}.txt"
+    run_test "#{$bin}gt seed_extend -ii at1MB -l 400 -outfmt alignment"
+    run "diff -I '^#' #{last_stdout} alignment-from-#{ci}.txt"
+    run_test "#{$bin}gt dev show_seedext -f #{$testdata}see-ext-at1MB-400-#{ci}.matches -outfmt #{ci}"
+    run "diff -I '^#' #{last_stdout} #{$testdata}see-ext-at1MB-400-#{ci}.matches"
+  end
+  run_test "#{$bin}gt dev show_seedext -f #{$testdata}see-ext-at1MB-400-cigarX.matches -outfmt cigar"
+  run "diff -I '^#' #{last_stdout} #{$testdata}see-ext-at1MB-400-cigar.matches"
+  ["cigar","cigarX"].each do |ci|
+    run_test "#{$bin}gt dev show_seedext -f #{$testdata}see-ext-at1MB-Atinsert100-evalue-bitscore-#{ci}-seqlength.matches -outfmt alignment"
+    run "mv #{last_stdout} alignment-from-#{ci}.txt"
+    run_test "#{$bin}gt seed_extend -ii at1MB -qii Atinsert.fna -l 100 -outfmt alignment"
+    run "diff -I '^#' #{last_stdout} alignment-from-#{ci}.txt"
+  end
+  run_test "#{$bin}gt dev show_seedext -f #{$testdata}see-ext-at1MB-Atinsert100-evalue-bitscore-cigarX-seqlength.matches -outfmt bitscore evalue s.seqlen q.seqlen cigar"
+  run "diff -I '^#' #{last_stdout} #{$testdata}see-ext-at1MB-Atinsert100-evalue-bitscore-cigar-seqlength.matches"
+  run "#{$bin}/gt seed_extend -ii at1MB -mincoverage 200 -outfmt tabsep custom s.seqnum s.start s.len strand q.seqnum q.start q.len editdist"
+  run "cmp -s #{last_stdout} #{$testdata}/see-ext-at1MB-mincoverage200-tabsep.matches"
+  ["trace","dtrace"].each do |t|
+    run_test "#{$bin}gt seed_extend -ii at1MB -l 400 -outfmt #{t}=50"
+    run "diff -I '^#' #{last_stdout} #{$testdata}see-ext-at1MB-400-#{t}.matches"
+    run_test "#{$bin}gt seed_extend -ii at1MB -l 400 -outfmt #{t}"
+    run_test "#{$bin}gt dev show_seedext -f #{last_stdout} -outfmt alignment"
+    run "diff -I '^#' #{last_stdout} #{$testdata}/see-ext-at1MB-400-al-from-dtrace.matches"
+    run_test "#{$bin}gt seed_extend -ii at1MB -qii U89959_genomic -l 200 -outfmt #{t}=20 s.seqlen q.seqlen"
+    run "mv #{last_stdout} tmp-with-#{t}.matches"
+    run_test "#{$bin}gt dev show_seedext -f tmp-with-#{t}.matches -outfmt alignment"
+    run "diff -I '^#' #{last_stdout} #{$testdata}/see-ext-at1MB-U8-200-al-from-dtrace.matches"
+    run_test "#{$bin}gt dev show_seedext -f tmp-with-#{t}.matches -outfmt s.seqlen"
   end
+  run_test "#{$bin}gt seed_extend -ii at1MB -l 100 -outfmt gfa2 trace"
+  run "#{$scriptsdir}gfa2lint.rb #{last_stdout}"
+  run_test "#{$bin}gt seed_extend -ii at1MB -qii Atinsert.fna -outfmt gfa2 cigar"
+  run "#{$scriptsdir}gfa2lint.rb #{last_stdout}"
 end
 
 # Invalid arguments
 Name "gt seed_extend: failure"
-Keywords "gt_seed_extend failure"
+Keywords "gt_seed_extend gt_seed_extend_failure"
 Test do
   run_test build_encseq("at1MB", "#{$testdata}at1MB")
   run_test build_encseq("foo", "#{$testdata}foo.fas")
@@ -179,8 +228,238 @@ Test do
   grep last_stderr, /argument to option -pick must satisfy format i,j/
   run_test "#{$bin}gt seed_extend -ii not-existing-file", :retval => 1
   grep last_stderr, /cannot open file 'not-existing-file.esq': No such file/
+  run_test "#{$bin}gt seed_extend -ii at1MB -outfmt xx", :retval => 1
+  grep last_stderr, /illegal identifier in argument of option -outfmt/, :retval => 1
+  run_test "#{$bin}gt seed_extend -ii at1MB -outfmt alignment=n", :retval => 1
+  run_test "#{$bin}gt seed_extend -ii at1MB -outfmt alignment=-1", :retval => 1
+  run_test "#{$bin}gt seed_extend -ii at1MB -outfmt alignment cigar", :retval => 1
+  run_test "#{$bin}gt seed_extend -ii at1MB -maxmat 2 -l 100 -chain xx", :retval => 1
+  run_test "#{$bin}gt seed_extend -ii at1MB -outfmt gfa2", :retval => 1
+  run_test "#{$bin}gt seed_extend -ii at1MB -outfmt gfa2 identity dtrace", :retval => 1
+  run_test "#{$bin}gt seed_extend -ii at1MB -outfmt cigar"
+  run_test "#{$bin}gt dev show_seedext -f #{last_stdout} -outfmt cigarX",:retval => 1
+end
+
+Name "gt dev show_seedext without alignment"
+Keywords "gt_seed_extend show"
+Test do
+  run_test build_encseq("at1MB", "#{$testdata}at1MB")
+  run_test build_encseq("U89959_genomic", "#{$testdata}U89959_genomic.fas")
+  outfmt_seed = "-outfmt seed"
+  [" "," -qii U89959_genomic "].each do |qidx|
+    run_test "#{$bin}gt seed_extend -v -ii at1MB#{qidx}" + outfmt_seed
+    run "mv #{last_stdout} seed_extend.out"
+    run_test "#{$bin}gt dev show_seedext -f seed_extend.out " + outfmt_seed
+    run "mv #{last_stdout} show_seed_ext.out"
+    run "diff -I '^#' seed_extend.out show_seed_ext.out"
+    run_test "#{$bin}gt dev show_seedext -f seed_extend.out -optimal -outfmt alignment"
+    $OUTFMT_ARGS.each do |arg|
+      if arg != "subjectid" and arg != "queryid" and not arg.match(/^seed/)
+        run_test "#{$bin}gt dev show_seedext -f seed_extend.out #{outfmt_seed} #{arg}"
+        if arg != "alignment"
+          run "#{$scriptsdir}se-permutation.rb #{last_stdout} seed_extend.out"
+        end
+      end
+    end
+    run_test "#{$bin}gt seed_extend -v -ii at1MB#{qidx}"
+    run "mv #{last_stdout} tmp.matches"
+    run_test "#{$bin}gt dev show_seedext -f tmp.matches -optimal -outfmt alignment"
+  end
+  ["",outfmt_seed].each do |seed|
+    run_test "#{$bin}gt seed_extend -v -ii at1MB -l 783 " + seed
+    run "mv #{last_stdout} tmp.matches"
+    run_test "#{$bin}gt seed_extend -v -ii at1MB -l 783 -outfmt alignment"
+    run "mv #{last_stdout} se.align"
+    run_test "#{$bin}gt dev show_seedext -f tmp.matches -outfmt alignment"
+    run "diff -I '^#' #{last_stdout} se.align"
+  end
+end
+
+# cam extension options
+Name "gt seed_extend: cam"
+Keywords "gt_seed_extend cam"
+Test do
+  run_test build_encseq("at1MB", "#{$testdata}at1MB")
+  $SPLT_LIST.each do |splt|
+    $CAM_LIST.each do |a_cam|
+      $CAM_LIST.each do |b_cam|
+        run_test "#{$bin}gt seed_extend -extendgreedy " +
+                 "-cam #{a_cam},#{b_cam} -ii at1MB #{splt}", :retval => 0
+        run "grep -v '^#' #{last_stdout}"
+        run "sort #{last_stdout}"
+        run "mv #{last_stdout} see-ext-at1MB-#{a_cam}-#{b_cam}.matches"
+        run "diff -I '^#' see-ext-at1MB-#{a_cam}-#{b_cam}.matches #{$testdata}see-ext-at1MB.matches"
+      end
+    end
+  end
 end
 
+if $gttestdata
+  Name "gt seed_extend: -splt bytestring for many short and some long seqs"
+  Keywords "gt_seed_extend bytestring"
+  Test do
+    indexname="manyshort-somelong"
+    run("#{$scriptsdir}manyshort-somelong.rb #{$gttestdata}DNA-mix/Grumbach.fna 10000")
+    run_test build_encseq(indexname, last_stdout)
+    run_test "#{$bin}gt seed_extend -no-reverse -l 50 -splt bytestring -ii #{indexname}"
+    run "grep -v '^#' #{last_stdout}"
+    run "mv #{last_stdout} splt-bytestring.matches"
+    run_test "#{$bin}gt seed_extend -no-reverse -l 50 -splt struct -ii #{indexname}"
+    run "diff -I '^#' #{last_stdout} splt-bytestring.matches"
+  end
+end
+
+# Threading
+Name "gt seed_extend: threading"
+Keywords "gt_seed_extend thread"
+Test do
+  run_test build_encseq("at1MB", "#{$testdata}at1MB")
+  run_test build_encseq("fastq_long", "#{$testdata}fastq_long.fastq")
+  run_test build_encseq("paired", "#{$testdata}readjoiner/paired_reads_1.fas")
+  run_test build_encseq("U89959_genomic", "#{$testdata}U89959_genomic.fas")
+  for dataset in ["at1MB", "paired", "fastq_long"] do
+    for query in ["", " -qii U89959_genomic"]
+      for splt in $SPLT_LIST do
+        run_test "#{$bin}gt seed_extend -ii #{dataset}#{query} #{splt}"
+        run "sort #{last_stdout}"
+        run "mv #{last_stdout} default_run.out"
+        if query == ""
+          run "diff -I '^#' default_run.out #{$testdata}see-ext-#{dataset}.matches"
+        else
+          run "diff -I '^#' default_run.out #{$testdata}see-ext-#{dataset}-u8.matches"
+        end
+        run_test "#{$bin}gt -j 4 seed_extend -ii #{dataset}#{query} -parts 4"
+        run "sort #{last_stdout}"
+        run "diff -I '^#' default_run.out #{last_stdout}"
+        run_test "#{$bin}gt -j 2 seed_extend -ii #{dataset}#{query} -parts 5"
+        run "sort #{last_stdout}"
+        run "diff -I '^#' default_run.out #{last_stdout}"
+        run_test "#{$bin}gt -j 8 seed_extend -ii #{dataset}#{query} -parts 2"
+        run "sort #{last_stdout}"
+        run "diff -I '^#' default_run.out #{last_stdout}"
+        run_test "#{$bin}gt -j 3 seed_extend -ii #{dataset}#{query}"
+        run "sort #{last_stdout}"
+        run "diff -I '^#' default_run.out #{last_stdout}"
+      end
+    end
+  end
+end
+
+# KmerPos and SeedPair verification
+Name "gt seed_extend: small_poly, no extension, verify lists"
+Keywords "gt_seed_extend only-seeds verify debug-kmer debug-seedpair small_poly"
+Test do
+  run_test build_encseq("small_poly", "#{$testdata}small_poly.fas")
+  for splt in $SPLT_LIST do
+    run_test "#{$bin}gt seed_extend -only-seeds -verify -seedlength 10 " +
+             "-debug-kmer -debug-seedpair -ii small_poly -kmerfile no #{splt} "
+    run "gunzip -c #{$testdata}seedextend1.out.gz | diff -I '^#' - #{last_stdout}"
+    run_test "#{$bin}gt seed_extend -only-seeds -verify -kmerfile no " +
+             "-debug-kmer -debug-seedpair -ii small_poly #{splt}"
+    run "cat #{last_stdout} | wc -l"
+    run "grep 793 #{last_stdout}"
+    run_test "#{$bin}gt seed_extend -only-seeds -verify -seedlength 13 " +
+             "-debug-seedpair -ii small_poly #{splt}"
+    grep last_stdout, /\# SeedPair \(0,2,12,12\)/
+    grep last_stdout, /\# SeedPair \(0,2,13,12\)/
+  end
+end
+
+# Compare xdrop and greedy extension
+Name "gt seed_extend: small_poly, xdrop vs greedy extension"
+Keywords "gt_seed_extend extendgreedy extendxdrop small_poly"
+Test do
+  run_test build_encseq("small_poly", "#{$testdata}small_poly.fas")
+  for splt in $SPLT_LIST do
+    run_test "#{$bin}gt seed_extend -extendxdrop 97 " +
+             "-l 10 -ii small_poly -verify-alignment #{splt}"
+    run "diff -I '^#' #{last_stdout} #{$testdata}seedextend3.out"
+    run_test "#{$bin}gt seed_extend -extendgreedy 97 " +
+             "-l 10 -ii small_poly -verify-alignment #{splt}"
+    run "diff -I '^#' #{last_stdout} #{$testdata}seedextend3.out"
+  end
+end
+
+# Memlimit and maxfreq options (filter)
+Name "gt seed_extend: at1MB, no extension, memlimit, maxfreq"
+Keywords "gt_seed_extend at1MB memlimit maxfreq"
+Test do
+  run_test build_encseq("at1MB", "#{$testdata}at1MB")
+  run_test "#{$bin}gt seed_extend -verify -debug-seedpair -memlimit 10MB " +
+           "-ii at1MB -only-seeds -no-reverse -seedlength 14 -splt struct"
+  grep last_stderr, /only k-mers occurring <= 3 times will be considered, /
+    /due to small memlimit. Expect 50496 seeds./
+  run "gunzip -c #{$testdata}seedextend2.out.gz | diff -I '^#' - #{last_stdout}"
+  run_test "#{$bin}gt seed_extend -only-seeds -v -maxfreq 5 -ii at1MB"
+  grep last_stdout, /... collected 622939 10-mers/
+  grep last_stdout, /... collected 305756 seeds/
+  grep last_stdout, /... collected 235705 seeds/
+  run_test "#{$bin}gt seed_extend -only-seeds -v -maxfreq 11 -memlimit 1GB " +
+           "-ii at1MB"
+  grep last_stdout, /set k-mer maximum frequency to 11, expect 460986 seed/
+end
+
+# Filter options
+Name "gt seed_extend: diagbandwidth, mincoverage, seedlength"
+Keywords "gt_seed_extend filter diagbandwidth mincoverage memlimit"
+Test do
+  run_test build_encseq("gt_bioseq_succ_3", "#{$testdata}gt_bioseq_succ_3.fas")
+  for diagbandwidth in [0, 1, 5, 10] do
+    for seedlength in [2, 5, 14, 32] do
+      for factor in [1,2,3] do
+        mincoverage = factor * seedlength
+        for splt in $SPLT_LIST do
+          run_test "#{$bin}gt seed_extend -seedlength #{seedlength} " +
+                   "-diagbandwidth #{diagbandwidth} " +
+                   "-mincoverage #{mincoverage} " +
+                   "-ii gt_bioseq_succ_3 #{splt}", :retval => 0
+        end
+      end
+    end
+  end
+end
+
+# Extension options
+Name "gt seed_extend: greedy sensitivity, l, minidentity"
+Keywords "gt_seed_extend extendgreedy sensitivity alignlength history"
+Test do
+  run_test build_encseq("at1MB", "#{$testdata}at1MB")
+  for splt in $SPLT_LIST do
+    for sensitivity in [90, 97, 100] do
+      for alignlength in [2, 80] do
+        for minidentity in [70, 80, 99] do
+          run_test "#{$bin}gt seed_extend -extendgreedy #{sensitivity} " +
+                     "-minidentity #{minidentity} -l #{alignlength} " +
+                     "-outfmt alignment=70 seed.len seed.s seed.q  -ii at1MB -verify-alignment #{splt}", :retval => 0
+        end
+      end
+    end
+    run_test "#{$bin}gt seed_extend -extendgreedy -bias-parameters -verify " +
+             "-overlappingseeds -outfmt alignment=70 seed -ii at1MB #{splt}",:retval => 0
+  end
+end
+
+# Greedy extension options
+Name "gt seed_extend: history, percmathistory, maxalilendiff"
+Keywords "gt_seed_extend extendgreedy history percmathistory maxalilendiff"
+Test do
+  run_test build_encseq("at1MB", "#{$testdata}at1MB")
+  for splt in $SPLT_LIST do
+    for history in [10, 50, 64] do
+      for percmathistory in [70, 80, 99] do
+        for maxalilendiff in [1, 10, 30] do
+          run_test "#{$bin}gt seed_extend -maxalilendiff #{maxalilendiff} " +
+          "-history #{history} -percmathistory #{percmathistory} " +
+          "-ii at1MB -outfmt alignment=70 #{splt}", :retval => 0
+        end
+      end
+    end
+    run_test "#{$bin}gt seed_extend -bias-parameters -seedpairdistance 10 20 " +
+             "-outfmt seed -ii at1MB #{splt}", :retval => 0
+  end
+end
+
+
 # Find synthetic alignments
 Name "gt seed_extend: artificial sequences"
 Keywords "gt_seed_extend artificial"
@@ -191,16 +470,18 @@ Test do
       "--seedlength 14 --length 1000 --mode seeded --seed #{seed} " +
       "--seedcoverage 35 --long 10000  --reverse-complement > longseeded.fasta"
       run_test build_encseq("longseeded", "longseeded.fasta")
-      run_test "#{$bin}gt seed_extend -extendgreedy -l 900 " +
-               "-minidentity #{minidentity} -ii longseeded -kmerfile no"
-      # Check whether the correct number of alignments are found.
-      numalignments = `wc -l #{last_stdout}`.to_i
-      # split db fasta header by '|' and add 1 for number of seeds
-      run "head -1 longseeded.fasta"
-      run "grep -o '|' #{last_stdout}"
-      numseeds = `wc -l #{last_stdout}`.to_i + 1
-      if numalignments < numseeds then
-        raise TestFailed, "did not find all alignments"
+      for splt in $SPLT_LIST do
+        run_test "#{$bin}gt seed_extend -extendgreedy -l 900 -kmerfile no " +
+                 "-minidentity #{minidentity} -ii longseeded #{splt}"
+        # Check whether the correct number of alignments are found.
+        numalignments = `wc -l #{last_stdout}`.to_i
+        # split db fasta header by '|' and add 1 for number of seeds
+        run "head -1 longseeded.fasta"
+        run "grep -o '|' #{last_stdout}"
+        numseeds = `wc -l #{last_stdout}`.to_i + 1
+        if numalignments < numseeds then
+          raise TestFailed, "did not find all alignments"
+        end
       end
     end
   end
@@ -221,20 +502,25 @@ Test do
     run_test build_encseq("db", "db.fna")
     run_test build_encseq("all", "db.fna query.fna")
     ["xdrop","greedy"].each do |ext|
-      run_test "#{$bin}gt seed_extend -extend#{ext} 100 -l #{extendlength-20}" +
-               " -minidentity #{minid} -seedlength #{seedlength} -no-reverse " +
-               "-mincoverage #{seedlength} -seed-display -ii all -kmerfile no"
-      grep last_stdout, /^\d+ \d+ \d+ . \d+ \d+ \d+ \d+ \d+ \d+/
-      run "mv #{last_stdout} combined.out"
-      split_output("combined")
-      run_test "#{$bin}gt seed_extend -extend#{ext} 100 -l #{extendlength-20}" +
-               " -minidentity #{minid} -seedlength #{seedlength} -no-reverse " +
-               "-mincoverage #{seedlength} -seed-display -ii db -qii query " +
-               "-kmerfile no"
-      grep last_stdout, /^\d+ \d+ \d+ . \d+ \d+ \d+ \d+ \d+ \d+/
-      run "mv #{last_stdout} separated.out"
-      split_output("separated")
-      run "cmp separated.coords combined.coords"
+      for splt in $SPLT_LIST do
+        run_test "#{$bin}gt seed_extend -extend#{ext} 100 -l " +
+                 "#{extendlength-20} -minidentity #{minid} " +
+                 "-seedlength #{seedlength} -no-reverse -kmerfile no " +
+                 "-mincoverage #{seedlength} -outfmt seed.len seed.s seed.q -ii all #{splt}"
+        grep last_stdout, /^\d+ \d+ \d+ . \d+ \d+ \d+ \d+ \d+ \d+/
+        run "mv #{last_stdout} combined.out"
+        split_output("combined")
+        run_test "#{$bin}gt seed_extend -extend#{ext} 100 " +
+                 "-l #{extendlength-20} -kmerfile no " +
+                 "-minidentity #{minid} -seedlength #{seedlength} " +
+                 "-no-reverse -mincoverage #{seedlength} " +
+                 "-outfmt seed " +
+                 "-ii db -qii query #{splt}"
+        grep last_stdout, /^\d+ \d+ \d+ . \d+ \d+ \d+ \d+ \d+ \d+/
+        run "mv #{last_stdout} separated.out"
+        split_output("separated")
+        run "cmp separated.coords combined.coords"
+      end
     end
   end
 end
@@ -244,44 +530,17 @@ Name "gt seed_extend: parts"
 Keywords "gt_seed_extend parts pick"
 Test do
   run_test build_encseq("at1MB", "#{$testdata}at1MB")
-  run_test build_encseq("gt_bioseq_succ_3", "#{$testdata}gt_bioseq_succ_3.fas")
-  run_test "#{$bin}gt seed_extend -ii at1MB"
-  run "sort #{last_stdout}"
-  run "mv #{last_stdout} default.out"
-  run_test "#{$bin}gt seed_extend -ii at1MB -parts 4"
-  run "sort #{last_stdout}"
-  run "cmp -s default.out #{last_stdout}"
-  run_test "#{$bin}gt seed_extend -ii at1MB -qii gt_bioseq_succ_3 " +
-           "-parts 2 -pick 1,2"
-  grep last_stdout, /24 209 15 P 26 2 248 35 5 80.00/
-  grep last_stdout, /23 418 127 P 24 2 68 35 4 82.98/
-end
-
-# Threading
-Name "gt seed_extend: threading"
-Keywords "gt_seed_extend thread"
-Test do
-  run_test build_encseq("at1MB", "#{$testdata}at1MB")
-  run_test build_encseq("fastq_long", "#{$testdata}fastq_long.fastq")
-  run_test build_encseq("paired", "#{$testdata}readjoiner/paired_reads_1.fas")
-  run_test build_encseq("U89959_genomic", "#{$testdata}U89959_genomic.fas")
-  for dataset in ["at1MB", "paired", "fastq_long"] do
-    for query in ["", " -qii U89959_genomic"]
-      run_test "#{$bin}gt seed_extend -ii #{dataset}#{query}"
-      run "sort #{last_stdout}"
-      run "mv #{last_stdout} default_run.out"
-      run_test "#{$bin}gt -j 4 seed_extend -ii #{dataset}#{query} -parts 4"
-      run "sort #{last_stdout}"
-      run "cmp -s default_run.out #{last_stdout}"
-      run_test "#{$bin}gt -j 2 seed_extend -ii #{dataset}#{query} -parts 5"
-      run "sort #{last_stdout}"
-      run "cmp -s default_run.out #{last_stdout}"
-      run_test "#{$bin}gt -j 8 seed_extend -ii #{dataset}#{query} -parts 2"
-      run "sort #{last_stdout}"
-      run "cmp -s default_run.out #{last_stdout}"
-      run_test "#{$bin}gt -j 3 seed_extend -ii #{dataset}#{query}"
-      run "sort #{last_stdout}"
-      run "cmp -s default_run.out #{last_stdout}"
-    end
+  run_test build_encseq("gt_bioseq_succ_3","#{$testdata}gt_bioseq_succ_3.fas")
+  for splt in $SPLT_LIST do
+    run_test "#{$bin}gt seed_extend -ii at1MB -verify-alignment #{splt}"
+    run "sort #{last_stdout}"
+    run "mv #{last_stdout} default.out"
+    run_test "#{$bin}gt seed_extend -ii at1MB -parts 4 -verify-alignment #{splt}"
+    run "sort #{last_stdout}"
+    run "diff -I '^#'  default.out #{last_stdout}"
+    run_test "#{$bin}gt seed_extend -ii at1MB -qii gt_bioseq_succ_3 " +
+             "-parts 2 -pick 1,2 -verify-alignment #{splt}"
+    grep last_stdout, /24 209 15 P 26 2 248 35 5 80.00/
+    grep last_stdout, /23 418 127 P 24 2 68 35 4 82.98/
   end
 end
diff --git a/testsuite/gt_seqorder_include.rb b/testsuite/gt_seqorder_include.rb
index 8a75084..1921fbc 100644
--- a/testsuite/gt_seqorder_include.rb
+++ b/testsuite/gt_seqorder_include.rb
@@ -16,6 +16,15 @@ Test do
   run "diff #{last_stdout} #{$testdata}gt_seqorder_test_sorthdr.fas"
 end
 
+Name "gt seqorder -sortlength test"
+Keywords "gt_seqorder"
+Test do
+  seq = "gt_seqorder_test.fas"
+  run "#{$bin}gt encseq encode #$testdata#{seq}"
+  run_test "#{$bin}gt seqorder -sortlength #{seq}"
+  run "diff #{last_stdout} #{$testdata}gt_seqorder_test_sortlength.fas"
+end
+
 Name "gt seqorder -sorthdrnum test"
 Keywords "gt_seqorder"
 Test do
diff --git a/testsuite/gt_sortbench_include.rb b/testsuite/gt_sortbench_include.rb
index c1d9e3a..da05352 100644
--- a/testsuite/gt_sortbench_include.rb
+++ b/testsuite/gt_sortbench_include.rb
@@ -1,6 +1,6 @@
 methods = ["radixinplace","radixlsb",
            "thomas","system","inlinedptr","inlinedarr","direct","dual-pivot",
-           "radixkeypair"]
+           "radixkeypair","radixflba"]
 
 lenlist=[10,20,30,1000,2000,4000,1000000,2000000]
 
@@ -17,6 +17,7 @@ methods.each do |met|
       else
         run "#{$bin}gt dev sortbench -verify -impl #{met} -size #{len}"
         run "#{$bin}gt dev sortbench -verify -impl #{met} -size #{len} -maxval 10000"
+        run "#{$bin}gt dev sortbench -verify -impl #{met} -size #{len} -maxval 512"
       end
     end
   end
diff --git a/testsuite/gt_suffixerator_include.rb b/testsuite/gt_suffixerator_include.rb
index 144f31e..3526ef4 100644
--- a/testsuite/gt_suffixerator_include.rb
+++ b/testsuite/gt_suffixerator_include.rb
@@ -112,7 +112,7 @@ Test do
   run_test "#{$bin}/gt encseq2spm -parts 3 -l #{minlen} -spm show " + \
            "-ii #{indexname}", :maxtime => 1000
   run "mv #{last_stdout} result.firstcodes"
-  run "cmp result.repfind result.firstcodes"
+  run "diff -I '^#' result.repfind result.firstcodes"
 end
 
 allfiles = []
diff --git a/www/genometools.org/htdocs/annotationsketch.html b/www/genometools.org/htdocs/annotationsketch.html
index fca19a5..9a5a61a 100644
--- a/www/genometools.org/htdocs/annotationsketch.html
+++ b/www/genometools.org/htdocs/annotationsketch.html
@@ -11,7 +11,6 @@
 <li><a href="index.html">Overview</a></li>
 <li><a href="pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="documentation.html">Documentation</a></li>
 <li><a id="current" href="annotationsketch.html"><tt>AnnotationSketch</tt></a></li>
diff --git a/www/genometools.org/htdocs/cgi-bin/annotationsketch_demo.cgi b/www/genometools.org/htdocs/cgi-bin/annotationsketch_demo.cgi
index 0769da1..dd6661f 100755
--- a/www/genometools.org/htdocs/cgi-bin/annotationsketch_demo.cgi
+++ b/www/genometools.org/htdocs/cgi-bin/annotationsketch_demo.cgi
@@ -79,7 +79,6 @@ HTML_HEADER = <<END
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
 <li><a href="../annotationsketch.html"><tt>AnnotationSketch</tt></a></li>
diff --git a/www/genometools.org/htdocs/cgi-bin/gff3validator.cgi b/www/genometools.org/htdocs/cgi-bin/gff3validator.cgi
index 19cc793..07a58a8 100644
--- a/www/genometools.org/htdocs/cgi-bin/gff3validator.cgi
+++ b/www/genometools.org/htdocs/cgi-bin/gff3validator.cgi
@@ -63,7 +63,6 @@ table.padded-table td {
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
 <li><a href="../annotationsketch.html"><tt>AnnotationSketch</tt></a></li>
diff --git a/www/genometools.org/htdocs/contract.html b/www/genometools.org/htdocs/contract.html
index c92b941..b4c6595 100644
--- a/www/genometools.org/htdocs/contract.html
+++ b/www/genometools.org/htdocs/contract.html
@@ -11,7 +11,6 @@
 <li><a href="index.html">Overview</a></li>
 <li><a href="pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="documentation.html">Documentation</a></li>
   <ul class="submenu">
diff --git a/www/genometools.org/htdocs/contribute.html b/www/genometools.org/htdocs/contribute.html
index 3a407ad..4f41701 100644
--- a/www/genometools.org/htdocs/contribute.html
+++ b/www/genometools.org/htdocs/contribute.html
@@ -11,7 +11,6 @@
 <li><a href="index.html">Overview</a></li>
 <li><a href="pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="documentation.html">Documentation</a></li>
   <ul class="submenu">
diff --git a/www/genometools.org/htdocs/customtracks.html b/www/genometools.org/htdocs/customtracks.html
index 0ae5bfd..09cf5aa 100644
--- a/www/genometools.org/htdocs/customtracks.html
+++ b/www/genometools.org/htdocs/customtracks.html
@@ -11,7 +11,6 @@
 <li><a href="index.html">Overview</a></li>
 <li><a href="pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="documentation.html">Documentation</a></li>
 <li><a href="annotationsketch.html"><tt>AnnotationSketch</tt></a></li>
diff --git a/www/genometools.org/htdocs/design.html b/www/genometools.org/htdocs/design.html
index 7899e9b..514a1de 100644
--- a/www/genometools.org/htdocs/design.html
+++ b/www/genometools.org/htdocs/design.html
@@ -11,7 +11,6 @@
 <li><a href="index.html">Overview</a></li>
 <li><a href="pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a id="current" href="design.html">Design</a></li>
 <li><a href="tools.html">Tools</a></li>
diff --git a/www/genometools.org/htdocs/docs.html b/www/genometools.org/htdocs/docs.html
index 76521f8..4a6838e 100644
--- a/www/genometools.org/htdocs/docs.html
+++ b/www/genometools.org/htdocs/docs.html
@@ -11,7 +11,6 @@
 <li><a href="index.html">Overview</a></li>
 <li><a href="pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -1387,7 +1386,7 @@ Returns translated <code>dna</code>.
 <div id="footer">
 Copyright © 2008-2016
 The <i>GenomeTools</i> authors.
-Last update: 2016-07-21
+Last update: 2017-08-03
 </div>
 </div>
 <!-- Piwik -->
diff --git a/www/genometools.org/htdocs/documentation.html b/www/genometools.org/htdocs/documentation.html
index 873a630..dc9418a 100644
--- a/www/genometools.org/htdocs/documentation.html
+++ b/www/genometools.org/htdocs/documentation.html
@@ -11,7 +11,6 @@
 <li><a href="index.html">Overview</a></li>
 <li><a href="pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a id="current" href="documentation.html">Documentation</a></li>
   <ul class="submenu">
diff --git a/www/genometools.org/htdocs/examples_tmpl.html b/www/genometools.org/htdocs/examples_tmpl.html
index 0697340..dcac3ba 100644
--- a/www/genometools.org/htdocs/examples_tmpl.html
+++ b/www/genometools.org/htdocs/examples_tmpl.html
@@ -11,7 +11,6 @@
 <li><a href="index.html">Overview</a></li>
 <li><a href="pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="documentation.html">Documentation</a></li>
 <li><a href="annotationsketch.html"><tt>AnnotationSketch</tt></a></li>
diff --git a/www/genometools.org/htdocs/index.html b/www/genometools.org/htdocs/index.html
index c339381..2e0db4c 100644
--- a/www/genometools.org/htdocs/index.html
+++ b/www/genometools.org/htdocs/index.html
@@ -14,7 +14,6 @@ annotation drawing, AnnotationSketch, LTR prediction, bioinformatics, computatio
       <li><a id="current" href="index.html">Overview</a></li>
       <li><a href="pub/">Download</a></li>
       <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-      <li><a href="mailman/listinfo/gt-users">Mailing list</a></li>
       <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
       <li><a href="documentation.html">Documentation</a></li>
       <li><a href="annotationsketch.html"><em>AnnotationSketch</em></a></li>
diff --git a/www/genometools.org/htdocs/libgenometools.html b/www/genometools.org/htdocs/libgenometools.html
index 80c6d0b..321e37d 100644
--- a/www/genometools.org/htdocs/libgenometools.html
+++ b/www/genometools.org/htdocs/libgenometools.html
@@ -11,7 +11,6 @@
 <li><a href="index.html">Overview</a></li>
 <li><a href="pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -5488,6 +5487,30 @@ Creates a new <code>GtMatch</code> object meant to store results in the BLAST
    and <code>end_seq2</code>.
 </p>
 <hr>
+<a name="gt_match_blast_new_extended"></a>
+
+<code>GtMatch*  gt_match_blast_new_extended(char *seqid1,
+                                     char *seqid2,
+                                     GtUword start_seq1,
+                                     GtUword end_seq1,
+                                     GtUword start_seq2,
+                                     GtUword end_seq2,
+                                     double evalue,
+                                     float bitscore,
+                                     GtUword length,
+                                     double similarity,
+                                     GtUword mm_num,
+                                     GtUword gap_open_num,
+                                     GtMatchDirection dir)</code>
+<p>
+Creates a new <code>GtMatch</code> object meant to store results in the BLAST
+   format. That is, it stores double values <code>evalue</code> for match E-values,
+   <code>bitscore</code>s and the alignment length <code>ali_l</code> in addition to the generic
+   match contents <code>seqid1</code>, <code>seqid2</code>, <code>start_seq1</code>, <code>start_seq2</code>, <code>end_seq1</code>,
+   and <code>end_seq2</code>. In addition to <code>gt_match_blast_new</code> it also stores
+   the number of mismatches and the number of gap
+</p>
+<hr>
 <a name="gt_match_blast_set_evalue"></a>
 
 <code>void  gt_match_blast_set_evalue(GtMatchBlast *mb, double evalue)</code>
@@ -5516,6 +5539,20 @@ Sets <code>length</code> to be the alignment length in <code>mb</code>.
 Sets <code>similarity</code> to be the match similarity in <code>mb</code>.
 </p>
 <hr>
+<a name="gt_match_blast_set_mismatches"></a>
+
+<code>void  gt_match_blast_set_mismatches(GtMatchBlast *mb, GtUword mm_num)</code>
+<p>
+Sets <code>num to be the number of mismatches in <mb</code>.
+</p>
+<hr>
+<a name="gt_match_blast_set_gapopen"></a>
+
+<code>void  gt_match_blast_set_gapopen(GtMatchBlast *mb, GtUword gap_open_num)</code>
+<p>
+Sets <code>num</code> to be the number of gap openings in <code>mb</code>.
+</p>
+<hr>
 <a name="gt_match_blast_get_evalue"></a>
 
 <code>double  gt_match_blast_get_evalue(GtMatchBlast *mb)</code>
@@ -5544,6 +5581,20 @@ Returns the alignment length stored in <code>mb</code>.
 Returns the alignment similarity stored in <code>mb</code>.
 </p>
 <hr>
+<a name="gt_match_blast_get_mismatches"></a>
+
+<code>GtUword  gt_match_blast_get_mismatches(GtMatchBlast *mb)</code>
+<p>
+Returns the number of mismatches stored in <code>mb</code>.
+</p>
+<hr>
+<a name="gt_match_blast_get_gapopen"></a>
+
+<code>GtUword  gt_match_blast_get_gapopen(GtMatchBlast *mb)</code>
+<p>
+Returns the number of gap openings stored in <code>mb</code>.
+</p>
+<hr>
 <a name="GtMatchIterator"></a>
 <h2>Class GtMatchIterator</h2>
 <a name="gt_match_iterator_next"></a>
@@ -8500,6 +8551,14 @@ Output the current state of <code>timer</code> in a user-defined format given by
    time in seconds. The output is written to <code>fp</code>. The timer is then stopped.
 </p>
 <hr>
+<a name="gt_timer_elapsed_usec"></a>
+
+<code>GtWord  gt_timer_elapsed_usec(GtTimer *t)</code>
+<p>
+return usec of time from start to stop of giben timer. The timer is then
+   stopped.
+</p>
+<hr>
 <a name="gt_timer_get_formatted"></a>
 
 <code>void      gt_timer_get_formatted(GtTimer *t, const char *fmt, GtStr *str)</code>
@@ -11295,16 +11354,26 @@ Similar to <code>vsnprintf(3)</code>, terminates on error.
 
   <a href="#gt_match_blast_get_evalue"><code>gt_match_blast_get_evalue</code></a><br>
 
+  <a href="#gt_match_blast_get_gapopen"><code>gt_match_blast_get_gapopen</code></a><br>
+
+  <a href="#gt_match_blast_get_mismatches"><code>gt_match_blast_get_mismatches</code></a><br>
+
   <a href="#gt_match_blast_get_similarity"><code>gt_match_blast_get_similarity</code></a><br>
 
   <a href="#gt_match_blast_new"><code>gt_match_blast_new</code></a><br>
 
+  <a href="#gt_match_blast_new_extended"><code>gt_match_blast_new_extended</code></a><br>
+
   <a href="#gt_match_blast_set_align_length"><code>gt_match_blast_set_align_length</code></a><br>
 
   <a href="#gt_match_blast_set_bitscore"><code>gt_match_blast_set_bitscore</code></a><br>
 
   <a href="#gt_match_blast_set_evalue"><code>gt_match_blast_set_evalue</code></a><br>
 
+  <a href="#gt_match_blast_set_gapopen"><code>gt_match_blast_set_gapopen</code></a><br>
+
+  <a href="#gt_match_blast_set_mismatches"><code>gt_match_blast_set_mismatches</code></a><br>
+
   <a href="#gt_match_blast_set_similarity"><code>gt_match_blast_set_similarity</code></a><br>
 
   <a href="#gt_match_delete"><code>gt_match_delete</code></a><br>
@@ -11915,6 +11984,8 @@ Similar to <code>vsnprintf(3)</code>, terminates on error.
 
   <a href="#gt_timer_delete"><code>gt_timer_delete</code></a><br>
 
+  <a href="#gt_timer_elapsed_usec"><code>gt_timer_elapsed_usec</code></a><br>
+
   <a href="#gt_timer_get_formatted"><code>gt_timer_get_formatted</code></a><br>
 
   <a href="#gt_timer_new"><code>gt_timer_new</code></a><br>
@@ -12076,7 +12147,7 @@ Similar to <code>vsnprintf(3)</code>, terminates on error.
 <div id="footer">
 Copyright © 2008-2016
 The <i>GenomeTools</i> authors.
-Last update: 2016-07-21
+Last update: 2017-08-03
 </div>
 </div>
 <!-- Piwik -->
diff --git a/www/genometools.org/htdocs/license.html b/www/genometools.org/htdocs/license.html
index 7fd64be..e10f1d1 100644
--- a/www/genometools.org/htdocs/license.html
+++ b/www/genometools.org/htdocs/license.html
@@ -11,7 +11,6 @@
       <li><a href="index.html">Overview</a></li>
       <li><a href="pub/">Download</a></li>
       <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-      <li><a href="mailman/listinfo/gt-users">Mailing list</a></li>
       <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
       <li><a href="documentation.html">Documentation</a></li>
       <li><a href="annotationsketch.html"><tt>AnnotationSketch</tt></a></li>
diff --git a/www/genometools.org/htdocs/manuals.html b/www/genometools.org/htdocs/manuals.html
index ef3e35b..a5f109c 100644
--- a/www/genometools.org/htdocs/manuals.html
+++ b/www/genometools.org/htdocs/manuals.html
@@ -11,7 +11,6 @@
 <li><a href="index.html">Overview</a></li>
 <li><a href="pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="documentation.html">Documentation</a></li>
   <ul class="submenu">
diff --git a/www/genometools.org/htdocs/style_options.html b/www/genometools.org/htdocs/style_options.html
index 4c6983e..230bf6b 100644
--- a/www/genometools.org/htdocs/style_options.html
+++ b/www/genometools.org/htdocs/style_options.html
@@ -23,7 +23,6 @@
 <li><a href="index.html">Overview</a></li>
 <li><a href="pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="documentation.html">Documentation</a></li>
 <li><a id="current" href="annotationsketch.html"><tt>AnnotationSketch</tt></a></li>
diff --git a/www/genometools.org/htdocs/tool.conf b/www/genometools.org/htdocs/tool.conf
index 61703bc..9c86382 100644
--- a/www/genometools.org/htdocs/tool.conf
+++ b/www/genometools.org/htdocs/tool.conf
@@ -539,7 +539,6 @@ cellspacing="0" cellpadding="4">
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
diff --git a/www/genometools.org/htdocs/tool_list.conf b/www/genometools.org/htdocs/tool_list.conf
index 359ce48..76c38d7 100644
--- a/www/genometools.org/htdocs/tool_list.conf
+++ b/www/genometools.org/htdocs/tool_list.conf
@@ -539,7 +539,6 @@ cellspacing="0" cellpadding="4">
 <li><a href="index.html">Overview</a></li>
 <li><a href="pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="documentation.html">Documentation</a></li>
   <ul class="submenu">
diff --git a/www/genometools.org/htdocs/tools.html b/www/genometools.org/htdocs/tools.html
index 6545418..f2a7a7f 100644
--- a/www/genometools.org/htdocs/tools.html
+++ b/www/genometools.org/htdocs/tools.html
@@ -13,7 +13,6 @@
 <li><a href="index.html">Overview</a></li>
 <li><a href="pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="documentation.html">Documentation</a></li>
   <ul class="submenu">
diff --git a/www/genometools.org/htdocs/tools/gt.html b/www/genometools.org/htdocs/tools/gt.html
index 84fb185..860fdf7 100644
--- a/www/genometools.org/htdocs/tools/gt.html
+++ b/www/genometools.org/htdocs/tools/gt.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -498,7 +497,7 @@ shows all possible "environment options".</p></div>
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_bed_to_gff3.html b/www/genometools.org/htdocs/tools/gt_bed_to_gff3.html
index 3d343ff..62037a7 100644
--- a/www/genometools.org/htdocs/tools/gt_bed_to_gff3.html
+++ b/www/genometools.org/htdocs/tools/gt_bed_to_gff3.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -123,7 +122,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_cds.html b/www/genometools.org/htdocs/tools/gt_cds.html
index ce78fb0..013c2af 100644
--- a/www/genometools.org/htdocs/tools/gt_cds.html
+++ b/www/genometools.org/htdocs/tools/gt_cds.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -212,7 +211,7 @@ sequence file name when it is called with the <tt>sequence_region</tt> as argume
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_chain2dim.html b/www/genometools.org/htdocs/tools/gt_chain2dim.html
index 3ba95be..e4651b0 100644
--- a/www/genometools.org/htdocs/tools/gt_chain2dim.html
+++ b/www/genometools.org/htdocs/tools/gt_chain2dim.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
diff --git a/www/genometools.org/htdocs/tools/gt_chseqids.html b/www/genometools.org/htdocs/tools/gt_chseqids.html
index f6dfa02..333d28c 100644
--- a/www/genometools.org/htdocs/tools/gt_chseqids.html
+++ b/www/genometools.org/htdocs/tools/gt_chseqids.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -129,7 +128,7 @@ and all sequence ids “chr2” to “seq2”.</p></div>
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_clean.html b/www/genometools.org/htdocs/tools/gt_clean.html
index 1b6addb..2c0977c 100644
--- a/www/genometools.org/htdocs/tools/gt_clean.html
+++ b/www/genometools.org/htdocs/tools/gt_clean.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -67,7 +66,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_compreads.html b/www/genometools.org/htdocs/tools/gt_compreads.html
index a68fee7..03d3f9c 100644
--- a/www/genometools.org/htdocs/tools/gt_compreads.html
+++ b/www/genometools.org/htdocs/tools/gt_compreads.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -90,7 +89,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_compreads_compress.html b/www/genometools.org/htdocs/tools/gt_compreads_compress.html
index 177dce7..68f1952 100644
--- a/www/genometools.org/htdocs/tools/gt_compreads_compress.html
+++ b/www/genometools.org/htdocs/tools/gt_compreads_compress.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -124,7 +123,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_compreads_decompress.html b/www/genometools.org/htdocs/tools/gt_compreads_decompress.html
index f533a40..d412dc8 100644
--- a/www/genometools.org/htdocs/tools/gt_compreads_decompress.html
+++ b/www/genometools.org/htdocs/tools/gt_compreads_decompress.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -123,7 +122,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_compreads_refcompress.html b/www/genometools.org/htdocs/tools/gt_compreads_refcompress.html
index e86f040..f7b6348 100644
--- a/www/genometools.org/htdocs/tools/gt_compreads_refcompress.html
+++ b/www/genometools.org/htdocs/tools/gt_compreads_refcompress.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -139,7 +138,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_compreads_refdecompress.html b/www/genometools.org/htdocs/tools/gt_compreads_refdecompress.html
index e05d9ad..c64971a 100644
--- a/www/genometools.org/htdocs/tools/gt_compreads_refdecompress.html
+++ b/www/genometools.org/htdocs/tools/gt_compreads_refdecompress.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -107,7 +106,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_condenseq.html b/www/genometools.org/htdocs/tools/gt_condenseq.html
index 0380a54..caff74e 100644
--- a/www/genometools.org/htdocs/tools/gt_condenseq.html
+++ b/www/genometools.org/htdocs/tools/gt_condenseq.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -90,7 +89,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_congruence.html b/www/genometools.org/htdocs/tools/gt_congruence.html
index 48443be..f588222 100644
--- a/www/genometools.org/htdocs/tools/gt_congruence.html
+++ b/www/genometools.org/htdocs/tools/gt_congruence.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -81,7 +80,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_congruence_spacedseed.html b/www/genometools.org/htdocs/tools/gt_congruence_spacedseed.html
index ae16fb3..807325b 100644
--- a/www/genometools.org/htdocs/tools/gt_congruence_spacedseed.html
+++ b/www/genometools.org/htdocs/tools/gt_congruence_spacedseed.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
diff --git a/www/genometools.org/htdocs/tools/gt_convertseq.html b/www/genometools.org/htdocs/tools/gt_convertseq.html
index 5cc8f04..525f8ac 100644
--- a/www/genometools.org/htdocs/tools/gt_convertseq.html
+++ b/www/genometools.org/htdocs/tools/gt_convertseq.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -155,7 +154,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_csa.html b/www/genometools.org/htdocs/tools/gt_csa.html
index 12deb14..5072b70 100644
--- a/www/genometools.org/htdocs/tools/gt_csa.html
+++ b/www/genometools.org/htdocs/tools/gt_csa.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -176,7 +175,7 @@ shorter than the corresponding exon from the second alternative splice form.</p>
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_dot.html b/www/genometools.org/htdocs/tools/gt_dot.html
index 5270271..9f6fd49 100644
--- a/www/genometools.org/htdocs/tools/gt_dot.html
+++ b/www/genometools.org/htdocs/tools/gt_dot.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -67,7 +66,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_dupfeat.html b/www/genometools.org/htdocs/tools/gt_dupfeat.html
index 0b0e2f9..67da065 100644
--- a/www/genometools.org/htdocs/tools/gt_dupfeat.html
+++ b/www/genometools.org/htdocs/tools/gt_dupfeat.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -115,7 +114,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_encseq.html b/www/genometools.org/htdocs/tools/gt_encseq.html
index 6f47a50..fb282dc 100644
--- a/www/genometools.org/htdocs/tools/gt_encseq.html
+++ b/www/genometools.org/htdocs/tools/gt_encseq.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -110,7 +109,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_encseq2spm.html b/www/genometools.org/htdocs/tools/gt_encseq2spm.html
index ef59128..9457d6b 100644
--- a/www/genometools.org/htdocs/tools/gt_encseq2spm.html
+++ b/www/genometools.org/htdocs/tools/gt_encseq2spm.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -123,7 +122,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_encseq_bench.html b/www/genometools.org/htdocs/tools/gt_encseq_bench.html
index 327fad9..36bc0ae 100644
--- a/www/genometools.org/htdocs/tools/gt_encseq_bench.html
+++ b/www/genometools.org/htdocs/tools/gt_encseq_bench.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -91,7 +90,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_encseq_bitextract.html b/www/genometools.org/htdocs/tools/gt_encseq_bitextract.html
index 977414a..bd326c5 100644
--- a/www/genometools.org/htdocs/tools/gt_encseq_bitextract.html
+++ b/www/genometools.org/htdocs/tools/gt_encseq_bitextract.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -107,7 +106,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_encseq_check.html b/www/genometools.org/htdocs/tools/gt_encseq_check.html
index 336e9fe..ee5b2eb 100644
--- a/www/genometools.org/htdocs/tools/gt_encseq_check.html
+++ b/www/genometools.org/htdocs/tools/gt_encseq_check.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -115,7 +114,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_encseq_decode.html b/www/genometools.org/htdocs/tools/gt_encseq_decode.html
index c920969..89adb4a 100644
--- a/www/genometools.org/htdocs/tools/gt_encseq_decode.html
+++ b/www/genometools.org/htdocs/tools/gt_encseq_decode.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -147,7 +146,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_encseq_encode.html b/www/genometools.org/htdocs/tools/gt_encseq_encode.html
index ecef726..317d8d5 100644
--- a/www/genometools.org/htdocs/tools/gt_encseq_encode.html
+++ b/www/genometools.org/htdocs/tools/gt_encseq_encode.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -188,7 +187,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_encseq_info.html b/www/genometools.org/htdocs/tools/gt_encseq_info.html
index 5130aaa..0eebdf2 100644
--- a/www/genometools.org/htdocs/tools/gt_encseq_info.html
+++ b/www/genometools.org/htdocs/tools/gt_encseq_info.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -139,7 +138,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_encseq_md5.html b/www/genometools.org/htdocs/tools/gt_encseq_md5.html
index d61c6cf..7000fb9 100644
--- a/www/genometools.org/htdocs/tools/gt_encseq_md5.html
+++ b/www/genometools.org/htdocs/tools/gt_encseq_md5.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -107,7 +106,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_encseq_sample.html b/www/genometools.org/htdocs/tools/gt_encseq_sample.html
index e8046be..efec67f 100644
--- a/www/genometools.org/htdocs/tools/gt_encseq_sample.html
+++ b/www/genometools.org/htdocs/tools/gt_encseq_sample.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -139,7 +138,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_eval.html b/www/genometools.org/htdocs/tools/gt_eval.html
index 84d0b28..e66fb59 100644
--- a/www/genometools.org/htdocs/tools/gt_eval.html
+++ b/www/genometools.org/htdocs/tools/gt_eval.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -139,7 +138,7 @@ that type from the “reference”.</p></div>
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_extractfeat.html b/www/genometools.org/htdocs/tools/gt_extractfeat.html
index 87eaec9..3b8c388 100644
--- a/www/genometools.org/htdocs/tools/gt_extractfeat.html
+++ b/www/genometools.org/htdocs/tools/gt_extractfeat.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -281,7 +280,7 @@ sequence file name when it is called with the <tt>sequence_region</tt> as argume
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_extractseq.html b/www/genometools.org/htdocs/tools/gt_extractseq.html
index 7273f71..7765d21 100644
--- a/www/genometools.org/htdocs/tools/gt_extractseq.html
+++ b/www/genometools.org/htdocs/tools/gt_extractseq.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -266,7 +265,7 @@ they have to appear in lexicographic order
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_fastq_sample.html b/www/genometools.org/htdocs/tools/gt_fastq_sample.html
index 3392419..6344842 100644
--- a/www/genometools.org/htdocs/tools/gt_fastq_sample.html
+++ b/www/genometools.org/htdocs/tools/gt_fastq_sample.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -76,7 +75,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_featureindex.html b/www/genometools.org/htdocs/tools/gt_featureindex.html
index 41828bd..16913f3 100644
--- a/www/genometools.org/htdocs/tools/gt_featureindex.html
+++ b/www/genometools.org/htdocs/tools/gt_featureindex.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -116,7 +115,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_fingerprint.html b/www/genometools.org/htdocs/tools/gt_fingerprint.html
index dba0d62..5ac77b3 100644
--- a/www/genometools.org/htdocs/tools/gt_fingerprint.html
+++ b/www/genometools.org/htdocs/tools/gt_fingerprint.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -186,7 +185,7 @@ CAACGTAATGGGAGCTTAAAAATA</tt></pre>
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_genomediff.html b/www/genometools.org/htdocs/tools/gt_genomediff.html
index 235fb0c..9caa9d5 100644
--- a/www/genometools.org/htdocs/tools/gt_genomediff.html
+++ b/www/genometools.org/htdocs/tools/gt_genomediff.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
diff --git a/www/genometools.org/htdocs/tools/gt_gff3.html b/www/genometools.org/htdocs/tools/gt_gff3.html
index 5844220..975cb31 100644
--- a/www/genometools.org/htdocs/tools/gt_gff3.html
+++ b/www/genometools.org/htdocs/tools/gt_gff3.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -261,7 +260,7 @@ given GFF3 files must be defined.</p></div>
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_gff3_to_gtf.html b/www/genometools.org/htdocs/tools/gt_gff3_to_gtf.html
index 748c1a2..dbe3023 100644
--- a/www/genometools.org/htdocs/tools/gt_gff3_to_gtf.html
+++ b/www/genometools.org/htdocs/tools/gt_gff3_to_gtf.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -99,7 +98,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_gff3validator.html b/www/genometools.org/htdocs/tools/gt_gff3validator.html
index 2e5f9b4..1ff346e 100644
--- a/www/genometools.org/htdocs/tools/gt_gff3validator.html
+++ b/www/genometools.org/htdocs/tools/gt_gff3validator.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -89,7 +88,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_gtf_to_gff3.html b/www/genometools.org/htdocs/tools/gt_gtf_to_gff3.html
index 00b32d3..611674d 100644
--- a/www/genometools.org/htdocs/tools/gt_gtf_to_gff3.html
+++ b/www/genometools.org/htdocs/tools/gt_gtf_to_gff3.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -107,7 +106,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_hop.html b/www/genometools.org/htdocs/tools/gt_hop.html
index 55287aa..dbbc127 100644
--- a/www/genometools.org/htdocs/tools/gt_hop.html
+++ b/www/genometools.org/htdocs/tools/gt_hop.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -299,7 +298,7 @@ as cognate sequence and outputs an ideal list of corrections.)</p></div>
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_id_to_md5.html b/www/genometools.org/htdocs/tools/gt_id_to_md5.html
index ac0937e..18a247a 100644
--- a/www/genometools.org/htdocs/tools/gt_id_to_md5.html
+++ b/www/genometools.org/htdocs/tools/gt_id_to_md5.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -196,7 +195,7 @@ sequence file name when it is called with the <tt>sequence_region</tt> as argume
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_inlineseq_add.html b/www/genometools.org/htdocs/tools/gt_inlineseq_add.html
index 43631ca..31765a2 100644
--- a/www/genometools.org/htdocs/tools/gt_inlineseq_add.html
+++ b/www/genometools.org/htdocs/tools/gt_inlineseq_add.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -157,7 +156,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_inlineseq_split.html b/www/genometools.org/htdocs/tools/gt_inlineseq_split.html
index 575cc4d..abcfb52 100644
--- a/www/genometools.org/htdocs/tools/gt_inlineseq_split.html
+++ b/www/genometools.org/htdocs/tools/gt_inlineseq_split.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -83,7 +82,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_interfeat.html b/www/genometools.org/htdocs/tools/gt_interfeat.html
index e941d48..324f28c 100644
--- a/www/genometools.org/htdocs/tools/gt_interfeat.html
+++ b/www/genometools.org/htdocs/tools/gt_interfeat.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -115,7 +114,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_loccheck.html b/www/genometools.org/htdocs/tools/gt_loccheck.html
index 9df371d..0e3bd71 100644
--- a/www/genometools.org/htdocs/tools/gt_loccheck.html
+++ b/www/genometools.org/htdocs/tools/gt_loccheck.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -67,7 +66,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_ltrclustering.html b/www/genometools.org/htdocs/tools/gt_ltrclustering.html
index 5cf65b5..3b33cb6 100644
--- a/www/genometools.org/htdocs/tools/gt_ltrclustering.html
+++ b/www/genometools.org/htdocs/tools/gt_ltrclustering.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -115,7 +114,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_ltrdigest.html b/www/genometools.org/htdocs/tools/gt_ltrdigest.html
index 7bca63d..32871be 100644
--- a/www/genometools.org/htdocs/tools/gt_ltrdigest.html
+++ b/www/genometools.org/htdocs/tools/gt_ltrdigest.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -434,7 +433,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_ltrharvest.html b/www/genometools.org/htdocs/tools/gt_ltrharvest.html
index 777709d..0b5c39e 100644
--- a/www/genometools.org/htdocs/tools/gt_ltrharvest.html
+++ b/www/genometools.org/htdocs/tools/gt_ltrharvest.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -313,7 +312,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_matchtool.html b/www/genometools.org/htdocs/tools/gt_matchtool.html
index cfc4b2a..d440c1b 100644
--- a/www/genometools.org/htdocs/tools/gt_matchtool.html
+++ b/www/genometools.org/htdocs/tools/gt_matchtool.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -123,7 +122,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_matstat.html b/www/genometools.org/htdocs/tools/gt_matstat.html
index 66a89e2..640f703 100644
--- a/www/genometools.org/htdocs/tools/gt_matstat.html
+++ b/www/genometools.org/htdocs/tools/gt_matstat.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
diff --git a/www/genometools.org/htdocs/tools/gt_md5_to_id.html b/www/genometools.org/htdocs/tools/gt_md5_to_id.html
index 364a3f9..2f48abf 100644
--- a/www/genometools.org/htdocs/tools/gt_md5_to_id.html
+++ b/www/genometools.org/htdocs/tools/gt_md5_to_id.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -107,7 +106,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_merge.html b/www/genometools.org/htdocs/tools/gt_merge.html
index fe465d7..c5caff4 100644
--- a/www/genometools.org/htdocs/tools/gt_merge.html
+++ b/www/genometools.org/htdocs/tools/gt_merge.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -116,7 +115,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_mergefeat.html b/www/genometools.org/htdocs/tools/gt_mergefeat.html
index 93db9e9..1ccaa2b 100644
--- a/www/genometools.org/htdocs/tools/gt_mergefeat.html
+++ b/www/genometools.org/htdocs/tools/gt_mergefeat.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -99,7 +98,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_mkfeatureindex.html b/www/genometools.org/htdocs/tools/gt_mkfeatureindex.html
index 3258dac..d096d18 100644
--- a/www/genometools.org/htdocs/tools/gt_mkfeatureindex.html
+++ b/www/genometools.org/htdocs/tools/gt_mkfeatureindex.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -109,7 +108,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_mmapandread.html b/www/genometools.org/htdocs/tools/gt_mmapandread.html
index 6e1df70..27a8d08 100644
--- a/www/genometools.org/htdocs/tools/gt_mmapandread.html
+++ b/www/genometools.org/htdocs/tools/gt_mmapandread.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -67,7 +66,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_orffinder.html b/www/genometools.org/htdocs/tools/gt_orffinder.html
index cc7a943..dcc3e8d 100644
--- a/www/genometools.org/htdocs/tools/gt_orffinder.html
+++ b/www/genometools.org/htdocs/tools/gt_orffinder.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -198,7 +197,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_packedindex.html b/www/genometools.org/htdocs/tools/gt_packedindex.html
index d94bf42..000d991 100644
--- a/www/genometools.org/htdocs/tools/gt_packedindex.html
+++ b/www/genometools.org/htdocs/tools/gt_packedindex.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -101,7 +100,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_prebwt.html b/www/genometools.org/htdocs/tools/gt_prebwt.html
index f807cf4..f5d7549 100644
--- a/www/genometools.org/htdocs/tools/gt_prebwt.html
+++ b/www/genometools.org/htdocs/tools/gt_prebwt.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
diff --git a/www/genometools.org/htdocs/tools/gt_readjoiner.html b/www/genometools.org/htdocs/tools/gt_readjoiner.html
index b3e53de..a6c5dce 100644
--- a/www/genometools.org/htdocs/tools/gt_readjoiner.html
+++ b/www/genometools.org/htdocs/tools/gt_readjoiner.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -86,7 +85,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_readjoiner_assembly.html b/www/genometools.org/htdocs/tools/gt_readjoiner_assembly.html
index 73ecb15..8076f70 100644
--- a/www/genometools.org/htdocs/tools/gt_readjoiner_assembly.html
+++ b/www/genometools.org/htdocs/tools/gt_readjoiner_assembly.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -164,7 +163,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_readjoiner_overlap.html b/www/genometools.org/htdocs/tools/gt_readjoiner_overlap.html
index 864e8a8..f5ebf6e 100644
--- a/www/genometools.org/htdocs/tools/gt_readjoiner_overlap.html
+++ b/www/genometools.org/htdocs/tools/gt_readjoiner_overlap.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -115,7 +114,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_readjoiner_prefilter.html b/www/genometools.org/htdocs/tools/gt_readjoiner_prefilter.html
index 7149782..6c06022 100644
--- a/www/genometools.org/htdocs/tools/gt_readjoiner_prefilter.html
+++ b/www/genometools.org/htdocs/tools/gt_readjoiner_prefilter.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -160,7 +159,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_repfind.html b/www/genometools.org/htdocs/tools/gt_repfind.html
index 1cb1741..f8b45b7 100644
--- a/www/genometools.org/htdocs/tools/gt_repfind.html
+++ b/www/genometools.org/htdocs/tools/gt_repfind.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -127,19 +126,93 @@ as integer in the range from 70 to 99 (for xdrop and greedy extension) (default:
 </p>
 </dd>
 <dt class="hdlist1">
-<strong>-a</strong> [<em>value</em>]
+<strong>-ii</strong> [<em>string</em>]
 </dt>
 <dd>
 <p>
-show alignments/sequences for exact matches (optional argument is number of columns per line) (default: 70)
+Specify input index (default: undefined)
 </p>
 </dd>
 <dt class="hdlist1">
-<strong>-ii</strong> [<em>string</em>]
+<strong>-outfmt</strong> 
 </dt>
 <dd>
 <p>
-Specify input index (default: undefined)
+specify what information about the matches to display
+alignment:        show alignment (possibly followed by
+                  =<number> to specify width of alignment
+                  columns, default is )
+seed_in_algn:     mark the seed in alignment
+polinfo:          add polishing information for shown
+                  alignment
+seed:             abbreviation for seed.len seed.s seed.q
+failed_seed:      show the coordinates of a seed extension,
+                  which does not satisfy the filter conditions
+fstperquery:      output only the first found match per query
+tabsep:           separate columns by tabulator, instead of
+                  space as default
+blast:            output matches in blast format 7 (tabular with
+                  comment lines; instead of gap opens, indels are
+                  displayed)
+gfa2:             output matches in gfa2 format
+custom:           output matches in custom format, i.e. no
+                  columns are pre-defined; all columns have to be
+                  specified by the user
+cigar:            display cigar string representing alignment
+                  (no distinction between match and mismatch)
+cigarX:           display cigar string representing alignment
+                  (distinction between match (=) and mismatch
+                  (X))
+trace:            display trace, i.e. a compact representation
+                  of an alignment (possibly followed by =<delta>)
+                  to specify the delta-value; default value of
+                  delta is 50
+dtrace:           display trace as differences; like trace, but
+                  instead of an absolute value x, report the
+                  difference delta-x. This leads to smaller
+                  numbers and thus a more compact representation
+s.len:            display length of match on subject sequence
+s.seqnum:         display sequence number of subject sequence
+subject id:       display sequence description of subject
+                  sequence
+s.start:          display start position of match on subject
+                  sequence
+s.end:            display end position of match on subject
+                  sequence
+strand:           display strand of match using symbols F
+                  (forward) and P (reverse complement)
+q.len:            display length of match on query sequence
+q.seqnum:         display sequence number of query sequence
+query id:         display sequence description of query
+                  sequence
+q.start:          display start position of match on query
+                  sequence
+q.end:            display end position of match on query
+                  sequence
+alignment length: display length of alignment
+mismatches:       display number of mismatches in alignment
+indels:           display number of indels in alignment
+gap opens:        display number of indels in alignment
+score:            display score of match
+editdist:         display unit edit distance
+identity:         display percent identity of match
+seed.len:         display length seed of the match
+seed.s:           display start position of seed in subject
+seed.q:           display start position of seed in query
+s.seqlen:         display length of subject sequence in which
+                  match occurs
+q.seqlen:         display length of query sequence in which
+                  match occurs
+evalue:           display evalue
+bit score:        display bit score
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>-evalue</strong> [<em>value</em>]
+</dt>
+<dd>
+<p>
+switch on evalue filtering of matches (optional argument specifies evalue threshold) (default: 10.000000)
 </p>
 </dd>
 <dt class="hdlist1">
diff --git a/www/genometools.org/htdocs/tools/gt_scriptfilter.html b/www/genometools.org/htdocs/tools/gt_scriptfilter.html
index b6edd6a..d664d09 100644
--- a/www/genometools.org/htdocs/tools/gt_scriptfilter.html
+++ b/www/genometools.org/htdocs/tools/gt_scriptfilter.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -99,7 +98,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_seed_extend.html b/www/genometools.org/htdocs/tools/gt_seed_extend.html
index 41515cf..2e05349 100644
--- a/www/genometools.org/htdocs/tools/gt_seed_extend.html
+++ b/www/genometools.org/htdocs/tools/gt_seed_extend.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -67,7 +66,15 @@ Query input index (encseq)
 <dd>
 <p>
 Minimum length of a seed
-default: logarithm of input length to the basis alphabet size
+default: logarithm of input length with alphabet size as log-base
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>-spacedseed</strong> [<em>yes|no</em>]
+</dt>
+<dd>
+<p>
+use spaced seed of length specified by option -seedlength (default: no)
 </p>
 </dd>
 <dt class="hdlist1">
@@ -75,7 +82,8 @@ default: logarithm of input length to the basis alphabet size
 </dt>
 <dd>
 <p>
-Logarithm of diagonal band width (for filter) (default: 6)
+Logarithm of diagonal band width in the range
+from 0 to 10 (for filter) (default: 6)
 </p>
 </dd>
 <dt class="hdlist1">
@@ -88,6 +96,15 @@ default: 2.5 x seedlength
 </p>
 </dd>
 <dt class="hdlist1">
+<strong>-diagband-stat</strong> [<em>…</em>]
+</dt>
+<dd>
+<p>
+Compute statistics from diagonal band scores; parameter specifies kind of statistics, possible choices are
+sum (default: sum)
+</p>
+</dd>
+<dt class="hdlist1">
 <strong>-maxfreq</strong> [<em>value</em>]
 </dt>
 <dd>
@@ -108,7 +125,8 @@ Maximum memory usage to determine the maximum frequency of a k-mer (for filter)
 </dt>
 <dd>
 <p>
-Extend seed to both sides using xdrop algorithm, /noptional parameter specifies sensitivity (default: 97)
+Extend seed to both sides using xdrop algorithm,
+optional parameter specifies sensitivity (default: 97)
 </p>
 </dd>
 <dt class="hdlist1">
@@ -129,11 +147,19 @@ optional parameter specifies sensitivity (default: 97)
 </p>
 </dd>
 <dt class="hdlist1">
+<strong>-maxmat</strong> [<em>value</em>]
+</dt>
+<dd>
+<p>
+compute maximal matches of minimum length specified by option -l (default: 1)
+</p>
+</dd>
+<dt class="hdlist1">
 <strong>-l</strong> [<em>value</em>]
 </dt>
 <dd>
 <p>
-Minimum alignment length (for seed extension) (default: undefined)
+Minimum length of aligned sequences  (default: undefined)
 </p>
 </dd>
 <dt class="hdlist1">
@@ -145,11 +171,93 @@ Minimum identity of matches (for seed extension) (default: 80)
 </p>
 </dd>
 <dt class="hdlist1">
-<strong>-a</strong> [<em>value</em>]
+<strong>-evalue</strong> [<em>value</em>]
 </dt>
 <dd>
 <p>
-show alignments/sequences (optional argument is number of columns per line) (default: 70)
+switch on evalue filtering of matches (optional argument specifies evalue threshold) (default: 10.000000)
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>-outfmt</strong> 
+</dt>
+<dd>
+<p>
+specify what information about the matches to display
+alignment:        show alignment (possibly followed by
+                  =<number> to specify width of alignment
+                  columns, default is )
+seed_in_algn:     mark the seed in alignment
+polinfo:          add polishing information for shown
+                  alignment
+seed:             abbreviation for seed.len seed.s seed.q
+failed_seed:      show the coordinates of a seed extension,
+                  which does not satisfy the filter conditions
+fstperquery:      output only the first found match per query
+tabsep:           separate columns by tabulator, instead of
+                  space as default
+blast:            output matches in blast format 7 (tabular with
+                  comment lines; instead of gap opens, indels are
+                  displayed)
+gfa2:             output matches in gfa2 format
+custom:           output matches in custom format, i.e. no
+                  columns are pre-defined; all columns have to be
+                  specified by the user
+cigar:            display cigar string representing alignment
+                  (no distinction between match and mismatch)
+cigarX:           display cigar string representing alignment
+                  (distinction between match (=) and mismatch
+                  (X))
+trace:            display trace, i.e. a compact representation
+                  of an alignment (possibly followed by =<delta>)
+                  to specify the delta-value; default value of
+                  delta is 50
+dtrace:           display trace as differences; like trace, but
+                  instead of an absolute value x, report the
+                  difference delta-x. This leads to smaller
+                  numbers and thus a more compact representation
+s.len:            display length of match on subject sequence
+s.seqnum:         display sequence number of subject sequence
+subject id:       display sequence description of subject
+                  sequence
+s.start:          display start position of match on subject
+                  sequence
+s.end:            display end position of match on subject
+                  sequence
+strand:           display strand of match using symbols F
+                  (forward) and P (reverse complement)
+q.len:            display length of match on query sequence
+q.seqnum:         display sequence number of query sequence
+query id:         display sequence description of query
+                  sequence
+q.start:          display start position of match on query
+                  sequence
+q.end:            display end position of match on query
+                  sequence
+alignment length: display length of alignment
+mismatches:       display number of mismatches in alignment
+indels:           display number of indels in alignment
+gap opens:        display number of indels in alignment
+score:            display score of match
+editdist:         display unit edit distance
+identity:         display percent identity of match
+seed.len:         display length seed of the match
+seed.s:           display start position of seed in subject
+seed.q:           display start position of seed in query
+s.seqlen:         display length of subject sequence in which
+                  match occurs
+q.seqlen:         display length of query sequence in which
+                  match occurs
+evalue:           display evalue
+bit score:        display bit score
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>-ani</strong> [<em>yes|no</em>]
+</dt>
+<dd>
+<p>
+output average nucleotide identity determined from the computed matches (which are not output) (default: no)
 </p>
 </dd>
 <dt class="hdlist1">
@@ -169,6 +277,14 @@ do not compute matches on forward strand (default: no)
 </p>
 </dd>
 <dt class="hdlist1">
+<strong>-use-apos</strong> [<em>yes|no</em>]
+</dt>
+<dd>
+<p>
+Discard a seed only if both apos and bpos overlap with a previous successful alignment (default: no)
+</p>
+</dd>
+<dt class="hdlist1">
 <strong>-parts</strong> [<em>value</em>]
 </dt>
 <dd>
@@ -214,7 +330,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_select.html b/www/genometools.org/htdocs/tools/gt_select.html
index 5d6e3e7..a9e2dcd 100644
--- a/www/genometools.org/htdocs/tools/gt_select.html
+++ b/www/genometools.org/htdocs/tools/gt_select.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -268,7 +267,7 @@ indicating that the node survived the filtering process.</p></div>
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_seq.html b/www/genometools.org/htdocs/tools/gt_seq.html
index e756fd6..a4ac2a0 100644
--- a/www/genometools.org/htdocs/tools/gt_seq.html
+++ b/www/genometools.org/htdocs/tools/gt_seq.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -180,7 +179,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_seqfilter.html b/www/genometools.org/htdocs/tools/gt_seqfilter.html
index d0a9f0d..be4f49f 100644
--- a/www/genometools.org/htdocs/tools/gt_seqfilter.html
+++ b/www/genometools.org/htdocs/tools/gt_seqfilter.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -156,7 +155,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_seqids.html b/www/genometools.org/htdocs/tools/gt_seqids.html
index 3611bd1..8f7cb07 100644
--- a/www/genometools.org/htdocs/tools/gt_seqids.html
+++ b/www/genometools.org/htdocs/tools/gt_seqids.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -67,7 +66,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_seqmutate.html b/www/genometools.org/htdocs/tools/gt_seqmutate.html
index 29c8fa1..3b81e02 100644
--- a/www/genometools.org/htdocs/tools/gt_seqmutate.html
+++ b/www/genometools.org/htdocs/tools/gt_seqmutate.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -125,7 +124,7 @@ mRNA and EST sequences. Bioinformatics, 21(9):1859-1875, 2005.</em></p></div>
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_seqorder.html b/www/genometools.org/htdocs/tools/gt_seqorder.html
index 01b138d..206ed6c 100644
--- a/www/genometools.org/htdocs/tools/gt_seqorder.html
+++ b/www/genometools.org/htdocs/tools/gt_seqorder.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -94,6 +93,14 @@ shuffle sequences pseudo-randomly (default: no)
 </p>
 </dd>
 <dt class="hdlist1">
+<strong>-sortlength</strong> [<em>yes|no</em>]
+</dt>
+<dd>
+<p>
+sort by decreasing length (default: no)
+</p>
+</dd>
+<dt class="hdlist1">
 <strong>-help</strong> 
 </dt>
 <dd>
@@ -115,7 +122,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_seqstat.html b/www/genometools.org/htdocs/tools/gt_seqstat.html
index 7bd2c67..2a50fcc 100644
--- a/www/genometools.org/htdocs/tools/gt_seqstat.html
+++ b/www/genometools.org/htdocs/tools/gt_seqstat.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -88,6 +87,14 @@ summary of contigs set statistics (default: yes)
 </p>
 </dd>
 <dt class="hdlist1">
+<strong>-nstats</strong> 
+</dt>
+<dd>
+<p>
+list of N-values to calculate statistics for, terminated by <em>--</em>; if none given, N50 and N80 will be calculated
+</p>
+</dd>
+<dt class="hdlist1">
 <strong>-astretch</strong> [<em>yes|no</em>]
 </dt>
 <dd>
@@ -133,7 +140,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_seqtransform.html b/www/genometools.org/htdocs/tools/gt_seqtransform.html
index 2b1e0cf..ee615b2 100644
--- a/www/genometools.org/htdocs/tools/gt_seqtransform.html
+++ b/www/genometools.org/htdocs/tools/gt_seqtransform.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -116,7 +115,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_seqtranslate.html b/www/genometools.org/htdocs/tools/gt_seqtranslate.html
index ce13fb2..2e00c55 100644
--- a/www/genometools.org/htdocs/tools/gt_seqtranslate.html
+++ b/www/genometools.org/htdocs/tools/gt_seqtranslate.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -115,7 +114,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_sequniq.html b/www/genometools.org/htdocs/tools/gt_sequniq.html
index 1d9c5f8..ab9feb5 100644
--- a/www/genometools.org/htdocs/tools/gt_sequniq.html
+++ b/www/genometools.org/htdocs/tools/gt_sequniq.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -126,7 +125,7 @@ contained within other sequences.</p></div>
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_shredder.html b/www/genometools.org/htdocs/tools/gt_shredder.html
index 2d00a4e..78e1cbb 100644
--- a/www/genometools.org/htdocs/tools/gt_shredder.html
+++ b/www/genometools.org/htdocs/tools/gt_shredder.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -184,7 +183,7 @@ To get rid of such fragments use <tt>gt seqfilter</tt> (see example below).</p><
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_shulengthdist.html b/www/genometools.org/htdocs/tools/gt_shulengthdist.html
index 66b2ce8..0e7c624 100644
--- a/www/genometools.org/htdocs/tools/gt_shulengthdist.html
+++ b/www/genometools.org/htdocs/tools/gt_shulengthdist.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
diff --git a/www/genometools.org/htdocs/tools/gt_simreads.html b/www/genometools.org/htdocs/tools/gt_simreads.html
index 95bf4ea..b593e35 100644
--- a/www/genometools.org/htdocs/tools/gt_simreads.html
+++ b/www/genometools.org/htdocs/tools/gt_simreads.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
diff --git a/www/genometools.org/htdocs/tools/gt_sketch.html b/www/genometools.org/htdocs/tools/gt_sketch.html
index 222cca5..ec5f1e7 100644
--- a/www/genometools.org/htdocs/tools/gt_sketch.html
+++ b/www/genometools.org/htdocs/tools/gt_sketch.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -176,7 +175,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_sketch_page.html b/www/genometools.org/htdocs/tools/gt_sketch_page.html
index 7916585..ad35d4f 100644
--- a/www/genometools.org/htdocs/tools/gt_sketch_page.html
+++ b/www/genometools.org/htdocs/tools/gt_sketch_page.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -160,7 +159,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_snpper.html b/www/genometools.org/htdocs/tools/gt_snpper.html
index f0f0beb..7b1d5c5 100644
--- a/www/genometools.org/htdocs/tools/gt_snpper.html
+++ b/www/genometools.org/htdocs/tools/gt_snpper.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -285,7 +284,7 @@ sequence file name when it is called with the <tt>sequence_region</tt> as argume
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_speck.html b/www/genometools.org/htdocs/tools/gt_speck.html
index 6171f69..006ead0 100644
--- a/www/genometools.org/htdocs/tools/gt_speck.html
+++ b/www/genometools.org/htdocs/tools/gt_speck.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -225,7 +224,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_splicesiteinfo.html b/www/genometools.org/htdocs/tools/gt_splicesiteinfo.html
index 1e7aa99..ab43668 100644
--- a/www/genometools.org/htdocs/tools/gt_splicesiteinfo.html
+++ b/www/genometools.org/htdocs/tools/gt_splicesiteinfo.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -189,7 +188,7 @@ sequence file name when it is called with the <tt>sequence_region</tt> as argume
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_splitfasta.html b/www/genometools.org/htdocs/tools/gt_splitfasta.html
index 61af6e8..8beba89 100644
--- a/www/genometools.org/htdocs/tools/gt_splitfasta.html
+++ b/www/genometools.org/htdocs/tools/gt_splitfasta.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -108,7 +107,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_stat.html b/www/genometools.org/htdocs/tools/gt_stat.html
index 8d894ff..19803e0 100644
--- a/www/genometools.org/htdocs/tools/gt_stat.html
+++ b/www/genometools.org/htdocs/tools/gt_stat.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -171,7 +170,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_tagerator.html b/www/genometools.org/htdocs/tools/gt_tagerator.html
index 83c8673..c962c94 100644
--- a/www/genometools.org/htdocs/tools/gt_tagerator.html
+++ b/www/genometools.org/htdocs/tools/gt_tagerator.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
diff --git a/www/genometools.org/htdocs/tools/gt_tallymer.html b/www/genometools.org/htdocs/tools/gt_tallymer.html
index 6af84a8..861dcbd 100644
--- a/www/genometools.org/htdocs/tools/gt_tallymer.html
+++ b/www/genometools.org/htdocs/tools/gt_tallymer.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -91,7 +90,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_tallymer_mkindex.html b/www/genometools.org/htdocs/tools/gt_tallymer_mkindex.html
index 3203d6e..fc13a20 100644
--- a/www/genometools.org/htdocs/tools/gt_tallymer_mkindex.html
+++ b/www/genometools.org/htdocs/tools/gt_tallymer_mkindex.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
diff --git a/www/genometools.org/htdocs/tools/gt_tallymer_occratio.html b/www/genometools.org/htdocs/tools/gt_tallymer_occratio.html
index 2d6e656..b644044 100644
--- a/www/genometools.org/htdocs/tools/gt_tallymer_occratio.html
+++ b/www/genometools.org/htdocs/tools/gt_tallymer_occratio.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
diff --git a/www/genometools.org/htdocs/tools/gt_tallymer_search.html b/www/genometools.org/htdocs/tools/gt_tallymer_search.html
index 5003f1f..3f8b9b9 100644
--- a/www/genometools.org/htdocs/tools/gt_tallymer_search.html
+++ b/www/genometools.org/htdocs/tools/gt_tallymer_search.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
diff --git a/www/genometools.org/htdocs/tools/gt_tirvish.html b/www/genometools.org/htdocs/tools/gt_tirvish.html
index da40da4..eeafa02 100644
--- a/www/genometools.org/htdocs/tools/gt_tirvish.html
+++ b/www/genometools.org/htdocs/tools/gt_tirvish.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -262,7 +261,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_uniq.html b/www/genometools.org/htdocs/tools/gt_uniq.html
index 6377f6a..f970e31 100644
--- a/www/genometools.org/htdocs/tools/gt_uniq.html
+++ b/www/genometools.org/htdocs/tools/gt_uniq.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -119,7 +118,7 @@ score, this one is kept.</p></div>
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/tools/gt_uniquesub.html b/www/genometools.org/htdocs/tools/gt_uniquesub.html
index 92864c4..89c7138 100644
--- a/www/genometools.org/htdocs/tools/gt_uniquesub.html
+++ b/www/genometools.org/htdocs/tools/gt_uniquesub.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
diff --git a/www/genometools.org/htdocs/tools/gt_wtree.html b/www/genometools.org/htdocs/tools/gt_wtree.html
index f0d5353..d4096ec 100644
--- a/www/genometools.org/htdocs/tools/gt_wtree.html
+++ b/www/genometools.org/htdocs/tools/gt_wtree.html
@@ -12,7 +12,6 @@
 <li><a href="../index.html">Overview</a></li>
 <li><a href="../pub/">Download</a></li>
 <li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="../mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="../documentation.html">Documentation</a></li>
   <ul class="submenu">
@@ -75,7 +74,7 @@ display version information and exit
 <div class="sect1">
 <h2 id="_reporting_bugs">REPORTING BUGS</h2>
 <div class="sectionbody">
-<div class="paragraph"><p>Report bugs to <<a href="mailto:gt-users at genometools.org">gt-users at genometools.org</a>>.</p></div>
+<div class="paragraph"><p>Report bugs to <a href="https://github.com/genometools/genometools/issues">https://github.com/genometools/genometools/issues</a>.</p></div>
 </div>
 </div>
 <div id="footer">
diff --git a/www/genometools.org/htdocs/trackselectors.html b/www/genometools.org/htdocs/trackselectors.html
index 774302c..b7fe33e 100644
--- a/www/genometools.org/htdocs/trackselectors.html
+++ b/www/genometools.org/htdocs/trackselectors.html
@@ -11,7 +11,6 @@
 <li><a href="index.html">Overview</a></li>
 <li><a href="pub/">Download</a></li>
 <li><a href="http://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="mailman/listinfo/gt-users">Mailing list</a></li>
 <li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
 <li><a href="documentation.html">Documentation</a></li>
 <li><a href="annotationsketch.html"><tt>AnnotationSketch</tt></a></li>

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



More information about the debian-med-commit mailing list