[med-svn] [Git][med-team/mash][upstream] New upstream version 2.1
Sascha Steinbiss
gitlab at salsa.debian.org
Thu Oct 11 15:58:03 BST 2018
Sascha Steinbiss pushed to branch upstream at Debian Med / mash
Commits:
89bf5d74 by Sascha Steinbiss at 2018-10-11T13:32:47Z
New upstream version 2.1
- - - - -
26 changed files:
- INSTALL.txt
- Makefile.in
- + README.md
- − data/refseq.msh
- doc/sphinx/conf.py
- doc/sphinx/index.rst
- doc/sphinx/tutorials.rst
- src/mash/CommandDistance.cpp
- src/mash/CommandScreen.cpp
- src/mash/CommandSketch.cpp
- + src/mash/CommandTriangle.cpp
- + src/mash/CommandTriangle.h
- src/mash/Sketch.cpp
- src/mash/Sketch.h
- src/mash/mash.cpp
- src/mash/sketchParameterSetup.cpp
- src/mash/version.h
- + test/genome1.fna
- + test/genome2.fna
- + test/genome3.fna
- + test/reads1.fastq
- + test/reads2.fastq
- + test/ref/genomes.dist
- + test/ref/genomes.json
- + test/ref/reads.json
- + test/ref/screen
Changes:
=====================================
INSTALL.txt
=====================================
@@ -23,6 +23,7 @@ Steps:
[--with-boost=...]
make
[sudo] make install
+ [make test]
Products:
=====================================
Makefile.in
=====================================
@@ -16,6 +16,7 @@ SOURCES=\
src/mash/CommandContain.cpp \
src/mash/CommandDistance.cpp \
src/mash/CommandScreen.cpp \
+ src/mash/CommandTriangle.cpp \
src/mash/CommandFind.cpp \
src/mash/CommandInfo.cpp \
src/mash/CommandPaste.cpp \
@@ -67,6 +68,12 @@ install : mash
cp `pwd`/src/mash/*.h @prefix@/include/mash/
cp `pwd`/src/mash/capnp/MinHash.capnp.h @prefix@/include/mash/capnp/
+.PHONY: uninstall
+uninstall:
+ rm -f @prefix@/bin/mash
+ rm -f @prefix@/lib/libmash.a
+ rm -rf @prefix@/include/mash
+
clean :
-rm mash
-rm libmash.a
@@ -74,3 +81,26 @@ clean :
-rm src/mash/capnp/*.o
-rm src/mash/capnp/*.c++
-rm src/mash/capnp/*.h
+
+.PHONY: test
+test : testSketch testDist testScreen
+
+testSketch : mash test/genomes.msh test/reads.msh
+ ./mash info -d test/genomes.msh > test/genomes.json
+ ./mash info -d test/reads.msh > test/reads.json
+ diff test/genomes.json test/ref/genomes.json
+ diff test/reads.json test/ref/reads.json
+
+test/genomes.msh : mash
+ cd test ; ../mash sketch -o genomes.msh genome1.fna genome2.fna genome3.fna
+
+test/reads.msh : mash
+ cd test ; ../mash sketch -r -I reads reads1.fastq reads2.fastq -o reads.msh
+
+testDist : mash test/genomes.msh test/reads.msh
+ ./mash dist test/genomes.msh test/reads.msh > test/genomes.dist
+ diff test/genomes.dist test/ref/genomes.dist
+
+testScreen : mash test/genomes.msh
+ cd test ; ../mash screen genomes.msh reads1.fastq reads2.fastq > screen
+ diff test/screen test/ref/screen
=====================================
README.md
=====================================
@@ -0,0 +1,6 @@
+Mash is normally distributed as a dependency-free binary for Linux or OSX (see
+https://github.com/marbl/Mash/releases). This source distribution is intended
+for other operating systems or for development. Mash requires c++11 to build,
+which is available in and GCC >= 4.8 and OSX >= 10.7.
+
+See http://mash.readthedocs.org for more information.
=====================================
data/refseq.msh deleted
=====================================
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:3292c28efedf8a2144494b99bdb784d94b1d737d6f942f29a17daf73b7d61d3e
-size 97678488
=====================================
doc/sphinx/conf.py
=====================================
@@ -51,9 +51,9 @@ copyright = u'2015, Brian Ondov, Todd Treangen, Adam Phillippy'
# built documents.
#
# The short X.Y version.
-version = '1.0'
+version = '2.0'
# The full version, including alpha/beta/rc tags.
-release = '1.0'
+release = '2.0'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
=====================================
doc/sphinx/index.rst
=====================================
@@ -26,6 +26,7 @@ Downloads
=========
* `Linux/OSX binaries and source <https://github.com/marbl/Mash/releases>`_
+* `RefSeq sketch database <https://gembox.cbcb.umd.edu/mash/refseq.genomes.k21s1000.msh>`_
Documentation
=============
=====================================
doc/sphinx/tutorials.rst
=====================================
@@ -59,34 +59,41 @@ reference (which there are two of in the sketch file):
Querying read sets against an existing RefSeq sketch
----------------------------------------------------
-Download and gunzip the pre-sketched RefSeq archive (reads not provided here;
+Download the pre-sketched RefSeq archive (reads not provided here;
10x-100x coverage of a single genome with any sequencing technology should
work):
.. download::
-`RefSeqSketches.msh.gz <http://gembox.cbcb.umd.edu/mash/RefSeqSketches.msh.gz>`_
+`refseq.genomes.k21.s1000.msh <https://gembox.cbcb.umd.edu/mash/refseq.genomes.k21s1000.msh>`_
+
+Plasmids also available:
+
+.. download::
+
+`refseq.genomes+plasmids.k21.s1000.msh <https://gembox.cbcb.umd.edu/mash/refseq.genomes%2Bplasmid.k21s1000.msh>`_
+`refseq.plasmids.k21.s1000.msh <https://gembox.cbcb.umd.edu/mash/refseq.plasmid.k21s1000.msh>`_
Concatenate paired ends (this could also be piped to :code:`mash` to save space by
specifying :code:`-` for standard input, zipped or unzipped):
.. code::
- cat reads_1.fastq read_2.fastq > reads.fastq
+ cat reads_1.fastq reads_2.fastq > reads.fastq
Sketch the reads, using :code:`-m 2` to improve results
by ignoring single-copy k-mers, which are more likely to be erroneous:
.. code::
- mash sketch -m 2 -k 16 -s 400 reads.fastq
+ mash sketch -m 2 reads.fastq
Run :code:`mash dist` with the RefSeq archive as the reference and the read
sketch as the query:
.. code::
- mash dist RefSeqSketches.msh reads.fastq.msh > distances.tab
+ mash dist refseq.genomes.k21.s1000.msh reads.fastq.msh > distances.tab
Sort the results to see the top hits and their p-values:
@@ -94,14 +101,62 @@ Sort the results to see the top hits and their p-values:
sort -gk3 distances.tab | head
-Building a custom RefSeq database
----------------------------------
-
-To create the RefSeq Mash database, genomes were downloaded from NCBI
-(:code:`ftp.ncbi.nlm.nih.gov/refseq/release/complete`, fasta sequence and
-GenBank annotations for :code:`genomic`), and the
-`refseqCollate <https://github.com/ondovb/refseqCollate/releases>`_ utility was
-used to collate contigs/chromosomes into individual fasta files per genome.
-Groups of these files were sketched in parallel and then pasted together with
-:code:`mash paste`. This process could be repeated for more current or custom
-databases.
+Screening a read set for containment of RefSeq genomes
+------------------------------------------------------
+
+(new in `Mash v2.0 <https://github.com/marbl/Mash/releases>`_)
+
+If a read set potentially has multiple genomes, it can be "screened" against the
+database to estimate how well each genome is contained in the read set. We can
+use the `SRA Toolkit <https://www.ncbi.nlm.nih.gov/sra/docs/toolkitsoft/>`_ to
+download ERR024951:
+
+.. code::
+
+ fastq-dump ERR024951
+
+...and screen it against Refseq Genomes (link above), sorting the results:
+
+.. code::
+
+ mash screen refseq.genomes.k21s1000.msh ERR024951.fastq > screen.tab
+ sort -gr screen.tab | head
+
+We see the expected organism, *Salmonella enterica*, but also an apparent contaminant, *Klebsiella pneumoniae*. The fields are [identity, shared-hashes, median-multiplicity, p-value, query-ID, query-comment]:
+
+.. code::
+
+ 0.99957 991/1000 26 0 GCF_000841985.1_ViralProj14228_genomic.fna.gz NC_004313.1 Salmonella phage ST64B, complete genome
+ 0.99957 991/1000 24 0 GCF_002054545.1_ASM205454v1_genomic.fna.gz [57 seqs] NZ_MYON01000010.1 Salmonella enterica strain BCW_4905 NODE_10_length_152932_cov_1.77994, whole genome shotgun sequence [...]
+ 0.999522 990/1000 102 0 GCF_900086185.1_12082_4_85_genomic.fna.gz [51 seqs] NZ_FLIP01000001.1 Klebsiella pneumoniae strain k1037, whole genome shotgun sequence [...]
+ 0.999329 986/1000 24 0 GCF_002055205.1_ASM205520v1_genomic.fna.gz [72 seqs] NZ_MYOO01000010.1 Salmonella enterica strain BCW_4904 NODE_10_length_177558_cov_3.07217, whole genome shotgun sequence [...]
+ 0.999329 986/1000 24 0 GCF_002054075.1_ASM205407v1_genomic.fna.gz [88 seqs] NZ_MYNK01000010.1 Salmonella enterica strain BCW_4936 NODE_10_length_177385_cov_3.78874, whole genome shotgun sequence [...]
+ 0.999329 986/1000 24 0 GCF_000474475.1_CFSAN001184_01.0_genomic.fna.gz [45 seqs] NZ_AUQM01000001.1 Salmonella enterica subsp. enterica serovar Typhimurium str. CDC_2009K1158 isolate 2009K-1158 SEET1158_1, whole genome shotgun sequence [...]
+ 0.999329 986/1000 24 0 GCF_000474355.1_CFSAN001186_01.0_genomic.fna.gz [46 seqs] NZ_AUQN01000001.1 Salmonella enterica subsp. enterica serovar Typhimurium str. CDC_2009K1283 isolate 2009K1283 (Typo) SEET1283_1, whole genome shotgun sequence [...]
+ 0.999329 986/1000 24 0 GCF_000213635.1_ASM21363v1_genomic.fna.gz [2 seqs] NC_016863.1 Salmonella enterica subsp. enterica serovar Typhimurium str. UK-1, complete genome [...]
+ 0.999281 985/1000 24 0 GCF_001271965.1_Salmonella_enterica_CVM_N43825_v1.0_genomic.fna.gz [67 seqs] NZ_LIMN01000001.1 Salmonella enterica subsp. enterica serovar Typhimurium strain CVM N43825 N43825_contig_1, whole genome shotgun sequence [...]
+ 0.999281 985/1000 24 0 GCF_000974215.1_SALF-297-3.id2_v1.0_genomic.fna.gz [90 seqs] NZ_LAPO01000001.1 Salmonella enterica subsp. enterica serovar Typhimurium strain SALF-297-3 NODE_1, whole genome shotgun sequence [...]
+
+Note, however, that multiple strains of *Salmonella enterica* have good identity. This is because they are each contained well when considered independently. For this reason :code:`mash screen` is not a true classifier. However, we can remove much of the redundancy
+for interpreting the results using the winner-take-all strategy (:code:`-w`). And while we're at it, let's throw some more cores at
+the task to speed it up (:code:`-p 4`):
+
+.. code::
+
+ mash screen -w -p 4 refseq.genomes.k21s1000.msh ERR024951.fastq > screen.tab
+ sort -gr screen.tab | head
+
+The output is now much cleaner, with just the two whole genomes, plus phages (a lot of other hits to viruses and assembly contigs would appear further down):
+
+.. code::
+
+ 0.99957 991/1000 24 0 GCF_002054545.1_ASM205454v1_genomic.fna.gz [57 seqs] NZ_MYON01000010.1 Salmonella enterica strain BCW_4905 NODE_10_length_152932_cov_1.77994, whole genome shotgun sequence [...]
+ 0.99899 979/1000 26 0 GCF_000841985.1_ViralProj14228_genomic.fna.gz NC_004313.1 Salmonella phage ST64B, complete genome
+ 0.998844 976/1000 101 0 GCF_900086185.1_12082_4_85_genomic.fna.gz [51 seqs] NZ_FLIP01000001.1 Klebsiella pneumoniae strain k1037, whole genome shotgun sequence [...]
+ 0.923964 190/1000 40 0 GCF_000900935.1_ViralProj181984_genomic.fna.gz NC_019545.1 Salmonella phage SPN3UB, complete genome
+ 0.900615 111/1000 100 0 GCF_001876675.1_ASM187667v1_genomic.fna.gz [137 seqs] NZ_MOXK01000132.1 Klebsiella pneumoniae strain AWD5 Contig_(1-18003), whole genome shotgun sequence [...]
+ 0.887722 82/1000 31 3.16322e-233 GCF_001470135.1_ViralProj306294_genomic.fna.gz NC_028699.1 Salmonella phage SEN34, complete genome
+ 0.873204 58/1000 22 1.8212e-156 GCF_000913735.1_ViralProj227000_genomic.fna.gz NC_022749.1 Shigella phage SfIV, complete genome
+ 0.868675 52/1000 57 6.26251e-138 GCF_001744215.1_ViralProj344312_genomic.fna.gz NC_031129.1 Salmonella phage SJ46, complete genome
+ 0.862715 45/1000 1 1.05185e-116 GCF_001882095.1_ViralProj353688_genomic.fna.gz NC_031940.1 Salmonella phage 118970_sal3, complete genome
+ 0.856856 39/1000 21 6.70643e-99 GCF_000841165.1_ViralProj14230_genomic.fna.gz NC_004348.1 Enterobacteria phage ST64T, complete genome
=====================================
src/mash/CommandDistance.cpp
=====================================
@@ -383,9 +383,14 @@ void compareSketches(CommandDistance::CompareOutput::PairOutput * output, const
{
//distance = log(double(common + 1) / (denom + 1)) / log(1. / (denom + 1));
distance = -log(2 * jaccard / (1. + jaccard)) / kmerSize;
+
+ if ( distance > 1 )
+ {
+ distance = 1;
+ }
}
- if ( distance > maxDistance )
+ if ( maxDistance >= 0 && distance > maxDistance )
{
return;
}
@@ -395,7 +400,7 @@ void compareSketches(CommandDistance::CompareOutput::PairOutput * output, const
output->distance = distance;
output->pValue = pValue(common, refRef.length, refQry.length, kmerSpace, denom);
- if ( output->pValue > maxPValue )
+ if ( maxPValue >= 0 && output->pValue > maxPValue )
{
return;
}
=====================================
src/mash/CommandScreen.cpp
=====================================
@@ -175,6 +175,12 @@ int CommandScreen::run() const
else
{
fps[f - 1] = gzopen(arguments[f].c_str(), "r");
+
+ if ( fps[f - 1] == 0 )
+ {
+ cerr << "ERROR: could not open " << arguments[f] << endl;
+ exit(1);
+ }
}
kseqs.push_back(kseq_init(fps[f - 1]));
@@ -470,7 +476,6 @@ double estimateIdentity(uint64_t common, uint64_t denom, int kmerSize, double km
}
else
{
- //distance = log(double(common + 1) / (denom + 1)) / log(1. / (denom + 1));
identity = pow(jaccard, 1. / kmerSize);
}
=====================================
src/mash/CommandSketch.cpp
=====================================
@@ -27,6 +27,8 @@ CommandSketch::CommandSketch()
useOption("help");
addOption("list", Option(Option::Boolean, "l", "Input", "List input. Lines in each <input> specify paths to sequence files, one per line.", ""));
addOption("prefix", Option(Option::File, "o", "Output", "Output prefix (first input file used if unspecified). The suffix '.msh' will be appended.", ""));
+ addOption("id", Option(Option::File, "I", "Sketch", "ID field for sketch of reads (instead of first sequence ID).", ""));
+ addOption("comment", Option(Option::File, "C", "Sketch", "Comment for a sketch of reads (instead of first sequence comment.", ""));
useSketchOptions();
}
@@ -79,7 +81,32 @@ int CommandSketch::run() const
}
}
- sketch.initFromFiles(files, parameters, verbosity);
+ if ( getOption("id").active || getOption("comment").active )
+ {
+ if ( files.size() > 1 && ! parameters.reads )
+ {
+ cerr << "WARNING: -I and -C will only apply to first sketch" << endl;
+ }
+ }
+
+ if ( parameters.reads )
+ {
+ sketch.initFromReads(files, parameters);
+ }
+ else
+ {
+ sketch.initFromFiles(files, parameters, verbosity);
+ }
+
+ if ( getOption("id").active )
+ {
+ sketch.setReferenceName(0, getOption("id").argument);
+ }
+
+ if ( getOption("comment").active )
+ {
+ sketch.setReferenceComment(0, getOption("comment").argument);
+ }
double lengthThreshold = (parameters.warning * sketch.getKmerSpace()) / (1. - parameters.warning);
=====================================
src/mash/CommandTriangle.cpp
=====================================
@@ -0,0 +1,179 @@
+// Copyright © 2015, Battelle National Biodefense Institute (BNBI);
+// all rights reserved. Authored by: Brian Ondov, Todd Treangen,
+// Sergey Koren, and Adam Phillippy
+//
+// See the LICENSE.txt file included with this software for license information.
+
+#include "CommandDistance.h"
+#include "CommandTriangle.h"
+#include "Sketch.h"
+#include <iostream>
+#include <zlib.h>
+#include "ThreadPool.h"
+#include "sketchParameterSetup.h"
+#include <math.h>
+
+#ifdef USE_BOOST
+ #include <boost/math/distributions/binomial.hpp>
+ using namespace::boost::math;
+#else
+ #include <gsl/gsl_cdf.h>
+#endif
+
+using namespace::std;
+
+namespace mash {
+
+CommandTriangle::CommandTriangle()
+: Command()
+{
+ name = "triangle";
+ summary = "Estimate a lower-triangular distance matrix.";
+ description = "Estimate the distance of each input sequence to every other input sequence. Outputs a lower-triangular distance matrix in relaxed Phylip format. The input sequences can be fasta or fastq, gzipped or not, or Mash sketch files (.msh) with matching k-mer sizes. Input files can also be files of file names (see -l). If more than one input file is provided, whole files are compared by default (see -i).";
+ argumentString = "<seq1> [<seq2>] ...";
+
+ useOption("help");
+ addOption("list", Option(Option::Boolean, "l", "Input", "List input. Lines in each <query> specify paths to sequence files, one per line. The reference file is not affected.", ""));
+ addOption("comment", Option(Option::Boolean, "C", "Output", "Use comment fields for sequence names instead of IDs.", ""));
+ //addOption("log", Option(Option::Boolean, "L", "Output", "Log scale distances and divide by k-mer size to provide a better analog to phylogenetic distance. The special case of zero shared min-hashes will result in a distance of 1.", ""));
+ useSketchOptions();
+}
+
+int CommandTriangle::run() const
+{
+ if ( arguments.size() < 1 || options.at("help").active )
+ {
+ print();
+ return 0;
+ }
+
+ int threads = options.at("threads").getArgumentAsNumber();
+ bool list = options.at("list").active;
+ //bool log = options.at("log").active;
+ double pValueMax = 0;
+ bool comment = options.at("comment").active;
+
+ Sketch::Parameters parameters;
+
+ if ( sketchParameterSetup(parameters, *(Command *)this) )
+ {
+ return 1;
+ }
+
+ if ( arguments.size() == 1 )
+ {
+ parameters.concatenated = false;
+ }
+
+ Sketch sketch;
+
+ uint64_t lengthMax;
+ double randomChance;
+ int kMin;
+ string lengthMaxName;
+ int warningCount = 0;
+
+ vector<string> queryFiles;
+
+ for ( int i = 0; i < arguments.size(); i++ )
+ {
+ if ( list )
+ {
+ splitFile(arguments[i], queryFiles);
+ }
+ else
+ {
+ queryFiles.push_back(arguments[i]);
+ }
+ }
+
+ sketch.initFromFiles(queryFiles, parameters);
+
+ double lengthThreshold = (parameters.warning * sketch.getKmerSpace()) / (1. - parameters.warning);
+
+ for ( uint64_t i = 0; i < sketch.getReferenceCount(); i++ )
+ {
+ uint64_t length = sketch.getReference(i).length;
+
+ if ( length > lengthThreshold )
+ {
+ if ( warningCount == 0 || length > lengthMax )
+ {
+ lengthMax = length;
+ lengthMaxName = sketch.getReference(i).name;
+ randomChance = sketch.getRandomKmerChance(i);
+ kMin = sketch.getMinKmerSize(i);
+ }
+
+ warningCount++;
+ }
+ }
+
+ cout << '\t' << sketch.getReferenceCount() << endl;
+ cout << (comment ? sketch.getReference(0).comment : sketch.getReference(0).name) << endl;
+
+ ThreadPool<TriangleInput, TriangleOutput> threadPool(compare, threads);
+
+ for ( uint64_t i = 1; i < sketch.getReferenceCount(); i++ )
+ {
+ threadPool.runWhenThreadAvailable(new TriangleInput(sketch, i, parameters));
+
+ while ( threadPool.outputAvailable() )
+ {
+ writeOutput(threadPool.popOutputWhenAvailable(), comment, pValueMax);
+ }
+ }
+
+ while ( threadPool.running() )
+ {
+ writeOutput(threadPool.popOutputWhenAvailable(), comment, pValueMax);
+ }
+
+ cerr << "Max p-value: " << pValueMax << endl;
+
+ if ( warningCount > 0 && ! parameters.reads )
+ {
+ warnKmerSize(parameters, *this, lengthMax, lengthMaxName, randomChance, kMin, warningCount);
+ }
+
+ return 0;
+}
+
+void CommandTriangle::writeOutput(TriangleOutput * output, bool comment, double & pValueMax) const
+{
+ const Sketch & sketch = output->sketch;
+ const Sketch::Reference & ref = sketch.getReference(output->index);
+
+ cout << (comment ? ref.comment : ref.name);
+
+ for ( uint64_t i = 0; i < output->index; i++ )
+ {
+ const CommandDistance::CompareOutput::PairOutput * pair = &output->pairs[i];
+ cout << '\t' << pair->distance;
+ if ( pair->pValue > pValueMax )
+ {
+ pValueMax = pair->pValue;
+ }
+ }
+ cout << endl;
+
+ delete output;
+}
+
+CommandTriangle::TriangleOutput * compare(CommandTriangle::TriangleInput * input)
+{
+ const Sketch & sketch = input->sketch;
+
+ CommandTriangle::TriangleOutput * output = new CommandTriangle::TriangleOutput(input->sketch, input->index);
+
+ uint64_t sketchSize = sketch.getMinHashesPerWindow();
+
+ for ( uint64_t i = 0; i < input->index; i++ )
+ {
+ compareSketches(&output->pairs[i], sketch.getReference(input->index), sketch.getReference(i), sketchSize, sketch.getKmerSize(), sketch.getKmerSpace(), -1., -1.);
+ }
+
+ return output;
+}
+
+} // namespace mash
=====================================
src/mash/CommandTriangle.h
=====================================
@@ -0,0 +1,71 @@
+// Copyright © 2015, Battelle National Biodefense Institute (BNBI);
+// all rights reserved. Authored by: Brian Ondov, Todd Treangen,
+// Sergey Koren, and Adam Phillippy
+//
+// See the LICENSE.txt file included with this software for license information.
+
+#ifndef INCLUDED_CommandTriangle
+#define INCLUDED_CommandTriangle
+
+#include "Command.h"
+#include "CommandDistance.h"
+#include "Sketch.h"
+
+namespace mash {
+
+class CommandTriangle : public Command
+{
+public:
+
+ struct TriangleInput
+ {
+ TriangleInput(const Sketch & sketchNew, uint64_t indexNew, const Sketch::Parameters & parametersNew)
+ :
+ sketch(sketchNew),
+ index(indexNew),
+ parameters(parametersNew)
+ {}
+
+ const Sketch & sketch;
+ uint64_t index;
+ const Sketch::Parameters & parameters;
+ };
+
+ struct TriangleOutput
+ {
+ TriangleOutput(const Sketch & sketchNew, uint64_t indexNew)
+ :
+ sketch(sketchNew),
+ index(indexNew)
+ {
+ pairs = new CommandDistance::CompareOutput::PairOutput[index];
+ }
+
+ ~TriangleOutput()
+ {
+ delete [] pairs;
+ }
+
+ const Sketch & sketch;
+ uint64_t index;
+
+ CommandDistance::CompareOutput::PairOutput * pairs;
+ };
+
+ CommandTriangle();
+
+ int run() const; // override
+
+private:
+
+ double pValueMax;
+ bool comment;
+
+ void writeOutput(TriangleOutput * output, bool comment, double & pValueMax) const;
+};
+
+CommandTriangle::TriangleOutput * compare(CommandTriangle::TriangleInput * input);
+
+} // namespace mash
+
+#endif
=====================================
src/mash/Sketch.cpp
=====================================
@@ -23,6 +23,8 @@
#include <capnp/serialize.h>
#include <sys/mman.h>
#include <math.h>
+#include <list>
+#include <string.h>
#define SET_BINARY_MODE(file)
#define CHUNK 16384
@@ -91,6 +93,15 @@ uint64_t Sketch::getReferenceIndex(string id) const
}
}
+void Sketch::initFromReads(const vector<string> & files, const Parameters & parametersNew)
+{
+ parameters = parametersNew;
+
+ useThreadOutput(sketchFile(new SketchInput(files, 0, 0, "", "", parameters)));
+
+ createIndex();
+}
+
int Sketch::initFromFiles(const vector<string> & files, const Parameters & parametersNew, int verbosity, bool enforceParameters, bool contain)
{
parameters = parametersNew;
@@ -155,9 +166,11 @@ int Sketch::initFromFiles(const vector<string> & files, const Parameters & param
// init fully
//
- threadPool.runWhenThreadAvailable(new SketchInput(files[i], 0, 0, "", "", parameters), loadCapnp);
+ vector<string> file;
+ file.push_back(files[i]);
+ threadPool.runWhenThreadAvailable(new SketchInput(file, 0, 0, "", "", parameters), loadCapnp);
}
- else
+ else
{
FILE * inStream;
@@ -192,8 +205,10 @@ int Sketch::initFromFiles(const vector<string> & files, const Parameters & param
{
fclose(inStream);
}
-
- threadPool.runWhenThreadAvailable(new SketchInput(files[i], 0, 0, "", "", parameters), sketchFile);
+
+ vector<string> file;
+ file.push_back(files[i]);
+ threadPool.runWhenThreadAvailable(new SketchInput(file, 0, 0, "", "", parameters), sketchFile);
}
else
{
@@ -257,6 +272,14 @@ uint64_t Sketch::initParametersFromCapnp(const char * file)
void * data = mmap(NULL, fileInfo.st_size, PROT_READ, MAP_PRIVATE, fd, 0);
+ if (data == MAP_FAILED)
+ {
+ uint64_t fileSize = fileInfo.st_size;
+ std::cerr << "Error: could not memory-map file " << file << " of size " << fileSize;
+ std::cerr << std::endl;
+ exit(1);
+ }
+
capnp::ReaderOptions readerOptions;
readerOptions.traversalLimitInWords = 1000000000000;
@@ -327,7 +350,7 @@ bool Sketch::sketchFileBySequence(FILE * file, ThreadPool<Sketch::SketchInput, S
//
memcpy(seqCopy, seq->seq.s, l);
- threadPool->runWhenThreadAvailable(new SketchInput("", seqCopy, l, string(seq->name.s, seq->name.l), string(seq->comment.s, seq->comment.l), parameters), sketchSequence);
+ threadPool->runWhenThreadAvailable(new SketchInput(vector<string>(), seqCopy, l, string(seq->name.s, seq->name.l), string(seq->comment.s, seq->comment.l), parameters), sketchSequence);
while ( threadPool->outputAvailable() )
{
@@ -570,10 +593,12 @@ void addMinHashes(MinHashHeap & minHashHeap, char * seq, uint64_t length, const
if ( debug ) cout << endl;
}
- const char * kmer = useRevComp ? seqRev + length - i - kmerSize : seq + i;
+ const char *kmer_fwd = seq + i;
+ const char *kmer_rev = seqRev + length - i - kmerSize;
+ const char * kmer = memcmp(kmer_fwd, kmer_rev, kmerSize) <= 0 ? kmer_fwd : kmer_rev;
bool filter = false;
- hash_u hash = getHash(useRevComp ? seqRev + length - i - kmerSize : seq + i, kmerSize, parameters.seed, parameters.use64);
+ hash_u hash = getHash(kmer, kmerSize, parameters.seed, parameters.use64);
if ( debug ) cout << endl;
@@ -910,7 +935,7 @@ bool hasSuffix(string const & whole, string const & suffix)
Sketch::SketchOutput * loadCapnp(Sketch::SketchInput * input)
{
- const char * file = input->fileName.c_str();
+ const char * file = input->fileNames[0].c_str();
int fd = open(file, O_RDONLY);
struct stat fileInfo;
@@ -1129,19 +1154,6 @@ void setMinHashesForReference(Sketch::Reference & reference, const MinHashHeap &
Sketch::SketchOutput * sketchFile(Sketch::SketchInput * input)
{
- gzFile fp;
-
- if ( input->fileName == "-" )
- {
- fp = gzdopen(fileno(stdin), "r");
- }
- else
- {
- fp = gzopen(input->fileName.c_str(), "r");
- }
-
- kseq_t *seq = kseq_init(fp);
-
const Sketch::Parameters & parameters = input->parameters;
Sketch::SketchOutput * output = new Sketch::SketchOutput();
@@ -1149,11 +1161,6 @@ Sketch::SketchOutput * sketchFile(Sketch::SketchInput * input)
output->references.resize(1);
Sketch::Reference & reference = output->references[0];
- if ( input->fileName != "-" )
- {
- reference.name = input->fileName;
- }
-
MinHashHeap minHashHeap(parameters.use64, parameters.minHashesPerWindow, parameters.reads ? parameters.minCov : 1, parameters.memoryBound);
reference.length = 0;
@@ -1163,16 +1170,87 @@ Sketch::SketchOutput * sketchFile(Sketch::SketchInput * input)
int count = 0;
bool skipped = false;
- while ((l = kseq_read(seq)) >= 0)
+ int fileCount = input->fileNames.size();
+ gzFile fps[fileCount];
+ list<kseq_t *> kseqs;
+ //
+ for ( int f = 0; f < fileCount; f++ )
{
+ if ( input->fileNames[f] == "-" )
+ {
+ if ( f > 1 )
+ {
+ cerr << "ERROR: '-' for stdin must be first input" << endl;
+ exit(1);
+ }
+
+ fps[f] = gzdopen(fileno(stdin), "r");
+ }
+ else
+ {
+ if ( reference.name == "" && input->fileNames[f] != "-" )
+ {
+ reference.name = input->fileNames[f];
+ }
+
+ fps[f] = gzopen(input->fileNames[f].c_str(), "r");
+
+ if ( fps[f] == 0 )
+ {
+ cerr << "ERROR: could not open " << input->fileNames[f] << endl;
+ exit(1);
+ }
+ }
+
+ kseqs.push_back(kseq_init(fps[f]));
+ }
+
+ list<kseq_t *>::iterator it = kseqs.begin();
+
+ while ( kseqs.begin() != kseqs.end() )
+ {
+ l = kseq_read(*it);
+
+ if ( l < -1 ) // error
+ {
+ break;
+ }
+
+ if ( l == -1 ) // eof
+ {
+ kseq_destroy(*it);
+ it = kseqs.erase(it);
+ if ( it == kseqs.end() )
+ {
+ it = kseqs.begin();
+ }
+ continue;
+ }
+
if ( l < parameters.kmerSize )
{
skipped = true;
continue;
}
+ if ( count == 0 )
+ {
+ if ( input->fileNames[0] == "-" )
+ {
+ reference.name = (*it)->name.s;
+ reference.comment = (*it)->comment.s ? (*it)->comment.s : "";
+ }
+ else
+ {
+ reference.comment = (*it)->name.s;
+ reference.comment.append(" ");
+ reference.comment.append((*it)->comment.s ? (*it)->comment.s : "");
+ }
+ }
+
count++;
+
//if ( verbosity > 0 && parameters.windowed ) cout << '>' << seq->name.s << " (" << l << "nt)" << endl << endl;
//if (seq->comment.l) printf("comment: %s\n", seq->comment.s);
//printf("seq: %s\n", seq->seq.s);
@@ -1181,20 +1259,22 @@ Sketch::SketchOutput * sketchFile(Sketch::SketchInput * input)
if ( ! parameters.reads )
{
reference.length += l;
-
- if ( input->fileName == "-" && reference.name == "" )
- {
- reference.name = seq->name.s;
- }
}
- addMinHashes(minHashHeap, seq->seq.s, l, parameters);
+ addMinHashes(minHashHeap, (*it)->seq.s, l, parameters);
if ( parameters.reads && parameters.targetCov > 0 && minHashHeap.estimateMultiplicity() >= parameters.targetCov )
{
l = -1; // success code
break;
}
+
+ it++;
+
+ if ( it == kseqs.end() )
+ {
+ it = kseqs.begin();
+ }
}
if ( parameters.reads )
@@ -1209,9 +1289,19 @@ Sketch::SketchOutput * sketchFile(Sketch::SketchInput * input)
}
}
+ if ( count > 1 )
+ {
+ reference.comment.insert(0, " seqs] ");
+ reference.comment.insert(0, to_string(count));
+ reference.comment.insert(0, "[");
+ reference.comment.append(" [...]");
+ //reference.comment.append(to_string(count - 1));
+ //reference.comment.append(" more]");
+ }
+
if ( l != -1 )
{
- cerr << "\nERROR: reading " << input->fileName << "." << endl;
+ cerr << "\nERROR: reading " << (input->fileNames.size() > 0 ? "input files" : input->fileNames[0]) << "." << endl;
exit(1);
}
@@ -1219,11 +1309,11 @@ Sketch::SketchOutput * sketchFile(Sketch::SketchInput * input)
{
if ( skipped )
{
- cerr << "\nWARNING: All fasta records in " << input->fileName << "were shorter than the k-mer size (" << parameters.kmerSize << ")." << endl;
+ cerr << "\nWARNING: All fasta records in " << (input->fileNames.size() > 0 ? "input files" : input->fileNames[0]) << " were shorter than the k-mer size (" << parameters.kmerSize << ")." << endl;
}
else
{
- cerr << "\nERROR: Did not find fasta records in \"" << input->fileName << "\"." << endl;
+ cerr << "\nERROR: Did not find fasta records in \"" << (input->fileNames.size() > 0 ? "input files" : input->fileNames[0]) << "\"." << endl;
}
exit(1);
@@ -1245,8 +1335,10 @@ Sketch::SketchOutput * sketchFile(Sketch::SketchInput * input)
}
}
- kseq_destroy(seq);
- gzclose(fp);
+ for ( int i = 0; i < fileCount; i++ )
+ {
+ gzclose(fps[i]);
+ }
return output;
}
=====================================
src/mash/Sketch.h
=====================================
@@ -141,9 +141,9 @@ public:
struct SketchInput
{
- SketchInput(std::string fileNameNew, char * seqNew, uint64_t lengthNew, const std::string & nameNew, const std::string & commentNew, const Sketch::Parameters & parametersNew)
+ SketchInput(std::vector<std::string> fileNamesNew, char * seqNew, uint64_t lengthNew, const std::string & nameNew, const std::string & commentNew, const Sketch::Parameters & parametersNew)
:
- fileName(fileNameNew),
+ fileNames(fileNamesNew),
seq(seqNew),
length(lengthNew),
name(nameNew),
@@ -159,7 +159,7 @@ public:
}
}
- std::string fileName;
+ std::vector<std::string> fileNames;
char * seq;
@@ -200,7 +200,10 @@ public:
bool hasHashCounts() const {return references.size() > 0 && references.at(0).counts.size() > 0;}
bool hasLociByHash(hash_t hash) const {return lociByHash.count(hash);}
int initFromFiles(const std::vector<std::string> & files, const Parameters & parametersNew, int verbosity = 0, bool enforceParameters = false, bool contain = false);
+ void initFromReads(const std::vector<std::string> & files, const Parameters & parametersNew);
uint64_t initParametersFromCapnp(const char * file);
+ void setReferenceName(int i, const std::string name) {references[i].name = name;}
+ void setReferenceComment(int i, const std::string comment) {references[i].comment = comment;}
bool sketchFileBySequence(FILE * file, ThreadPool<Sketch::SketchInput, Sketch::SketchOutput> * threadPool);
void useThreadOutput(SketchOutput * output);
void warnKmerSize(uint64_t lengthMax, const std::string & lengthMaxName, double randomChance, int kMin, int warningCount) const;
=====================================
src/mash/mash.cpp
=====================================
@@ -10,6 +10,7 @@
#include "CommandFind.h"
#include "CommandDistance.h"
#include "CommandScreen.h"
+#include "CommandTriangle.h"
#include "CommandContain.h"
#include "CommandInfo.h"
#include "CommandPaste.h"
@@ -22,6 +23,7 @@ int main(int argc, const char ** argv)
//commandList.addCommand(new CommandFind());
commandList.addCommand(new mash::CommandDistance());
commandList.addCommand(new mash::CommandScreen());
+ commandList.addCommand(new mash::CommandTriangle());
#ifdef COMMAND_WITHIN
commandList.addCommand(new mash::CommandContain());
#endif
=====================================
src/mash/sketchParameterSetup.cpp
=====================================
@@ -59,9 +59,15 @@ int sketchParameterSetup(Sketch::Parameters & parameters, const Command & comman
parameters.genomeSize = command.getOption("genome").getArgumentAsNumber();
}
+ if ( parameters.reads && command.getOption("threads").active )
+ {
+ cerr << "ERROR: The option " << command.getOption("threads").identifier << " cannot be used with " << command.getOption("reads").identifier << "." << endl;
+ return 1;
+ }
+
if ( parameters.reads && ! parameters.concatenated )
{
- cerr << "ERROR: The option " << command.getOption("individual").identifier << " cannot be used with " << command.getOption("unique").identifier << "." << endl;
+ cerr << "ERROR: The option " << command.getOption("individual").identifier << " cannot be used with " << command.getOption("reads").identifier << "." << endl;
return 1;
}
=====================================
src/mash/version.h
=====================================
@@ -4,4 +4,4 @@
//
// See the LICENSE.txt file included with this software for license information.
-static const char * version = "2.0";
+static const char * version = "2.1";
=====================================
test/genome1.fna
=====================================
The diff for this file was not included because it is too large.
=====================================
test/genome2.fna
=====================================
The diff for this file was not included because it is too large.
=====================================
test/genome3.fna
=====================================
The diff for this file was not included because it is too large.
=====================================
test/reads1.fastq
=====================================
The diff for this file was not included because it is too large.
=====================================
test/reads2.fastq
=====================================
The diff for this file was not included because it is too large.
=====================================
test/ref/genomes.dist
=====================================
@@ -0,0 +1,3 @@
+genome1.fna reads 0.12101 4.48626e-214 41/1000
+genome2.fna reads 0.12827 2.61074e-180 35/1000
+genome3.fna reads 0.12101 4.45454e-214 41/1000
=====================================
test/ref/genomes.json
=====================================
@@ -0,0 +1,3037 @@
+{
+ "kmer" : 21,
+ "alphabet" : "ACGT",
+ "preserveCase" : false,
+ "canonical" : true,
+ "sketchSize" : 1000,
+ "hashType" : "MurmurHash3_x64_128",
+ "hashBits" : 64,
+ "hashSeed" : 42,
+ "sketches" :
+ [
+ {
+ "name" : "genome1.fna",
+ "length" : 4639675,
+ "comment" : "gi|49175990|ref|NC_000913.2| Escherichia coli str. K-12 substr. MG1655, complete genome",
+ "hashes" :
+ [
+ 3703694776023,
+ 4374531858158,
+ 5345587754044,
+ 17551373616191,
+ 21150285087017,
+ 24997698352584,
+ 25771393241063,
+ 27141746342066,
+ 27362219888026,
+ 27571760239933,
+ 32603191963564,
+ 36460262049084,
+ 40135001466946,
+ 54267487195332,
+ 54928807149369,
+ 65617729843018,
+ 68792473092968,
+ 71889932481702,
+ 72656062656272,
+ 76535402502726,
+ 77069580434463,
+ 77910711329991,
+ 79103686168667,
+ 86205975593482,
+ 89217825112117,
+ 90466295445917,
+ 91491949740885,
+ 92718753643175,
+ 97239968037938,
+ 98055163335582,
+ 100178539101135,
+ 102505731352189,
+ 102565214680028,
+ 104177745548946,
+ 106776035873039,
+ 111250015466157,
+ 112288126498296,
+ 112565798999620,
+ 113269032034961,
+ 113769038976489,
+ 116289689660513,
+ 116589162149174,
+ 116925212033615,
+ 117933296961001,
+ 126141660684959,
+ 135411200181186,
+ 143345725674503,
+ 148554695608225,
+ 159311917533494,
+ 165792636480134,
+ 167043047663236,
+ 167894249090983,
+ 169624182697529,
+ 175896512464017,
+ 185135589226004,
+ 191598411457504,
+ 195539820147899,
+ 204848266864272,
+ 207114001673048,
+ 219127232708164,
+ 220404521261480,
+ 231711600020668,
+ 239945629602519,
+ 248202950098135,
+ 249343933607083,
+ 257814287504831,
+ 259088076671028,
+ 262297732220758,
+ 263511612897560,
+ 265455171421180,
+ 266747475753425,
+ 268359922841358,
+ 268748182387402,
+ 269557356063693,
+ 273169705301671,
+ 275037120221046,
+ 278740376483011,
+ 284796527510384,
+ 298150060019612,
+ 311935564800556,
+ 312258088334861,
+ 312295230690246,
+ 313805160671801,
+ 318427908817011,
+ 320413748797826,
+ 320800131693944,
+ 324230192022775,
+ 325372858587454,
+ 326739391046350,
+ 333276993835961,
+ 333578810836565,
+ 341008182162706,
+ 341545780572295,
+ 347197665990378,
+ 355068611980657,
+ 357076974931262,
+ 367745128085240,
+ 372708354924664,
+ 376057577697219,
+ 377322277311259,
+ 377510398200963,
+ 379935127364017,
+ 382644013236755,
+ 386044708512124,
+ 386621431482715,
+ 390926245878939,
+ 393907298139695,
+ 398701726680669,
+ 404290363667548,
+ 406558773073729,
+ 418142356576564,
+ 436440873577812,
+ 438382781212187,
+ 442321068186029,
+ 442379340315192,
+ 448223986562665,
+ 449954328588135,
+ 454826083026166,
+ 467060140985684,
+ 468082959264345,
+ 469119490768269,
+ 471980910724736,
+ 472429909944599,
+ 478887256560220,
+ 481883942840175,
+ 483348184811890,
+ 491199959981751,
+ 492909452725815,
+ 495812753818812,
+ 504509449585650,
+ 512562265217625,
+ 517330267815754,
+ 518593397944982,
+ 532224739114182,
+ 545034796114697,
+ 546390065056310,
+ 558080527737140,
+ 558735877332876,
+ 559336936231878,
+ 568000522973802,
+ 573632093979676,
+ 576254598625185,
+ 585844926888365,
+ 598274857897757,
+ 606392454750462,
+ 606812680768397,
+ 608678462596380,
+ 611156861902846,
+ 611334256802936,
+ 616882705096529,
+ 635136383123691,
+ 635440561788678,
+ 636729285540945,
+ 639801425130105,
+ 641497577649551,
+ 650399733249559,
+ 652324546143338,
+ 666400861028399,
+ 673908089802275,
+ 674742502965615,
+ 690623632202753,
+ 694366846684166,
+ 700059310672934,
+ 739730488963525,
+ 740607477961099,
+ 742449454393303,
+ 746921786421867,
+ 748493633127713,
+ 751099803827720,
+ 751349278225892,
+ 753153853702987,
+ 767973926198089,
+ 768617718185904,
+ 777079255471824,
+ 780927423520861,
+ 785648654295272,
+ 785842719842079,
+ 788699946358381,
+ 798868643812160,
+ 806065740141997,
+ 806540983549507,
+ 816503841678163,
+ 822834791155571,
+ 828333694119781,
+ 832839452246241,
+ 838862162164301,
+ 849299192264220,
+ 849719651726676,
+ 861506284070722,
+ 861763781830808,
+ 875134964763787,
+ 876228623607351,
+ 877463201362698,
+ 889716034582361,
+ 892684572200909,
+ 907310714922475,
+ 909557781804548,
+ 910260459544594,
+ 922005921377760,
+ 924337930096207,
+ 924694737817066,
+ 956777688150257,
+ 956794137753897,
+ 956958540040835,
+ 962585394603222,
+ 965770318045625,
+ 966960059485843,
+ 971199458777122,
+ 971475441995351,
+ 976819860882976,
+ 978850611402558,
+ 993024786300312,
+ 1002190466327595,
+ 1004403388656351,
+ 1009557435291109,
+ 1012693995966716,
+ 1020487038711202,
+ 1021838098774831,
+ 1022825183910212,
+ 1024116778875076,
+ 1025475811135389,
+ 1027100588271656,
+ 1031418968211075,
+ 1034854861581131,
+ 1040906481516572,
+ 1041104938678753,
+ 1041944326585600,
+ 1042566742143296,
+ 1051896060691813,
+ 1052289371649832,
+ 1053649852479242,
+ 1056399742412383,
+ 1056815373995971,
+ 1058355358276771,
+ 1072351958742583,
+ 1073757075132416,
+ 1080442269838143,
+ 1085464144855401,
+ 1093529392287663,
+ 1093706599324609,
+ 1096370249644185,
+ 1104080838638807,
+ 1110463687231669,
+ 1113547510077440,
+ 1122474689470832,
+ 1124632343461454,
+ 1125038647685684,
+ 1130056091934672,
+ 1136441185432963,
+ 1137402168239582,
+ 1138218115835429,
+ 1140012540019696,
+ 1147610223223647,
+ 1153526756527497,
+ 1154625347894374,
+ 1156577842927566,
+ 1156936765056096,
+ 1158716490930212,
+ 1167272700933513,
+ 1171980783285280,
+ 1172164637492226,
+ 1174333854056800,
+ 1177183468310475,
+ 1184469739507378,
+ 1193194748379973,
+ 1203355550243244,
+ 1204751753802167,
+ 1206109020850657,
+ 1209073613719220,
+ 1211839407822556,
+ 1214549316562201,
+ 1223472291905776,
+ 1226848664686811,
+ 1228794839154904,
+ 1233591354898210,
+ 1248171481961867,
+ 1249140625378049,
+ 1250420615792499,
+ 1270621240174851,
+ 1271152529340978,
+ 1277145842427434,
+ 1278839460809518,
+ 1279648188870847,
+ 1285226976702363,
+ 1292922906566475,
+ 1293840135957021,
+ 1306937454668551,
+ 1308106938819177,
+ 1311630570173226,
+ 1315453574816614,
+ 1316262047470064,
+ 1323683905492377,
+ 1327617093048938,
+ 1328257188593957,
+ 1328925760930540,
+ 1336791348942658,
+ 1337823682935323,
+ 1338426797289558,
+ 1347659037780763,
+ 1349520275800762,
+ 1350281300930207,
+ 1350584707787619,
+ 1350965798512051,
+ 1352371759672857,
+ 1355565657226279,
+ 1366139758544952,
+ 1370559325721362,
+ 1372323191428327,
+ 1374833818530662,
+ 1378241694567182,
+ 1390675320180837,
+ 1397245118305521,
+ 1399138228058685,
+ 1401111668989440,
+ 1405577059608436,
+ 1415164117193179,
+ 1416727865545266,
+ 1417152008445458,
+ 1417228982347968,
+ 1420415050020789,
+ 1422646266615883,
+ 1428791016283229,
+ 1437404333118871,
+ 1439212134041297,
+ 1443986292471515,
+ 1448281385951810,
+ 1452769867915484,
+ 1458939511156390,
+ 1468422094037376,
+ 1468435389131163,
+ 1470093577691192,
+ 1473303838245121,
+ 1501840430117884,
+ 1502483749131498,
+ 1509251897819909,
+ 1515481216234594,
+ 1518556890623136,
+ 1525557707760212,
+ 1525562526492942,
+ 1526039318580833,
+ 1526388199669049,
+ 1528444436721677,
+ 1532231731304012,
+ 1535063496938977,
+ 1537020432648880,
+ 1541037172577104,
+ 1549530261020368,
+ 1550977950057176,
+ 1561211337072795,
+ 1573107540672390,
+ 1578041137257892,
+ 1580668012123321,
+ 1587471541736126,
+ 1589935211180918,
+ 1590631988888441,
+ 1594708228551845,
+ 1598805435575473,
+ 1604112006613713,
+ 1613625605184352,
+ 1615805749241267,
+ 1616248529153055,
+ 1623771691133374,
+ 1625388712794197,
+ 1626507814066212,
+ 1630998321732091,
+ 1631075121280256,
+ 1632042571373627,
+ 1632545932299825,
+ 1635838075559940,
+ 1639927227006797,
+ 1646314243919347,
+ 1648687757559290,
+ 1652881559208978,
+ 1654004508413302,
+ 1659848504113041,
+ 1667965263247545,
+ 1669903458003823,
+ 1672690280184610,
+ 1684541581264319,
+ 1686827846148564,
+ 1687738124008082,
+ 1691442091018326,
+ 1692805704518431,
+ 1693082404291748,
+ 1696339135192354,
+ 1703437916199732,
+ 1708154517788500,
+ 1709208928259084,
+ 1710580230436138,
+ 1714776101275494,
+ 1719461470643099,
+ 1720399334120937,
+ 1724031441810059,
+ 1727183672753893,
+ 1735392745832045,
+ 1735998386338362,
+ 1738701129210471,
+ 1740395278342643,
+ 1743125229790106,
+ 1751698265555764,
+ 1752908108796220,
+ 1753308552137375,
+ 1753771755791029,
+ 1756687539404719,
+ 1762630490657248,
+ 1764838771920937,
+ 1767001339426217,
+ 1770915762339832,
+ 1787259017597685,
+ 1789900134822701,
+ 1792071081980571,
+ 1801275206256617,
+ 1802457946327669,
+ 1808464570083889,
+ 1812744655888381,
+ 1817302344161584,
+ 1818139840284483,
+ 1819857177786509,
+ 1820959062880842,
+ 1827235886236624,
+ 1830268693993444,
+ 1831883332937520,
+ 1833417472609184,
+ 1842875044635002,
+ 1844865274898047,
+ 1848614151469314,
+ 1850941908679371,
+ 1853196278886744,
+ 1855176227306009,
+ 1858217593308953,
+ 1874239187120175,
+ 1876207015413196,
+ 1882484501008945,
+ 1887627906882134,
+ 1907536247032118,
+ 1917462362719845,
+ 1922431136615521,
+ 1923519840848274,
+ 1929741658729314,
+ 1930505532183871,
+ 1930759754111553,
+ 1934678717528993,
+ 1939313756933503,
+ 1947362805623621,
+ 1950257317448391,
+ 1950351940048555,
+ 1951801563728943,
+ 1953999342060852,
+ 1956939094953262,
+ 1957701014063289,
+ 1958335824154835,
+ 1967916335809068,
+ 1969003266570787,
+ 1974598399054984,
+ 1981067029344623,
+ 1981154059288291,
+ 1983503147569462,
+ 1995644919788432,
+ 1997508214632124,
+ 1999653908166971,
+ 2004039151534897,
+ 2004930974167174,
+ 2016164553764703,
+ 2017863976585964,
+ 2019325732740981,
+ 2019585422459536,
+ 2023409032137504,
+ 2025586042383011,
+ 2025746269927368,
+ 2028072384929697,
+ 2029010057673557,
+ 2031192927792843,
+ 2037664946975586,
+ 2039697840715802,
+ 2041358419321528,
+ 2042479209069706,
+ 2052003813551995,
+ 2054121759032486,
+ 2054710580080339,
+ 2055835598859733,
+ 2058786262142372,
+ 2063008413757867,
+ 2066381598165413,
+ 2069696959583009,
+ 2073715707596673,
+ 2084069143189934,
+ 2086640713450971,
+ 2087057658268076,
+ 2088069525771659,
+ 2098982571856576,
+ 2106232978768637,
+ 2109338263586241,
+ 2109825994698043,
+ 2114111736337670,
+ 2114613282968616,
+ 2115819507100504,
+ 2119151366529277,
+ 2119430287017055,
+ 2120418862012154,
+ 2122276175174129,
+ 2122484177682025,
+ 2124095034767201,
+ 2128353777681243,
+ 2132734055665043,
+ 2133746750881594,
+ 2135096604875718,
+ 2137309594802075,
+ 2139538089042443,
+ 2139576114905451,
+ 2144295051339044,
+ 2144861695090934,
+ 2153136934395861,
+ 2156219194149567,
+ 2163311498319671,
+ 2164808574747226,
+ 2167242595203119,
+ 2169218424245518,
+ 2172287414552644,
+ 2174974481998107,
+ 2177821880959407,
+ 2181081730658196,
+ 2182398795403341,
+ 2187371118363080,
+ 2187887423180628,
+ 2194026537071857,
+ 2203602782592944,
+ 2203909323521797,
+ 2206896186809891,
+ 2209227890905803,
+ 2211096632368775,
+ 2213129570848532,
+ 2215280247524439,
+ 2215385946845855,
+ 2217824728075048,
+ 2220943948307820,
+ 2221906647410175,
+ 2223986253225205,
+ 2224917765082082,
+ 2227481306654124,
+ 2239183959286133,
+ 2241011611182580,
+ 2245893536341001,
+ 2249465920644360,
+ 2259632172825864,
+ 2261620935442464,
+ 2263387216756302,
+ 2263586660612036,
+ 2268996645005542,
+ 2269985197005983,
+ 2273838361048952,
+ 2281558473473012,
+ 2287829694315293,
+ 2290713827170847,
+ 2291131537136610,
+ 2298912361369990,
+ 2302143995115746,
+ 2312878396041528,
+ 2314307504759831,
+ 2316787462754888,
+ 2325350755879136,
+ 2331036032591016,
+ 2332595734174534,
+ 2341001259207800,
+ 2344109037412480,
+ 2346698706320505,
+ 2350095992175591,
+ 2353730651177615,
+ 2365414048390744,
+ 2366122170656712,
+ 2367014159726613,
+ 2368906433310811,
+ 2370522626729401,
+ 2372682746946332,
+ 2375072351792490,
+ 2375382411513780,
+ 2384313132466132,
+ 2391614908888951,
+ 2392544648101477,
+ 2392936587491291,
+ 2397689414378114,
+ 2399109144087028,
+ 2406418852781832,
+ 2407186399323232,
+ 2408363197917556,
+ 2409391466709503,
+ 2409861074473399,
+ 2410197458295558,
+ 2417982387782565,
+ 2419069951679570,
+ 2428235422771172,
+ 2430236048871462,
+ 2431147396931338,
+ 2435995871201630,
+ 2437385865757479,
+ 2440967105688895,
+ 2441464999887780,
+ 2450608614533781,
+ 2458019191831029,
+ 2458992410273605,
+ 2471969595081801,
+ 2472140177142350,
+ 2474149675777685,
+ 2474177960075165,
+ 2475314713904717,
+ 2478204206131689,
+ 2488857113487989,
+ 2492778624172776,
+ 2493656341728273,
+ 2493777281889121,
+ 2494415491640334,
+ 2495673317636489,
+ 2498401103564525,
+ 2502397184612176,
+ 2508983603584979,
+ 2509715549919396,
+ 2513155861381520,
+ 2513275657722041,
+ 2513707624910234,
+ 2516513634028452,
+ 2517505051346271,
+ 2520836106159833,
+ 2521002441265700,
+ 2525877720523013,
+ 2526240495254663,
+ 2535876467420972,
+ 2545335484921653,
+ 2546086870418754,
+ 2555252183827150,
+ 2556981141960497,
+ 2557471253289799,
+ 2559951211121412,
+ 2562883673752919,
+ 2564237403603359,
+ 2564931009789095,
+ 2569804992065676,
+ 2571781153471230,
+ 2578507172359119,
+ 2581034133583066,
+ 2587157541471436,
+ 2589398439520608,
+ 2593729243064004,
+ 2596002053130697,
+ 2605011208343467,
+ 2607549250757871,
+ 2616091809828649,
+ 2616708825090300,
+ 2618291197369414,
+ 2623747523193354,
+ 2624878766120106,
+ 2633509876997698,
+ 2640078475481372,
+ 2641068255975445,
+ 2644740716631333,
+ 2646300381403787,
+ 2649786361026710,
+ 2651809316853810,
+ 2654315936224170,
+ 2657628209997025,
+ 2657920817778708,
+ 2664362379264181,
+ 2679207567196806,
+ 2681841310609335,
+ 2696906355795514,
+ 2697621990856187,
+ 2709854642839249,
+ 2715140864083002,
+ 2723446825937667,
+ 2729012306712815,
+ 2731948431343265,
+ 2733999854851063,
+ 2741660511556431,
+ 2743220549660135,
+ 2746740739822815,
+ 2750369727553093,
+ 2750408660657524,
+ 2751890801645518,
+ 2752423935891959,
+ 2756071361360475,
+ 2764657354948603,
+ 2765356004920344,
+ 2766065063510668,
+ 2772284167605343,
+ 2773983446002210,
+ 2774956265109566,
+ 2777956427972420,
+ 2779551068544955,
+ 2780876524840844,
+ 2788599090376268,
+ 2789764921458739,
+ 2790597388386299,
+ 2796934217008523,
+ 2805197600615205,
+ 2811749323396711,
+ 2814788311379466,
+ 2818908710349372,
+ 2824235399295266,
+ 2827861308312231,
+ 2830259086277627,
+ 2830811517908480,
+ 2833087346273922,
+ 2833767936535060,
+ 2834613235985145,
+ 2843456650639316,
+ 2855125351690727,
+ 2856215005730980,
+ 2862025196574124,
+ 2864649603717909,
+ 2864837300605269,
+ 2868199030500362,
+ 2868657437681302,
+ 2871178830644782,
+ 2874825177847044,
+ 2882933581583305,
+ 2885684181587029,
+ 2897095043949180,
+ 2904758868046007,
+ 2909449267180539,
+ 2909476481185125,
+ 2913261154478977,
+ 2914906215574294,
+ 2915178544995369,
+ 2916591282014603,
+ 2917966323538534,
+ 2923707812386141,
+ 2927923311056621,
+ 2931571972751850,
+ 2935382216684553,
+ 2949484647451052,
+ 2953543609151018,
+ 2953876267695651,
+ 2957827287256567,
+ 2961425221989873,
+ 2966200342921724,
+ 2967607514980173,
+ 2973186577349424,
+ 2975859727230645,
+ 2976245038557084,
+ 2981116908386663,
+ 2983947831910337,
+ 2985173944610375,
+ 2987482276307270,
+ 2994454008158770,
+ 3005208739989786,
+ 3005312060169169,
+ 3015581196771826,
+ 3020314390764917,
+ 3022689456030471,
+ 3025980369636388,
+ 3029341628273089,
+ 3029860654573792,
+ 3032025711852414,
+ 3037301542633117,
+ 3043362163532172,
+ 3046942532736602,
+ 3047560614153298,
+ 3058265525461530,
+ 3066520441915813,
+ 3067617749310490,
+ 3069588084448814,
+ 3074702185506880,
+ 3075220407582460,
+ 3076244208144327,
+ 3082035596981534,
+ 3082684337973299,
+ 3089609529942184,
+ 3095274585087045,
+ 3101732378482309,
+ 3102736794392912,
+ 3109437597065678,
+ 3112190251462546,
+ 3113226145811862,
+ 3118812205090388,
+ 3124544497793334,
+ 3131734316784638,
+ 3132682207292497,
+ 3132925813753493,
+ 3139825612758737,
+ 3141363853260471,
+ 3148897366994230,
+ 3151103808181412,
+ 3151917161098580,
+ 3156079150759700,
+ 3156480916105693,
+ 3156944276864018,
+ 3159271588902650,
+ 3164104797435227,
+ 3164525091077613,
+ 3164974827254980,
+ 3167718230972956,
+ 3168575450833798,
+ 3170370480028284,
+ 3176686928818846,
+ 3182112634136143,
+ 3182324679992379,
+ 3187961819489741,
+ 3189533497565395,
+ 3195488200716776,
+ 3202400544324347,
+ 3203298087861934,
+ 3203505065127928,
+ 3209700985683389,
+ 3212616315093692,
+ 3213988571539449,
+ 3217129615253672,
+ 3217544566048649,
+ 3223034165546826,
+ 3224023476960008,
+ 3225178300018176,
+ 3225933434121706,
+ 3230869729714732,
+ 3233217934193683,
+ 3237005651498609,
+ 3238514465894546,
+ 3243666353441572,
+ 3254156206685824,
+ 3254289886842596,
+ 3255800624584166,
+ 3260711832345837,
+ 3262376948747614,
+ 3265854206172751,
+ 3269648229920800,
+ 3275817234748541,
+ 3282079768381895,
+ 3287276111505491,
+ 3292486056879827,
+ 3296962647322980,
+ 3298104694887216,
+ 3301669530810893,
+ 3304166496816853,
+ 3305961102863438,
+ 3308465573850446,
+ 3309153399130101,
+ 3310503323115309,
+ 3310733893659544,
+ 3312750158140177,
+ 3316364698543535,
+ 3320900876696445,
+ 3322417381274756,
+ 3323175572722919,
+ 3324783922465598,
+ 3326614806453267,
+ 3327598578299680,
+ 3332031864527052,
+ 3334521995297550,
+ 3346776127533380,
+ 3354456329798908,
+ 3360793887233705,
+ 3362271048917139,
+ 3364061500454402,
+ 3365541559217554,
+ 3367062585985197,
+ 3373419224413028,
+ 3375494323790526,
+ 3375965378037189,
+ 3384681920227564,
+ 3385759904131899,
+ 3387950719650663,
+ 3389100120874734,
+ 3391826174525466,
+ 3391858706936950,
+ 3394590901326434,
+ 3394733054252918,
+ 3395256208930528,
+ 3396327423037428,
+ 3397773105741955,
+ 3412193769311791,
+ 3417344214880197,
+ 3421829275385521,
+ 3424706376942600,
+ 3424770874849455,
+ 3427299941551477,
+ 3427966188243021,
+ 3429852718600970,
+ 3433564635899284,
+ 3441475510943216,
+ 3453716837938022,
+ 3455541699650375,
+ 3459151149293686,
+ 3461011284749746,
+ 3468017773810975,
+ 3468478413435006,
+ 3469733676910284,
+ 3472461633787037,
+ 3480467116590888,
+ 3484985178759181,
+ 3485528599363927,
+ 3490271597518843,
+ 3496369553818299,
+ 3496543980542943,
+ 3504564547469991,
+ 3509864058867581,
+ 3512032577594001,
+ 3512898337591665,
+ 3517727528637750,
+ 3517811915720599,
+ 3519670054138657,
+ 3527308810683320,
+ 3529317775237354,
+ 3532119970224050,
+ 3533346461072296,
+ 3533801781903427,
+ 3540777767502482,
+ 3541206393355077,
+ 3542568308544960,
+ 3545494450790484,
+ 3552450997041483,
+ 3554172356249736,
+ 3555009350805453,
+ 3556120827022399,
+ 3556170538121875,
+ 3557677947017994,
+ 3559649975277099,
+ 3562717374600439,
+ 3578996623416481,
+ 3579385405969678,
+ 3579826204570180,
+ 3580903455144653,
+ 3581448968541992,
+ 3589031359889510,
+ 3598426031321008,
+ 3602549932138307,
+ 3608650679937847,
+ 3618063291627055,
+ 3621135234847333,
+ 3622185794780449,
+ 3625832106907018,
+ 3628376511791330,
+ 3633897363477924,
+ 3634597400467599,
+ 3637533446136323,
+ 3640921402798955,
+ 3643628911563101,
+ 3647315641012711,
+ 3653050799060306,
+ 3653452058229566,
+ 3655348890841869,
+ 3657162687556612,
+ 3658380591429298,
+ 3670928756870593,
+ 3671439528499520,
+ 3672224951714544,
+ 3676005960022917,
+ 3683461550546707,
+ 3687598771689608,
+ 3688537180270287,
+ 3691655301359562,
+ 3694629211962424,
+ 3697015043361184,
+ 3702246733486441,
+ 3703190419827622,
+ 3706241000403472,
+ 3713280205748872,
+ 3713786577838412,
+ 3715299619541116,
+ 3715399430058895,
+ 3715464516467511,
+ 3717724958857386,
+ 3721431724647317,
+ 3723597580546044,
+ 3728622142857222,
+ 3734908231985394,
+ 3735719011408786,
+ 3738568221599915,
+ 3743961606118764,
+ 3744877234597490,
+ 3745691804464370,
+ 3747058568012949,
+ 3753675332473720,
+ 3758221620808616,
+ 3760926935470523,
+ 3761600094219947,
+ 3763145072980668,
+ 3764174567576474,
+ 3769592583143344,
+ 3774411384146786,
+ 3780659210183975,
+ 3790555233065450,
+ 3791666338809637,
+ 3804345956543339,
+ 3807404653684416,
+ 3808516667364885,
+ 3810328094993686,
+ 3812086123586299,
+ 3813318153999051,
+ 3813449001940802,
+ 3813469322421121,
+ 3815874058973771,
+ 3816796472084155,
+ 3820076883477449,
+ 3822882072310145,
+ 3823086960376516,
+ 3823300628048301,
+ 3827295790337235,
+ 3829536338807628,
+ 3836371620235232,
+ 3836834437558808,
+ 3840123825705920,
+ 3841884847725994,
+ 3844780248437300,
+ 3848836181647957
+ ]
+ },
+ {
+ "name" : "genome2.fna",
+ "length" : 5498450,
+ "comment" : "gi|47118301|dbj|BA000007.2| Escherichia coli O157:H7 str. Sakai DNA, complete genome",
+ "hashes" :
+ [
+ 3703694776023,
+ 12522063011144,
+ 16683532343363,
+ 16725500088852,
+ 17551373616191,
+ 21150285087017,
+ 24997698352584,
+ 25771393241063,
+ 27141746342066,
+ 32603191963564,
+ 33355113951698,
+ 33373174445483,
+ 40135001466946,
+ 52904105886554,
+ 54267487195332,
+ 62993059179672,
+ 65617729843018,
+ 66417400180258,
+ 68792473092968,
+ 71889932481702,
+ 76535402502726,
+ 77910711329991,
+ 79103686168667,
+ 83832538543685,
+ 86205975593482,
+ 86709255682763,
+ 89217825112117,
+ 90466295445917,
+ 92718753643175,
+ 98055163335582,
+ 100178539101135,
+ 101894942197086,
+ 102565214680028,
+ 106776035873039,
+ 107762944101995,
+ 110100254491429,
+ 111250015466157,
+ 111918366252389,
+ 112288126498296,
+ 112565798999620,
+ 113769038976489,
+ 114691889174745,
+ 116289689660513,
+ 116589162149174,
+ 116925212033615,
+ 126141660684959,
+ 131111881973894,
+ 135411200181186,
+ 143345725674503,
+ 148554695608225,
+ 150497667828147,
+ 167043047663236,
+ 169624182697529,
+ 171696315934934,
+ 171764226221571,
+ 175896512464017,
+ 178733332903406,
+ 183752051883782,
+ 185135589226004,
+ 190599583623642,
+ 191598411457504,
+ 194352815573588,
+ 195539820147899,
+ 195908969986613,
+ 198176128092587,
+ 203011812090168,
+ 204848266864272,
+ 207114001673048,
+ 219126784303370,
+ 219127232708164,
+ 220404521261480,
+ 227557656529835,
+ 234488146968831,
+ 239945629602519,
+ 240298457663159,
+ 241518479363894,
+ 241979920125371,
+ 247026401478011,
+ 248202950098135,
+ 249343933607083,
+ 251532409189057,
+ 252861414296929,
+ 252863754782006,
+ 257814287504831,
+ 259088076671028,
+ 263511612897560,
+ 265393417158242,
+ 268748182387402,
+ 269557356063693,
+ 270873324267804,
+ 273169705301671,
+ 275037120221046,
+ 279171083054766,
+ 284796527510384,
+ 285411947115217,
+ 293631713009889,
+ 296682660121471,
+ 304218464342357,
+ 307284350852425,
+ 309739075521586,
+ 311935564800556,
+ 312258088334861,
+ 313805160671801,
+ 320413748797826,
+ 320800131693944,
+ 324230192022775,
+ 327506758448950,
+ 330642771468364,
+ 333578810836565,
+ 336951755065573,
+ 339099228340726,
+ 341008182162706,
+ 341666494353315,
+ 347197665990378,
+ 350602349011472,
+ 355068611980657,
+ 357076974931262,
+ 357097696307611,
+ 367745128085240,
+ 377153256495223,
+ 377510398200963,
+ 379935127364017,
+ 380669326629949,
+ 382644013236755,
+ 386621431482715,
+ 390926245878939,
+ 394997996693725,
+ 397937306358997,
+ 398701726680669,
+ 404290363667548,
+ 406558773073729,
+ 418142356576564,
+ 418367352246763,
+ 419966752631691,
+ 425106164556257,
+ 435782664399408,
+ 436440873577812,
+ 436846893276547,
+ 438594349490792,
+ 438854574541963,
+ 442379340315192,
+ 448223986562665,
+ 448962290097556,
+ 458160611700585,
+ 461446725332191,
+ 463662742939420,
+ 467060140985684,
+ 468800565874948,
+ 469119490768269,
+ 472429909944599,
+ 473480627538891,
+ 481883942840175,
+ 483348184811890,
+ 491199959981751,
+ 494826214448988,
+ 498229868455789,
+ 536326818739220,
+ 538882355064724,
+ 540841000010622,
+ 545034796114697,
+ 546390065056310,
+ 547350398998973,
+ 551989362894414,
+ 552244608156192,
+ 558735877332876,
+ 559336936231878,
+ 568000522973802,
+ 571557648904164,
+ 572885030955695,
+ 576254598625185,
+ 580717303928681,
+ 585844926888365,
+ 588437783155002,
+ 590105686254881,
+ 594525377085140,
+ 598274857897757,
+ 601889169876924,
+ 606392454750462,
+ 608678462596380,
+ 609934825034092,
+ 610181507915322,
+ 611156861902846,
+ 612498938365174,
+ 616882705096529,
+ 621014487617382,
+ 635136383123691,
+ 635298790804574,
+ 636729285540945,
+ 639801425130105,
+ 641497577649551,
+ 642572636960849,
+ 644978940629776,
+ 649936829809338,
+ 652324546143338,
+ 659362540556615,
+ 666400861028399,
+ 670478382943540,
+ 673908089802275,
+ 681795679544439,
+ 690623632202753,
+ 700059310672934,
+ 708978815766062,
+ 728525780166071,
+ 730627061744034,
+ 734243807774155,
+ 739730488963525,
+ 740607477961099,
+ 742449454393303,
+ 747536102775304,
+ 749169256974776,
+ 751099803827720,
+ 753153853702987,
+ 760199217039095,
+ 767973926198089,
+ 768617718185904,
+ 769475990518197,
+ 769954764926391,
+ 772304653207534,
+ 776074864329597,
+ 780927423520861,
+ 785648654295272,
+ 785842719842079,
+ 788699946358381,
+ 798868643812160,
+ 806065740141997,
+ 806540983549507,
+ 811813304941044,
+ 813707845928891,
+ 816503841678163,
+ 820288749272502,
+ 822834791155571,
+ 823611825934046,
+ 827541627309882,
+ 828816348121895,
+ 829780933409130,
+ 832839452246241,
+ 838862162164301,
+ 849299192264220,
+ 856867875933448,
+ 857273407851175,
+ 858019774603454,
+ 861506284070722,
+ 861763781830808,
+ 875134964763787,
+ 876228623607351,
+ 877463201362698,
+ 877898994993102,
+ 881208268630405,
+ 889716034582361,
+ 892684572200909,
+ 897063241324019,
+ 901931471834337,
+ 905559001582774,
+ 907310714922475,
+ 909557781804548,
+ 910260459544594,
+ 918834079791315,
+ 922005921377760,
+ 924337930096207,
+ 924694737817066,
+ 931049396265524,
+ 936156697600155,
+ 950790026596952,
+ 953134083540635,
+ 956777688150257,
+ 956794137753897,
+ 956958540040835,
+ 961450797062312,
+ 962585394603222,
+ 966600094746660,
+ 969964248239860,
+ 971475441995351,
+ 978850611402558,
+ 979340250776451,
+ 986503871161103,
+ 990205170173965,
+ 993024786300312,
+ 1000793834431881,
+ 1001921970146503,
+ 1002190466327595,
+ 1002750953623334,
+ 1003569352056194,
+ 1004403388656351,
+ 1004930556369066,
+ 1009557435291109,
+ 1012693995966716,
+ 1015224369540793,
+ 1021838098774831,
+ 1022825183910212,
+ 1024116778875076,
+ 1025475811135389,
+ 1027100588271656,
+ 1031418968211075,
+ 1034854861581131,
+ 1034885899455332,
+ 1035348009397075,
+ 1037573376058045,
+ 1040906481516572,
+ 1044221899305861,
+ 1044693020825223,
+ 1046243940463388,
+ 1051896060691813,
+ 1053649852479242,
+ 1056399742412383,
+ 1056815373995971,
+ 1058355358276771,
+ 1061014529070670,
+ 1062265454900130,
+ 1066889230817105,
+ 1072351958742583,
+ 1073757075132416,
+ 1076579573766205,
+ 1085464144855401,
+ 1085810590136519,
+ 1093706599324609,
+ 1094962604173747,
+ 1104080838638807,
+ 1110463687231669,
+ 1113547510077440,
+ 1124632343461454,
+ 1138218115835429,
+ 1140012540019696,
+ 1142966623106825,
+ 1145125463956471,
+ 1147610223223647,
+ 1149574884354257,
+ 1153526756527497,
+ 1154395939808905,
+ 1154625347894374,
+ 1156519831795465,
+ 1156577842927566,
+ 1156936765056096,
+ 1157467251442626,
+ 1158716490930212,
+ 1158832383796823,
+ 1161793480607077,
+ 1171980783285280,
+ 1172164637492226,
+ 1172425383849908,
+ 1173007802359188,
+ 1177183468310475,
+ 1178572981144597,
+ 1179155664979175,
+ 1179841551578480,
+ 1184469739507378,
+ 1192224339153287,
+ 1193194748379973,
+ 1193310083082208,
+ 1195262552234249,
+ 1204751753802167,
+ 1206109020850657,
+ 1209073613719220,
+ 1213973224068578,
+ 1214229549227707,
+ 1223472291905776,
+ 1228794839154904,
+ 1231472998157845,
+ 1237411659816964,
+ 1238181206405414,
+ 1248171481961867,
+ 1249140625378049,
+ 1250420615792499,
+ 1262366023195776,
+ 1267845926174859,
+ 1270621240174851,
+ 1270945958952461,
+ 1271152529340978,
+ 1277145842427434,
+ 1278839460809518,
+ 1279648188870847,
+ 1285144604825541,
+ 1285226976702363,
+ 1285410121505847,
+ 1289394051340419,
+ 1292922906566475,
+ 1293840135957021,
+ 1294795083337746,
+ 1299663573122311,
+ 1304950177664488,
+ 1306937454668551,
+ 1308079881551649,
+ 1308106938819177,
+ 1309468505503115,
+ 1315453574816614,
+ 1320911465824075,
+ 1323243579668033,
+ 1323683905492377,
+ 1327617093048938,
+ 1328257188593957,
+ 1337626124900737,
+ 1337823682935323,
+ 1338426797289558,
+ 1345552894532943,
+ 1347659037780763,
+ 1350281300930207,
+ 1350584707787619,
+ 1352371759672857,
+ 1355565657226279,
+ 1357262347445806,
+ 1370484209987595,
+ 1370559325721362,
+ 1371094444841213,
+ 1378241694567182,
+ 1390675320180837,
+ 1397245118305521,
+ 1399138228058685,
+ 1400958486026933,
+ 1405577059608436,
+ 1416727865545266,
+ 1422646266615883,
+ 1428472557280637,
+ 1428791016283229,
+ 1437404333118871,
+ 1438819105992382,
+ 1441645184802638,
+ 1443986292471515,
+ 1444165739257029,
+ 1444859715970861,
+ 1446238744318165,
+ 1448281385951810,
+ 1452769867915484,
+ 1458939511156390,
+ 1465483891283631,
+ 1468435389131163,
+ 1469601030702258,
+ 1470093577691192,
+ 1477834082216342,
+ 1489532808730924,
+ 1497370230207940,
+ 1501840430117884,
+ 1503893107066553,
+ 1506544743870655,
+ 1515481216234594,
+ 1518556890623136,
+ 1525557707760212,
+ 1525562526492942,
+ 1526039318580833,
+ 1526388199669049,
+ 1528444436721677,
+ 1528752940936261,
+ 1532231731304012,
+ 1535063496938977,
+ 1537020432648880,
+ 1541037172577104,
+ 1549530261020368,
+ 1550977950057176,
+ 1554384620856693,
+ 1560440145576633,
+ 1561211337072795,
+ 1561392880694962,
+ 1565506340163002,
+ 1568756855591696,
+ 1571845198751926,
+ 1574712798197965,
+ 1578041137257892,
+ 1579611929371771,
+ 1580668012123321,
+ 1589935211180918,
+ 1590631988888441,
+ 1594814692912764,
+ 1598805435575473,
+ 1604112006613713,
+ 1615805749241267,
+ 1616057056259838,
+ 1616248529153055,
+ 1623756785893861,
+ 1625388712794197,
+ 1626679595848192,
+ 1629191997749152,
+ 1632042571373627,
+ 1632545932299825,
+ 1639927227006797,
+ 1644436749735721,
+ 1646305274637223,
+ 1646314243919347,
+ 1656404760027698,
+ 1659848504113041,
+ 1660790484797267,
+ 1668731490461007,
+ 1669903458003823,
+ 1671813958193083,
+ 1672317452907448,
+ 1684541581264319,
+ 1686868472005240,
+ 1691442091018326,
+ 1693065755421999,
+ 1693082404291748,
+ 1699078812835482,
+ 1701534566916444,
+ 1703437916199732,
+ 1706699971125269,
+ 1708154517788500,
+ 1708450219601223,
+ 1709208928259084,
+ 1710580230436138,
+ 1719461470643099,
+ 1724031441810059,
+ 1731414752328248,
+ 1733488330992367,
+ 1735392745832045,
+ 1740395278342643,
+ 1751698265555764,
+ 1752908108796220,
+ 1753308552137375,
+ 1753771755791029,
+ 1756517806858748,
+ 1756687539404719,
+ 1761374391450879,
+ 1762630490657248,
+ 1763833688373868,
+ 1764838771920937,
+ 1765399490975923,
+ 1767001339426217,
+ 1776133554019934,
+ 1786106073311873,
+ 1787259017597685,
+ 1787998382186824,
+ 1789900134822701,
+ 1801275206256617,
+ 1802457946327669,
+ 1802982444863312,
+ 1808464570083889,
+ 1812744655888381,
+ 1820959062880842,
+ 1827235886236624,
+ 1830268693993444,
+ 1831883332937520,
+ 1835139510972615,
+ 1844924951981928,
+ 1847629881531119,
+ 1850941908679371,
+ 1853196278886744,
+ 1855176227306009,
+ 1858217593308953,
+ 1872575906889485,
+ 1874542107503308,
+ 1876207015413196,
+ 1882484501008945,
+ 1887627906882134,
+ 1891261093359267,
+ 1899441711775566,
+ 1907536247032118,
+ 1913472879708869,
+ 1916948679539307,
+ 1917220597480439,
+ 1917462362719845,
+ 1922264350502195,
+ 1923519840848274,
+ 1929741658729314,
+ 1930759754111553,
+ 1934678717528993,
+ 1936255444455825,
+ 1947362805623621,
+ 1950351940048555,
+ 1951801563728943,
+ 1953999342060852,
+ 1955559625503217,
+ 1956939094953262,
+ 1957701014063289,
+ 1958335824154835,
+ 1958869039156100,
+ 1964534178586289,
+ 1964997788744016,
+ 1969003266570787,
+ 1971712898559437,
+ 1974598399054984,
+ 1980568214822849,
+ 1981067029344623,
+ 1981154059288291,
+ 1995644919788432,
+ 1995986330027191,
+ 1999653908166971,
+ 2004039151534897,
+ 2010487270906569,
+ 2014658280982556,
+ 2015248689971564,
+ 2016164553764703,
+ 2017863976585964,
+ 2019325732740981,
+ 2019585422459536,
+ 2023409032137504,
+ 2023429428011322,
+ 2025746269927368,
+ 2027378035780221,
+ 2028072384929697,
+ 2029010057673557,
+ 2029463840150225,
+ 2031192927792843,
+ 2039697840715802,
+ 2041358419321528,
+ 2041565732481514,
+ 2045576691854597,
+ 2054121759032486,
+ 2054710580080339,
+ 2055835598859733,
+ 2061913944260074,
+ 2063008413757867,
+ 2063904110392604,
+ 2069696959583009,
+ 2073715707596673,
+ 2085565202986971,
+ 2087057658268076,
+ 2088069525771659,
+ 2096373986414202,
+ 2098982571856576,
+ 2104519934924809,
+ 2109338263586241,
+ 2109437211441330,
+ 2109825994698043,
+ 2111625722039990,
+ 2114613282968616,
+ 2115819507100504,
+ 2119151366529277,
+ 2119430287017055,
+ 2120418862012154,
+ 2122484177682025,
+ 2125609024105363,
+ 2132734055665043,
+ 2133104663716974,
+ 2133746750881594,
+ 2135096604875718,
+ 2144295051339044,
+ 2144861695090934,
+ 2153136934395861,
+ 2156219194149567,
+ 2158501526794469,
+ 2164808574747226,
+ 2166916793541235,
+ 2167242595203119,
+ 2171203690601800,
+ 2172287414552644,
+ 2177527681517552,
+ 2177821880959407,
+ 2181081730658196,
+ 2187887423180628,
+ 2193889836206911,
+ 2194026537071857,
+ 2200240325502302,
+ 2201189900979833,
+ 2203602782592944,
+ 2203909323521797,
+ 2206896186809891,
+ 2209227890905803,
+ 2209299347388853,
+ 2211096632368775,
+ 2211190714555095,
+ 2212822234758756,
+ 2213129570848532,
+ 2215280247524439,
+ 2215385946845855,
+ 2217824728075048,
+ 2220943948307820,
+ 2224917765082082,
+ 2227481306654124,
+ 2232265696954491,
+ 2235497740665523,
+ 2239183959286133,
+ 2241011611182580,
+ 2243032658349719,
+ 2249465920644360,
+ 2251884510464989,
+ 2254104781395345,
+ 2259632172825864,
+ 2261620935442464,
+ 2263586660612036,
+ 2269985197005983,
+ 2273838361048952,
+ 2281558473473012,
+ 2283166624204130,
+ 2284532593561806,
+ 2288953000098108,
+ 2289534317079988,
+ 2299373121453984,
+ 2302143995115746,
+ 2312878396041528,
+ 2313083550406390,
+ 2314307504759831,
+ 2316787462754888,
+ 2319028505625418,
+ 2320997905608487,
+ 2325350755879136,
+ 2331036032591016,
+ 2332595734174534,
+ 2336944292198780,
+ 2341001259207800,
+ 2342397466617075,
+ 2343853854830583,
+ 2346698706320505,
+ 2347756505567837,
+ 2350095992175591,
+ 2350144269647188,
+ 2353730651177615,
+ 2364893325534931,
+ 2365414048390744,
+ 2366122170656712,
+ 2367014159726613,
+ 2368906433310811,
+ 2369345891505872,
+ 2370192225385749,
+ 2375382411513780,
+ 2391614908888951,
+ 2392936587491291,
+ 2397689414378114,
+ 2399109144087028,
+ 2403884218355596,
+ 2407186399323232,
+ 2408363197917556,
+ 2409391466709503,
+ 2409861074473399,
+ 2410197458295558,
+ 2417982387782565,
+ 2419069951679570,
+ 2423211172870677,
+ 2427010367737622,
+ 2427506813960305,
+ 2428115782695990,
+ 2428235422771172,
+ 2431147396931338,
+ 2435995871201630,
+ 2436520988387086,
+ 2437385865757479,
+ 2438746107822056,
+ 2440967105688895,
+ 2441464999887780,
+ 2446087213431191,
+ 2455948336809545,
+ 2458019191831029,
+ 2471969595081801,
+ 2472140177142350,
+ 2474149675777685,
+ 2475314713904717,
+ 2481990979504207,
+ 2483232887628313,
+ 2488857113487989,
+ 2494415491640334,
+ 2495673317636489,
+ 2498401103564525,
+ 2500580522931027,
+ 2500975352543500,
+ 2502397184612176,
+ 2508983603584979,
+ 2509715549919396,
+ 2511751773952091,
+ 2513155861381520,
+ 2513275657722041,
+ 2516513634028452,
+ 2517505051346271,
+ 2521002441265700,
+ 2526240495254663,
+ 2535876467420972,
+ 2538038350386480,
+ 2542333869410305,
+ 2545335484921653,
+ 2546086870418754,
+ 2555873083818265,
+ 2559951211121412,
+ 2562883673752919,
+ 2564237403603359,
+ 2564931009789095,
+ 2569804992065676,
+ 2571781153471230,
+ 2572598084629362,
+ 2581034133583066,
+ 2589398439520608,
+ 2591063679385680,
+ 2596002053130697,
+ 2602896093442509,
+ 2607549250757871,
+ 2610147007996089,
+ 2616447217909057,
+ 2616708825090300,
+ 2618291197369414,
+ 2622250198347614,
+ 2623747523193354,
+ 2624878766120106,
+ 2629720185060328,
+ 2633509876997698,
+ 2639883009031439,
+ 2640078475481372,
+ 2641068255975445,
+ 2646300381403787,
+ 2651809316853810,
+ 2654315936224170,
+ 2656744009072645,
+ 2657628209997025,
+ 2664362379264181,
+ 2679207567196806,
+ 2681841310609335,
+ 2682230475466206,
+ 2682235950348030,
+ 2682260236873009,
+ 2682827334041644,
+ 2696906355795514,
+ 2707154566713022,
+ 2707290026870716,
+ 2715090327597901,
+ 2725345554993064,
+ 2731408912889259,
+ 2738453673972739,
+ 2741660511556431,
+ 2744473906118431,
+ 2746740739822815,
+ 2749301324841119,
+ 2750369727553093,
+ 2750408660657524,
+ 2752423935891959,
+ 2756071361360475,
+ 2764657354948603,
+ 2765356004920344,
+ 2766065063510668,
+ 2772284167605343,
+ 2774956265109566,
+ 2777956427972420,
+ 2779551068544955,
+ 2780876524840844,
+ 2788599090376268,
+ 2790759863837607,
+ 2791711361773895,
+ 2796165567564554,
+ 2796934217008523,
+ 2799292310626878,
+ 2802885629650446,
+ 2805197600615205,
+ 2811749323396711,
+ 2814788311379466,
+ 2818908710349372,
+ 2823011945287437,
+ 2824235399295266,
+ 2827861308312231,
+ 2828057280695711,
+ 2830165140481448,
+ 2830259086277627,
+ 2833087346273922,
+ 2834613235985145,
+ 2855125351690727,
+ 2855474670840254,
+ 2856215005730980,
+ 2857242037990167,
+ 2862025196574124,
+ 2862132579312605,
+ 2868199030500362,
+ 2868657437681302,
+ 2871178830644782,
+ 2883969369356989,
+ 2885435925236443,
+ 2885684181587029,
+ 2886624360716170,
+ 2886812665780162,
+ 2892959284792378,
+ 2897095043949180,
+ 2904670804484916,
+ 2909024785801575,
+ 2909449267180539,
+ 2909476481185125,
+ 2910129343563738,
+ 2912631490053512,
+ 2915178544995369,
+ 2917966323538534,
+ 2920066062038110,
+ 2923707812386141,
+ 2927923311056621,
+ 2929015298427587,
+ 2935382216684553,
+ 2940092630809820,
+ 2946586747552401,
+ 2953543609151018,
+ 2953876267695651,
+ 2959250607480491,
+ 2966396400958864,
+ 2969184744463716,
+ 2973186577349424,
+ 2976245038557084,
+ 2983947831910337,
+ 2985173944610375,
+ 2987482276307270,
+ 2990805349977143,
+ 2994454008158770,
+ 2994704173026852,
+ 2994725740515941,
+ 3004214746770134,
+ 3005312060169169,
+ 3007323831692818,
+ 3009046704019813,
+ 3015478246262911,
+ 3020314390764917,
+ 3021511801402073,
+ 3022689456030471,
+ 3029860654573792,
+ 3032025711852414,
+ 3037301542633117,
+ 3046942532736602,
+ 3048345323157728,
+ 3051255902187119,
+ 3058265525461530,
+ 3060027864623396,
+ 3061946979607071,
+ 3062102582500787,
+ 3066389164804375,
+ 3066520441915813,
+ 3067442679313441,
+ 3067617749310490,
+ 3069588084448814,
+ 3074702185506880,
+ 3075220407582460,
+ 3076244208144327,
+ 3081894958282806,
+ 3082828996070904,
+ 3095274585087045,
+ 3104360938756022,
+ 3107578816854409,
+ 3112190251462546,
+ 3113226145811862,
+ 3118812205090388,
+ 3119791007357666,
+ 3131411599493219,
+ 3131734316784638,
+ 3132682207292497,
+ 3132925813753493,
+ 3133576049751625,
+ 3141363853260471,
+ 3143797722484603,
+ 3148514413817638,
+ 3148897366994230,
+ 3151103808181412,
+ 3151917161098580,
+ 3156079150759700,
+ 3156480916105693,
+ 3159271588902650,
+ 3164525091077613,
+ 3167718230972956,
+ 3168575450833798,
+ 3170370480028284,
+ 3176686928818846,
+ 3182112634136143,
+ 3189533497565395,
+ 3193706453044838,
+ 3194308357559112,
+ 3195488200716776,
+ 3197456459879687,
+ 3202400544324347,
+ 3203298087861934,
+ 3205569263312945,
+ 3209681851269886,
+ 3212616315093692,
+ 3213970056970601,
+ 3213988571539449,
+ 3217544566048649,
+ 3224023476960008,
+ 3225178300018176,
+ 3230869729714732,
+ 3233217934193683,
+ 3237005651498609,
+ 3238514465894546,
+ 3243666353441572,
+ 3254156206685824,
+ 3256898306976357,
+ 3259000384147840,
+ 3259397157512471,
+ 3260711832345837,
+ 3261513360556526,
+ 3262376948747614,
+ 3275817234748541,
+ 3282079768381895,
+ 3285863149081422,
+ 3290751826004107,
+ 3298104694887216,
+ 3301669530810893,
+ 3304166496816853,
+ 3308465573850446,
+ 3309064512593650,
+ 3309153399130101,
+ 3312750158140177,
+ 3320900876696445,
+ 3322417381274756,
+ 3324783922465598,
+ 3326614806453267,
+ 3332031864527052,
+ 3334521995297550,
+ 3338013074967905,
+ 3341964779300120,
+ 3348809923047007,
+ 3354456329798908,
+ 3360793887233705,
+ 3364210976543527,
+ 3365541559217554,
+ 3367062585985197,
+ 3370100951126196,
+ 3383050972815065,
+ 3384681920227564,
+ 3385759904131899,
+ 3387206683861419,
+ 3387950719650663,
+ 3389100120874734,
+ 3391826174525466,
+ 3393011265291627,
+ 3395256208930528,
+ 3396327423037428,
+ 3397773105741955,
+ 3399648649598797,
+ 3399904051063777
+ ]
+ },
+ {
+ "name" : "genome3.fna",
+ "length" : 4631469,
+ "comment" : "gi|682117612|gb|CP009273.1| Escherichia coli BW25113, complete genome",
+ "hashes" :
+ [
+ 3703694776023,
+ 4374531858158,
+ 5345587754044,
+ 17551373616191,
+ 21150285087017,
+ 24997698352584,
+ 25771393241063,
+ 27141746342066,
+ 27362219888026,
+ 27571760239933,
+ 32603191963564,
+ 36460262049084,
+ 40135001466946,
+ 54267487195332,
+ 54928807149369,
+ 65617729843018,
+ 68792473092968,
+ 71889932481702,
+ 72656062656272,
+ 76535402502726,
+ 77069580434463,
+ 77910711329991,
+ 79103686168667,
+ 86205975593482,
+ 89217825112117,
+ 90466295445917,
+ 91491949740885,
+ 92718753643175,
+ 97239968037938,
+ 98055163335582,
+ 100178539101135,
+ 102505731352189,
+ 102565214680028,
+ 104177745548946,
+ 106776035873039,
+ 111250015466157,
+ 112288126498296,
+ 112565798999620,
+ 113269032034961,
+ 113769038976489,
+ 116289689660513,
+ 116589162149174,
+ 116925212033615,
+ 117933296961001,
+ 126141660684959,
+ 135411200181186,
+ 143345725674503,
+ 148554695608225,
+ 159311917533494,
+ 165792636480134,
+ 167043047663236,
+ 167894249090983,
+ 169624182697529,
+ 175896512464017,
+ 185135589226004,
+ 191598411457504,
+ 195539820147899,
+ 204848266864272,
+ 207114001673048,
+ 219127232708164,
+ 220404521261480,
+ 231711600020668,
+ 239945629602519,
+ 248202950098135,
+ 249343933607083,
+ 257814287504831,
+ 259088076671028,
+ 262297732220758,
+ 263511612897560,
+ 265455171421180,
+ 266747475753425,
+ 268359922841358,
+ 268748182387402,
+ 269557356063693,
+ 273169705301671,
+ 275037120221046,
+ 278740376483011,
+ 284796527510384,
+ 298150060019612,
+ 311935564800556,
+ 312258088334861,
+ 312295230690246,
+ 313805160671801,
+ 318427908817011,
+ 320413748797826,
+ 320800131693944,
+ 324230192022775,
+ 325372858587454,
+ 326739391046350,
+ 333276993835961,
+ 333578810836565,
+ 341008182162706,
+ 341545780572295,
+ 347197665990378,
+ 355068611980657,
+ 357076974931262,
+ 367745128085240,
+ 372708354924664,
+ 376057577697219,
+ 377322277311259,
+ 377510398200963,
+ 379935127364017,
+ 382644013236755,
+ 386044708512124,
+ 386621431482715,
+ 390926245878939,
+ 393907298139695,
+ 398701726680669,
+ 404290363667548,
+ 406558773073729,
+ 418142356576564,
+ 436440873577812,
+ 438382781212187,
+ 442321068186029,
+ 442379340315192,
+ 448223986562665,
+ 449954328588135,
+ 454826083026166,
+ 467060140985684,
+ 468082959264345,
+ 469119490768269,
+ 471980910724736,
+ 472429909944599,
+ 478887256560220,
+ 481883942840175,
+ 483348184811890,
+ 491199959981751,
+ 492909452725815,
+ 495812753818812,
+ 504509449585650,
+ 512562265217625,
+ 517330267815754,
+ 518593397944982,
+ 532224739114182,
+ 545034796114697,
+ 546390065056310,
+ 558080527737140,
+ 558735877332876,
+ 559336936231878,
+ 568000522973802,
+ 573632093979676,
+ 576254598625185,
+ 585844926888365,
+ 598274857897757,
+ 606392454750462,
+ 606812680768397,
+ 608678462596380,
+ 611156861902846,
+ 611334256802936,
+ 616882705096529,
+ 635136383123691,
+ 635440561788678,
+ 636729285540945,
+ 639801425130105,
+ 641497577649551,
+ 650399733249559,
+ 652324546143338,
+ 666400861028399,
+ 673908089802275,
+ 674742502965615,
+ 690623632202753,
+ 694366846684166,
+ 700059310672934,
+ 739730488963525,
+ 740607477961099,
+ 742449454393303,
+ 746921786421867,
+ 748493633127713,
+ 751099803827720,
+ 751349278225892,
+ 753153853702987,
+ 767973926198089,
+ 768617718185904,
+ 777079255471824,
+ 780927423520861,
+ 785648654295272,
+ 785842719842079,
+ 788699946358381,
+ 798868643812160,
+ 806065740141997,
+ 806540983549507,
+ 816503841678163,
+ 822834791155571,
+ 828333694119781,
+ 832839452246241,
+ 838862162164301,
+ 849299192264220,
+ 849719651726676,
+ 861506284070722,
+ 861763781830808,
+ 875134964763787,
+ 876228623607351,
+ 877463201362698,
+ 889716034582361,
+ 892684572200909,
+ 907310714922475,
+ 909557781804548,
+ 910260459544594,
+ 922005921377760,
+ 924337930096207,
+ 924694737817066,
+ 956777688150257,
+ 956794137753897,
+ 956958540040835,
+ 962585394603222,
+ 965770318045625,
+ 966960059485843,
+ 971199458777122,
+ 971475441995351,
+ 976819860882976,
+ 978850611402558,
+ 993024786300312,
+ 1002190466327595,
+ 1004403388656351,
+ 1009557435291109,
+ 1012693995966716,
+ 1020487038711202,
+ 1021838098774831,
+ 1022825183910212,
+ 1024116778875076,
+ 1025475811135389,
+ 1027100588271656,
+ 1031418968211075,
+ 1034854861581131,
+ 1040906481516572,
+ 1041104938678753,
+ 1041944326585600,
+ 1042566742143296,
+ 1051896060691813,
+ 1052289371649832,
+ 1053649852479242,
+ 1056399742412383,
+ 1056815373995971,
+ 1058355358276771,
+ 1072351958742583,
+ 1073757075132416,
+ 1080442269838143,
+ 1085464144855401,
+ 1093529392287663,
+ 1093706599324609,
+ 1096370249644185,
+ 1104080838638807,
+ 1110463687231669,
+ 1113547510077440,
+ 1122474689470832,
+ 1124632343461454,
+ 1125038647685684,
+ 1130056091934672,
+ 1136441185432963,
+ 1137402168239582,
+ 1138218115835429,
+ 1140012540019696,
+ 1147610223223647,
+ 1153526756527497,
+ 1154625347894374,
+ 1156577842927566,
+ 1156936765056096,
+ 1158716490930212,
+ 1167272700933513,
+ 1171980783285280,
+ 1172164637492226,
+ 1174333854056800,
+ 1177183468310475,
+ 1184469739507378,
+ 1193194748379973,
+ 1203355550243244,
+ 1204751753802167,
+ 1206109020850657,
+ 1209073613719220,
+ 1211839407822556,
+ 1214549316562201,
+ 1223472291905776,
+ 1226848664686811,
+ 1228794839154904,
+ 1233591354898210,
+ 1248171481961867,
+ 1249140625378049,
+ 1250420615792499,
+ 1270621240174851,
+ 1271152529340978,
+ 1277145842427434,
+ 1278839460809518,
+ 1279648188870847,
+ 1285226976702363,
+ 1292922906566475,
+ 1293840135957021,
+ 1306937454668551,
+ 1308106938819177,
+ 1311630570173226,
+ 1315453574816614,
+ 1316262047470064,
+ 1323683905492377,
+ 1327617093048938,
+ 1328257188593957,
+ 1328925760930540,
+ 1336791348942658,
+ 1337823682935323,
+ 1338426797289558,
+ 1347659037780763,
+ 1349520275800762,
+ 1350281300930207,
+ 1350584707787619,
+ 1350965798512051,
+ 1352371759672857,
+ 1355565657226279,
+ 1366139758544952,
+ 1370559325721362,
+ 1372323191428327,
+ 1374833818530662,
+ 1378241694567182,
+ 1390675320180837,
+ 1397245118305521,
+ 1399138228058685,
+ 1401111668989440,
+ 1405577059608436,
+ 1415164117193179,
+ 1416727865545266,
+ 1417152008445458,
+ 1417228982347968,
+ 1420415050020789,
+ 1422646266615883,
+ 1428791016283229,
+ 1437404333118871,
+ 1439212134041297,
+ 1443986292471515,
+ 1448281385951810,
+ 1452769867915484,
+ 1458939511156390,
+ 1468422094037376,
+ 1468435389131163,
+ 1470093577691192,
+ 1473303838245121,
+ 1501840430117884,
+ 1502483749131498,
+ 1509251897819909,
+ 1515481216234594,
+ 1518556890623136,
+ 1525557707760212,
+ 1525562526492942,
+ 1526039318580833,
+ 1526388199669049,
+ 1528444436721677,
+ 1532231731304012,
+ 1535063496938977,
+ 1537020432648880,
+ 1541037172577104,
+ 1549530261020368,
+ 1550977950057176,
+ 1561211337072795,
+ 1573107540672390,
+ 1578041137257892,
+ 1580668012123321,
+ 1587471541736126,
+ 1589935211180918,
+ 1590631988888441,
+ 1594708228551845,
+ 1598805435575473,
+ 1604112006613713,
+ 1613625605184352,
+ 1615805749241267,
+ 1616248529153055,
+ 1623771691133374,
+ 1625388712794197,
+ 1626507814066212,
+ 1630998321732091,
+ 1631075121280256,
+ 1632042571373627,
+ 1632545932299825,
+ 1635838075559940,
+ 1639927227006797,
+ 1646314243919347,
+ 1648687757559290,
+ 1652881559208978,
+ 1654004508413302,
+ 1659848504113041,
+ 1667965263247545,
+ 1669903458003823,
+ 1672690280184610,
+ 1684541581264319,
+ 1686827846148564,
+ 1687738124008082,
+ 1691442091018326,
+ 1692805704518431,
+ 1693082404291748,
+ 1696339135192354,
+ 1703437916199732,
+ 1708154517788500,
+ 1709208928259084,
+ 1710580230436138,
+ 1714776101275494,
+ 1719461470643099,
+ 1720399334120937,
+ 1724031441810059,
+ 1727183672753893,
+ 1735392745832045,
+ 1735998386338362,
+ 1738701129210471,
+ 1740395278342643,
+ 1743125229790106,
+ 1751698265555764,
+ 1752908108796220,
+ 1753308552137375,
+ 1753771755791029,
+ 1756687539404719,
+ 1762630490657248,
+ 1764838771920937,
+ 1767001339426217,
+ 1770915762339832,
+ 1787259017597685,
+ 1789900134822701,
+ 1792071081980571,
+ 1801275206256617,
+ 1802457946327669,
+ 1808464570083889,
+ 1812744655888381,
+ 1817302344161584,
+ 1818139840284483,
+ 1819857177786509,
+ 1820959062880842,
+ 1827235886236624,
+ 1830268693993444,
+ 1831883332937520,
+ 1833417472609184,
+ 1842875044635002,
+ 1844865274898047,
+ 1848614151469314,
+ 1850941908679371,
+ 1853196278886744,
+ 1855176227306009,
+ 1858217593308953,
+ 1874239187120175,
+ 1876207015413196,
+ 1882484501008945,
+ 1887627906882134,
+ 1907536247032118,
+ 1917462362719845,
+ 1922431136615521,
+ 1923519840848274,
+ 1929741658729314,
+ 1930505532183871,
+ 1930759754111553,
+ 1934678717528993,
+ 1939313756933503,
+ 1947362805623621,
+ 1950257317448391,
+ 1950351940048555,
+ 1951801563728943,
+ 1953999342060852,
+ 1956939094953262,
+ 1957701014063289,
+ 1958335824154835,
+ 1967916335809068,
+ 1969003266570787,
+ 1974598399054984,
+ 1981067029344623,
+ 1981154059288291,
+ 1983503147569462,
+ 1995644919788432,
+ 1997508214632124,
+ 1999653908166971,
+ 2004039151534897,
+ 2004930974167174,
+ 2016164553764703,
+ 2017863976585964,
+ 2019325732740981,
+ 2019585422459536,
+ 2023409032137504,
+ 2025586042383011,
+ 2025746269927368,
+ 2028072384929697,
+ 2029010057673557,
+ 2031192927792843,
+ 2037664946975586,
+ 2039697840715802,
+ 2041358419321528,
+ 2042479209069706,
+ 2052003813551995,
+ 2054121759032486,
+ 2054710580080339,
+ 2055835598859733,
+ 2058786262142372,
+ 2063008413757867,
+ 2066381598165413,
+ 2069696959583009,
+ 2073715707596673,
+ 2084069143189934,
+ 2086640713450971,
+ 2087057658268076,
+ 2088069525771659,
+ 2098982571856576,
+ 2106232978768637,
+ 2109338263586241,
+ 2109825994698043,
+ 2114111736337670,
+ 2114613282968616,
+ 2115819507100504,
+ 2119151366529277,
+ 2119430287017055,
+ 2120418862012154,
+ 2122276175174129,
+ 2122484177682025,
+ 2124095034767201,
+ 2128353777681243,
+ 2132734055665043,
+ 2133746750881594,
+ 2135096604875718,
+ 2137309594802075,
+ 2139538089042443,
+ 2139576114905451,
+ 2144295051339044,
+ 2144861695090934,
+ 2153136934395861,
+ 2156219194149567,
+ 2163311498319671,
+ 2164808574747226,
+ 2167242595203119,
+ 2169218424245518,
+ 2172287414552644,
+ 2174974481998107,
+ 2177821880959407,
+ 2181081730658196,
+ 2182398795403341,
+ 2187371118363080,
+ 2187887423180628,
+ 2194026537071857,
+ 2203602782592944,
+ 2203909323521797,
+ 2206896186809891,
+ 2209227890905803,
+ 2211096632368775,
+ 2213129570848532,
+ 2215280247524439,
+ 2215385946845855,
+ 2217824728075048,
+ 2220943948307820,
+ 2221906647410175,
+ 2223986253225205,
+ 2224917765082082,
+ 2227481306654124,
+ 2239183959286133,
+ 2241011611182580,
+ 2245893536341001,
+ 2249465920644360,
+ 2259632172825864,
+ 2261620935442464,
+ 2263387216756302,
+ 2263586660612036,
+ 2268996645005542,
+ 2269985197005983,
+ 2273838361048952,
+ 2281558473473012,
+ 2287829694315293,
+ 2290713827170847,
+ 2291131537136610,
+ 2298912361369990,
+ 2302143995115746,
+ 2312878396041528,
+ 2314307504759831,
+ 2316787462754888,
+ 2325350755879136,
+ 2331036032591016,
+ 2332595734174534,
+ 2341001259207800,
+ 2344109037412480,
+ 2346698706320505,
+ 2350095992175591,
+ 2353730651177615,
+ 2365414048390744,
+ 2366122170656712,
+ 2367014159726613,
+ 2368906433310811,
+ 2370522626729401,
+ 2372682746946332,
+ 2375072351792490,
+ 2375382411513780,
+ 2384313132466132,
+ 2391614908888951,
+ 2392544648101477,
+ 2392936587491291,
+ 2397689414378114,
+ 2399109144087028,
+ 2406418852781832,
+ 2407186399323232,
+ 2408363197917556,
+ 2409391466709503,
+ 2409861074473399,
+ 2410197458295558,
+ 2417982387782565,
+ 2419069951679570,
+ 2428235422771172,
+ 2430236048871462,
+ 2431147396931338,
+ 2435995871201630,
+ 2437385865757479,
+ 2440967105688895,
+ 2441464999887780,
+ 2450608614533781,
+ 2458019191831029,
+ 2458992410273605,
+ 2471969595081801,
+ 2472140177142350,
+ 2474149675777685,
+ 2474177960075165,
+ 2475314713904717,
+ 2478204206131689,
+ 2488857113487989,
+ 2492778624172776,
+ 2493656341728273,
+ 2493777281889121,
+ 2494415491640334,
+ 2495673317636489,
+ 2498401103564525,
+ 2502397184612176,
+ 2508983603584979,
+ 2509715549919396,
+ 2513155861381520,
+ 2513275657722041,
+ 2513707624910234,
+ 2516513634028452,
+ 2517505051346271,
+ 2520836106159833,
+ 2521002441265700,
+ 2525877720523013,
+ 2526240495254663,
+ 2535876467420972,
+ 2545335484921653,
+ 2546086870418754,
+ 2555252183827150,
+ 2556981141960497,
+ 2557471253289799,
+ 2559951211121412,
+ 2562883673752919,
+ 2564237403603359,
+ 2564931009789095,
+ 2569804992065676,
+ 2571781153471230,
+ 2578507172359119,
+ 2581034133583066,
+ 2587157541471436,
+ 2589398439520608,
+ 2593729243064004,
+ 2596002053130697,
+ 2605011208343467,
+ 2607549250757871,
+ 2616091809828649,
+ 2616708825090300,
+ 2618291197369414,
+ 2623747523193354,
+ 2624878766120106,
+ 2633509876997698,
+ 2640078475481372,
+ 2641068255975445,
+ 2644740716631333,
+ 2646300381403787,
+ 2649786361026710,
+ 2651809316853810,
+ 2654315936224170,
+ 2657628209997025,
+ 2657920817778708,
+ 2664362379264181,
+ 2679207567196806,
+ 2681841310609335,
+ 2696906355795514,
+ 2697621990856187,
+ 2709854642839249,
+ 2715140864083002,
+ 2723446825937667,
+ 2729012306712815,
+ 2731948431343265,
+ 2733999854851063,
+ 2741660511556431,
+ 2743220549660135,
+ 2746740739822815,
+ 2750369727553093,
+ 2750408660657524,
+ 2751890801645518,
+ 2752423935891959,
+ 2756071361360475,
+ 2764657354948603,
+ 2765356004920344,
+ 2766065063510668,
+ 2772284167605343,
+ 2773983446002210,
+ 2774956265109566,
+ 2777956427972420,
+ 2779551068544955,
+ 2780876524840844,
+ 2788599090376268,
+ 2789764921458739,
+ 2790597388386299,
+ 2796934217008523,
+ 2805197600615205,
+ 2811749323396711,
+ 2814788311379466,
+ 2818908710349372,
+ 2824235399295266,
+ 2827861308312231,
+ 2830259086277627,
+ 2830811517908480,
+ 2833087346273922,
+ 2833767936535060,
+ 2834613235985145,
+ 2843456650639316,
+ 2855125351690727,
+ 2856215005730980,
+ 2862025196574124,
+ 2864649603717909,
+ 2864837300605269,
+ 2868199030500362,
+ 2868657437681302,
+ 2871178830644782,
+ 2874825177847044,
+ 2882933581583305,
+ 2885684181587029,
+ 2897095043949180,
+ 2904758868046007,
+ 2909449267180539,
+ 2909476481185125,
+ 2913261154478977,
+ 2914906215574294,
+ 2915178544995369,
+ 2916591282014603,
+ 2917966323538534,
+ 2923707812386141,
+ 2927923311056621,
+ 2931571972751850,
+ 2935382216684553,
+ 2949484647451052,
+ 2953543609151018,
+ 2953876267695651,
+ 2957827287256567,
+ 2961425221989873,
+ 2966200342921724,
+ 2967607514980173,
+ 2973186577349424,
+ 2975859727230645,
+ 2976245038557084,
+ 2981116908386663,
+ 2983947831910337,
+ 2985173944610375,
+ 2987482276307270,
+ 2994454008158770,
+ 3005208739989786,
+ 3005312060169169,
+ 3015581196771826,
+ 3020314390764917,
+ 3022689456030471,
+ 3025980369636388,
+ 3029341628273089,
+ 3029860654573792,
+ 3032025711852414,
+ 3037301542633117,
+ 3043362163532172,
+ 3046942532736602,
+ 3047560614153298,
+ 3058265525461530,
+ 3066520441915813,
+ 3067617749310490,
+ 3069588084448814,
+ 3074702185506880,
+ 3075220407582460,
+ 3076244208144327,
+ 3082035596981534,
+ 3082684337973299,
+ 3089609529942184,
+ 3095274585087045,
+ 3101732378482309,
+ 3102736794392912,
+ 3109437597065678,
+ 3112190251462546,
+ 3113226145811862,
+ 3118812205090388,
+ 3124544497793334,
+ 3131734316784638,
+ 3132682207292497,
+ 3132925813753493,
+ 3139825612758737,
+ 3141363853260471,
+ 3148897366994230,
+ 3151103808181412,
+ 3151917161098580,
+ 3156079150759700,
+ 3156480916105693,
+ 3156944276864018,
+ 3159271588902650,
+ 3164104797435227,
+ 3164525091077613,
+ 3164974827254980,
+ 3167718230972956,
+ 3168575450833798,
+ 3170370480028284,
+ 3176686928818846,
+ 3182112634136143,
+ 3182324679992379,
+ 3187961819489741,
+ 3189533497565395,
+ 3195488200716776,
+ 3202400544324347,
+ 3203298087861934,
+ 3203505065127928,
+ 3209700985683389,
+ 3212616315093692,
+ 3213988571539449,
+ 3217129615253672,
+ 3217544566048649,
+ 3223034165546826,
+ 3224023476960008,
+ 3225178300018176,
+ 3225933434121706,
+ 3230869729714732,
+ 3233217934193683,
+ 3237005651498609,
+ 3238514465894546,
+ 3243666353441572,
+ 3254156206685824,
+ 3254289886842596,
+ 3255800624584166,
+ 3260711832345837,
+ 3262376948747614,
+ 3265854206172751,
+ 3269648229920800,
+ 3275817234748541,
+ 3282079768381895,
+ 3287276111505491,
+ 3292486056879827,
+ 3296962647322980,
+ 3298104694887216,
+ 3301669530810893,
+ 3304166496816853,
+ 3305961102863438,
+ 3308465573850446,
+ 3309153399130101,
+ 3310503323115309,
+ 3310733893659544,
+ 3312750158140177,
+ 3316364698543535,
+ 3320900876696445,
+ 3322417381274756,
+ 3323175572722919,
+ 3324783922465598,
+ 3326614806453267,
+ 3327598578299680,
+ 3332031864527052,
+ 3334521995297550,
+ 3346776127533380,
+ 3354456329798908,
+ 3360793887233705,
+ 3362271048917139,
+ 3364061500454402,
+ 3365541559217554,
+ 3367062585985197,
+ 3373419224413028,
+ 3375494323790526,
+ 3375965378037189,
+ 3384681920227564,
+ 3385759904131899,
+ 3387950719650663,
+ 3389100120874734,
+ 3391826174525466,
+ 3391858706936950,
+ 3394590901326434,
+ 3394733054252918,
+ 3395256208930528,
+ 3396327423037428,
+ 3397773105741955,
+ 3412193769311791,
+ 3417344214880197,
+ 3421829275385521,
+ 3424706376942600,
+ 3424770874849455,
+ 3427299941551477,
+ 3427966188243021,
+ 3429852718600970,
+ 3433564635899284,
+ 3441475510943216,
+ 3453716837938022,
+ 3455541699650375,
+ 3459151149293686,
+ 3461011284749746,
+ 3468017773810975,
+ 3468478413435006,
+ 3469733676910284,
+ 3472461633787037,
+ 3480467116590888,
+ 3484985178759181,
+ 3485528599363927,
+ 3490271597518843,
+ 3496369553818299,
+ 3496543980542943,
+ 3504564547469991,
+ 3509864058867581,
+ 3512032577594001,
+ 3512898337591665,
+ 3517727528637750,
+ 3517811915720599,
+ 3519670054138657,
+ 3527308810683320,
+ 3529317775237354,
+ 3532119970224050,
+ 3533346461072296,
+ 3533801781903427,
+ 3540777767502482,
+ 3541206393355077,
+ 3542568308544960,
+ 3545494450790484,
+ 3552450997041483,
+ 3554172356249736,
+ 3555009350805453,
+ 3556120827022399,
+ 3556170538121875,
+ 3557677947017994,
+ 3559649975277099,
+ 3562717374600439,
+ 3578996623416481,
+ 3579385405969678,
+ 3579826204570180,
+ 3580903455144653,
+ 3581448968541992,
+ 3589031359889510,
+ 3598426031321008,
+ 3602549932138307,
+ 3608650679937847,
+ 3618063291627055,
+ 3621135234847333,
+ 3622185794780449,
+ 3625832106907018,
+ 3628376511791330,
+ 3633897363477924,
+ 3634597400467599,
+ 3637533446136323,
+ 3640921402798955,
+ 3643628911563101,
+ 3647315641012711,
+ 3653050799060306,
+ 3653452058229566,
+ 3655348890841869,
+ 3657162687556612,
+ 3658380591429298,
+ 3670928756870593,
+ 3671439528499520,
+ 3672224951714544,
+ 3676005960022917,
+ 3683461550546707,
+ 3687598771689608,
+ 3688537180270287,
+ 3691655301359562,
+ 3694629211962424,
+ 3697015043361184,
+ 3702246733486441,
+ 3703190419827622,
+ 3706241000403472,
+ 3713280205748872,
+ 3713786577838412,
+ 3715299619541116,
+ 3715399430058895,
+ 3715464516467511,
+ 3717724958857386,
+ 3721431724647317,
+ 3723597580546044,
+ 3728622142857222,
+ 3734908231985394,
+ 3735719011408786,
+ 3738568221599915,
+ 3743961606118764,
+ 3744877234597490,
+ 3745691804464370,
+ 3747058568012949,
+ 3753675332473720,
+ 3758221620808616,
+ 3760926935470523,
+ 3761600094219947,
+ 3763145072980668,
+ 3764174567576474,
+ 3769592583143344,
+ 3774411384146786,
+ 3780659210183975,
+ 3790555233065450,
+ 3791666338809637,
+ 3804345956543339,
+ 3807404653684416,
+ 3808516667364885,
+ 3810328094993686,
+ 3812086123586299,
+ 3813318153999051,
+ 3813449001940802,
+ 3813469322421121,
+ 3815874058973771,
+ 3816796472084155,
+ 3820076883477449,
+ 3822882072310145,
+ 3823086960376516,
+ 3823300628048301,
+ 3827295790337235,
+ 3829536338807628,
+ 3836371620235232,
+ 3836834437558808,
+ 3840123825705920,
+ 3841884847725994,
+ 3844780248437300,
+ 3848836181647957
+ ]
+ }
+ ]
+}
=====================================
test/ref/reads.json
=====================================
@@ -0,0 +1,1021 @@
+{
+ "kmer" : 21,
+ "alphabet" : "ACGT",
+ "preserveCase" : false,
+ "canonical" : true,
+ "sketchSize" : 1000,
+ "hashType" : "MurmurHash3_x64_128",
+ "hashBits" : 64,
+ "hashSeed" : 42,
+ "sketches" :
+ [
+ {
+ "name" : "reads",
+ "length" : 502359,
+ "comment" : "[2000 seqs] SRR7885321.1 1 length=302 [...]",
+ "hashes" :
+ [
+ 46491383595952,
+ 100178539101135,
+ 112565798999620,
+ 312258088334861,
+ 327506758448950,
+ 390755089050721,
+ 545034796114697,
+ 585844926888365,
+ 635136383123691,
+ 644554837582965,
+ 732691569753232,
+ 742449454393303,
+ 753153853702987,
+ 772398320436697,
+ 861763781830808,
+ 907376842182960,
+ 956777688150257,
+ 957664219980442,
+ 1025475811135389,
+ 1060217018093196,
+ 1108166494080021,
+ 1124632343461454,
+ 1124758206330345,
+ 1197963051541675,
+ 1223472291905776,
+ 1229322190476138,
+ 1279033375734577,
+ 1327617093048938,
+ 1337578450090171,
+ 1383618410398270,
+ 1501840430117884,
+ 1505429101958216,
+ 1610373911846835,
+ 1631481276104406,
+ 1654004508413302,
+ 1775979806697265,
+ 1801275206256617,
+ 1881190341270586,
+ 1882484501008945,
+ 1930759754111553,
+ 1980568214822849,
+ 2023429428011322,
+ 2023674656646132,
+ 2025265340873843,
+ 2041358419321528,
+ 2044246544508087,
+ 2060146604534036,
+ 2104519934924809,
+ 2137165687535943,
+ 2168987310023653,
+ 2301650179661192,
+ 2314307504759831,
+ 2440967105688895,
+ 2449377188151471,
+ 2569804992065676,
+ 2634406262534294,
+ 2670151490262491,
+ 2716103836515161,
+ 2741660511556431,
+ 2746740739822815,
+ 2795250868753790,
+ 2796934217008523,
+ 2830259086277627,
+ 2855125351690727,
+ 2855478885866684,
+ 2927652349268240,
+ 2943734024056827,
+ 2965832364118588,
+ 2991707264114691,
+ 3003993427474573,
+ 3024423721812592,
+ 3029860654573792,
+ 3164525091077613,
+ 3182324679992379,
+ 3195488200716776,
+ 3223034165546826,
+ 3225933434121706,
+ 3254156206685824,
+ 3262376948747614,
+ 3351151371104660,
+ 3404551184844146,
+ 3406325407851319,
+ 3413063729941371,
+ 3421175480810039,
+ 3422844413151330,
+ 3454147883254448,
+ 3490271597518843,
+ 3509864058867581,
+ 3544375496805865,
+ 3580903455144653,
+ 3643628911563101,
+ 3671439528499520,
+ 3701336865824908,
+ 3757165922705827,
+ 3791666338809637,
+ 3795028387798767,
+ 3813318153999051,
+ 3816796472084155,
+ 3860888804523460,
+ 3889415131871372,
+ 3917053492559807,
+ 3923173118306245,
+ 3926064929824923,
+ 3936481708941320,
+ 3959220638104661,
+ 4018724785429646,
+ 4092869042069419,
+ 4101024717622840,
+ 4146001591927211,
+ 4159521219222929,
+ 4161218688937757,
+ 4213156180861343,
+ 4260042644267182,
+ 4274270668896048,
+ 4289392086258291,
+ 4313903103881637,
+ 4384444165534822,
+ 4413914210728928,
+ 4444276710159983,
+ 4519324738618364,
+ 4563477645695586,
+ 4584997588444931,
+ 4588882368847958,
+ 4630603735446003,
+ 4650726365129083,
+ 4756206974506970,
+ 4791180443170130,
+ 4814954096422653,
+ 4845256832766776,
+ 4854166216891908,
+ 4905932281966984,
+ 4979228426638091,
+ 5016338966122686,
+ 5016591687962014,
+ 5080508310012510,
+ 5088556791717240,
+ 5132426954926581,
+ 5148980250990256,
+ 5243976997704565,
+ 5287645478767897,
+ 5333287473071844,
+ 5386975842144570,
+ 5445580157196750,
+ 5472728336085921,
+ 5486067987211268,
+ 5510921714606156,
+ 5516254888014156,
+ 5535262954522235,
+ 5557323231348066,
+ 5561586553339569,
+ 5583335211153654,
+ 5591038921172465,
+ 5593545597857557,
+ 5635253064904946,
+ 5647534168772475,
+ 5648553106906646,
+ 5707762488350730,
+ 5754686370494109,
+ 5766355933240157,
+ 5803893689332093,
+ 5829571994764557,
+ 5830994252219125,
+ 5859080619220994,
+ 5871010252787677,
+ 6046018190438837,
+ 6050162097899483,
+ 6076909087628102,
+ 6103640832397770,
+ 6144139965816849,
+ 6160723392296856,
+ 6167372250939378,
+ 6216094863617291,
+ 6221238639424316,
+ 6227358377586073,
+ 6230844835953987,
+ 6263170972926126,
+ 6290117943740219,
+ 6311380195694991,
+ 6364201369596275,
+ 6375221759576633,
+ 6393030055892435,
+ 6480731486022647,
+ 6480735812289876,
+ 6500171898150299,
+ 6506436218615639,
+ 6515951171614089,
+ 6564781728314826,
+ 6568326263744387,
+ 6573178773535278,
+ 6578302166270354,
+ 6584841380211501,
+ 6621237049188252,
+ 6722901807712388,
+ 6747852412978431,
+ 6822100204277336,
+ 6848926219890382,
+ 6853818491443933,
+ 6929971272725003,
+ 6931880560750517,
+ 6939178355866962,
+ 6940868016210900,
+ 6946423621487146,
+ 6947394199845773,
+ 6984789661944611,
+ 6985245606318144,
+ 6994363248708417,
+ 7268794764750076,
+ 7358445198547209,
+ 7416178528312624,
+ 7430762223731570,
+ 7445570533627963,
+ 7454968044588513,
+ 7510868637162769,
+ 7545041443454243,
+ 7591108387046624,
+ 7646609744973725,
+ 7665939473291737,
+ 7674574889958818,
+ 7684208044992885,
+ 7707589327869064,
+ 7716721045510667,
+ 7822350133554977,
+ 7896352435140504,
+ 7922006282224037,
+ 7938505541344069,
+ 7944634833363757,
+ 7958237890115892,
+ 8017526242617715,
+ 8044184034230448,
+ 8051151538439456,
+ 8056045855205771,
+ 8142596272331308,
+ 8179864612635877,
+ 8190096274275782,
+ 8200159383064348,
+ 8301344556431535,
+ 8315031461396977,
+ 8327599730018706,
+ 8416499520380454,
+ 8426229263725945,
+ 8445169186490623,
+ 8462131047278645,
+ 8471416538238614,
+ 8501863874373356,
+ 8502883030766102,
+ 8549586904743920,
+ 8550022748977778,
+ 8568508094717510,
+ 8610160831974098,
+ 8629219888393242,
+ 8646895613981820,
+ 8697447499234046,
+ 8722165604212256,
+ 8754244360756140,
+ 8774051203846072,
+ 8806011350241903,
+ 8865842697617917,
+ 8884338078849004,
+ 8890894647591594,
+ 8913282277275219,
+ 8920527252377698,
+ 9007202001978984,
+ 9037916445556738,
+ 9074573824315647,
+ 9076589951530744,
+ 9107445861660467,
+ 9168096297381430,
+ 9176417956251397,
+ 9201102619219927,
+ 9264096168695847,
+ 9360320677802368,
+ 9367986326777249,
+ 9421552372561113,
+ 9493713660213447,
+ 9569398313763428,
+ 9580245945857920,
+ 9610948155129548,
+ 9630617505017715,
+ 9655697412706381,
+ 9658152728859963,
+ 9669865355260858,
+ 9673651859677183,
+ 9679009532441464,
+ 9785021228768621,
+ 9807712276709322,
+ 9812979217155111,
+ 9912605219963361,
+ 9929995652062695,
+ 10009074273648598,
+ 10068679812565710,
+ 10106138790808912,
+ 10186081809178983,
+ 10263391906691201,
+ 10266940725236704,
+ 10267963811910533,
+ 10271553794145779,
+ 10296944372187219,
+ 10324019693596800,
+ 10324643374767511,
+ 10324955878046065,
+ 10338204671936683,
+ 10365497347357152,
+ 10372381561347421,
+ 10389679794003959,
+ 10416835219506642,
+ 10417193470713127,
+ 10477943918798861,
+ 10513062600081396,
+ 10513329281556569,
+ 10539911846384479,
+ 10582557270456518,
+ 10613754695861216,
+ 10643084701751160,
+ 10726994714388160,
+ 10825378225665282,
+ 10840352570672003,
+ 10851448866602129,
+ 10870892173926172,
+ 10871864134004932,
+ 10970429377536222,
+ 10977704821211775,
+ 11054065299764817,
+ 11067149831822668,
+ 11092350999920285,
+ 11094719529518453,
+ 11183342894316005,
+ 11238369836539039,
+ 11275247828296791,
+ 11314714584536024,
+ 11394190856558439,
+ 11415553728901252,
+ 11425618236412006,
+ 11482482973963068,
+ 11528863309916537,
+ 11541951364827087,
+ 11551238514753935,
+ 11563714740413117,
+ 11568655924050071,
+ 11581010626014689,
+ 11587101814558401,
+ 11616756803260001,
+ 11660920649799182,
+ 11692936349692655,
+ 11718035510045116,
+ 11736099809854683,
+ 11757454866973974,
+ 11764370968016405,
+ 11785861853507629,
+ 11873014453051905,
+ 11874941833135409,
+ 11963061612514289,
+ 12014085241005448,
+ 12041176893208884,
+ 12078080116339817,
+ 12103223005270300,
+ 12123754226921788,
+ 12162214637207210,
+ 12177073432838854,
+ 12177482041794365,
+ 12259810079628854,
+ 12261941590586740,
+ 12264313613618296,
+ 12283360008462683,
+ 12503721266030345,
+ 12520566909664694,
+ 12558490321896606,
+ 12568238822375401,
+ 12595335564660359,
+ 12603344205307305,
+ 12639821555522561,
+ 12659770203428063,
+ 12812772652210658,
+ 12883475524957152,
+ 12958528732054451,
+ 13056604442117108,
+ 13061243003532606,
+ 13084909904377042,
+ 13096025236907860,
+ 13111582977057617,
+ 13137513681803362,
+ 13174217796402044,
+ 13213691979848680,
+ 13226340804603421,
+ 13322875038525079,
+ 13347135903517567,
+ 13397401763987432,
+ 13417670514313993,
+ 13548573983883736,
+ 13627627921097562,
+ 13742572461559406,
+ 13761457071497945,
+ 13779011352588702,
+ 13810493587784572,
+ 13854386928136825,
+ 13984073775479735,
+ 14039087118721023,
+ 14067123363091348,
+ 14081419959611914,
+ 14119603414886261,
+ 14142383023411174,
+ 14220618344645269,
+ 14270357029046210,
+ 14344521908890168,
+ 14354573544708105,
+ 14368956423969359,
+ 14375167498830557,
+ 14473708606621642,
+ 14485296256423702,
+ 14485602312588115,
+ 14584407154801939,
+ 14614406347124620,
+ 14641661446699141,
+ 14663599207326471,
+ 14663898769847663,
+ 14669179733341709,
+ 14718473981525745,
+ 14842425003255586,
+ 14867705283542617,
+ 14892208355393207,
+ 14961733879654495,
+ 15012110948098189,
+ 15082922040915632,
+ 15096283654919457,
+ 15099627020257434,
+ 15106790263965773,
+ 15123011315470810,
+ 15171145319360393,
+ 15171861273564435,
+ 15197484416835154,
+ 15280986113303471,
+ 15303798475010946,
+ 15329899113809689,
+ 15334816660190717,
+ 15462554700534956,
+ 15469507481052050,
+ 15472267869971738,
+ 15482911162996625,
+ 15556734291156837,
+ 15656606200055633,
+ 15688649129631650,
+ 15723487858771950,
+ 15731194051709871,
+ 15731554146685093,
+ 15761937161707806,
+ 15815733033667741,
+ 15845632539295630,
+ 15861078978204028,
+ 15895543117272749,
+ 15920795471266349,
+ 15969153930704192,
+ 15997411295816354,
+ 15998436811510812,
+ 16029197423436785,
+ 16086141306183876,
+ 16168571642914382,
+ 16208345523678749,
+ 16219065640201583,
+ 16220297928845886,
+ 16232065175824789,
+ 16258761697756185,
+ 16271784283038808,
+ 16291200029741485,
+ 16330008443106471,
+ 16368614614506120,
+ 16372447723044168,
+ 16420912593234259,
+ 16467667555310350,
+ 16587928460401420,
+ 16603881339291218,
+ 16678066607295182,
+ 16785823172451397,
+ 16804367921562432,
+ 16827762958632503,
+ 16903314823459261,
+ 17033737795230338,
+ 17199496156242576,
+ 17231594051279785,
+ 17310891680943496,
+ 17326506205233463,
+ 17353981438007556,
+ 17369945667390546,
+ 17380497791932182,
+ 17380857308728788,
+ 17401937938029560,
+ 17410174293574451,
+ 17461808780675229,
+ 17522541711047416,
+ 17536809392095435,
+ 17546740749700683,
+ 17613603438462737,
+ 17656179820101656,
+ 17660592298793235,
+ 17671296242493267,
+ 17696068444901293,
+ 17755046722904839,
+ 17821841191407654,
+ 17842927206089298,
+ 17866938445806064,
+ 17967430043445273,
+ 17970477550851477,
+ 18038759197738802,
+ 18097699797590914,
+ 18099970200452142,
+ 18169325140301768,
+ 18260306722543684,
+ 18289531354116782,
+ 18308569332005892,
+ 18308785552470596,
+ 18320689979958784,
+ 18373228548764203,
+ 18434084795138949,
+ 18459455093035262,
+ 18486921458215905,
+ 18497857373523252,
+ 18530599789564008,
+ 18577003531497839,
+ 18588881810828923,
+ 18651093184703693,
+ 18654972833327353,
+ 18672577278537993,
+ 18688087008806104,
+ 18689886086846563,
+ 18794037271240278,
+ 18797120537619641,
+ 18841623850131385,
+ 18842796940766143,
+ 18860852642863926,
+ 18875276352141491,
+ 18885578557589326,
+ 18924161458605428,
+ 18960831807199433,
+ 19011006618490598,
+ 19054264101639400,
+ 19117759389532261,
+ 19159867221251531,
+ 19169034492398081,
+ 19209663066996028,
+ 19283094247623738,
+ 19296493521541514,
+ 19406203182079510,
+ 19486402940688331,
+ 19513057664184554,
+ 19545675786891792,
+ 19793295771005215,
+ 19803737038899382,
+ 19809117990523192,
+ 19814853591996177,
+ 19831787664805966,
+ 19848933789316734,
+ 19900500331083663,
+ 19954154939597863,
+ 20036064548815646,
+ 20056760101321507,
+ 20112758512696747,
+ 20130678846150998,
+ 20151799928974288,
+ 20169300195582032,
+ 20194577407788716,
+ 20373377092305827,
+ 20440343903465324,
+ 20468248460842035,
+ 20479669361995104,
+ 20489800375394797,
+ 20494891957348019,
+ 20513851819558973,
+ 20551199055344442,
+ 20601444246305870,
+ 20601925567288182,
+ 20729981734471973,
+ 20757396503093904,
+ 20764822732552546,
+ 20783395626964342,
+ 20832331520612925,
+ 20861799051620607,
+ 20971004090563936,
+ 21032378411168842,
+ 21065491889101609,
+ 21179802319191407,
+ 21195794019058977,
+ 21209425346596704,
+ 21238832490762256,
+ 21262864479173559,
+ 21296735838831406,
+ 21369009407642118,
+ 21542404956988094,
+ 21615528476192831,
+ 21650712050739234,
+ 21682899883804505,
+ 21807660589603008,
+ 21832008520134955,
+ 21898836747201591,
+ 21947739793041113,
+ 21991341760596839,
+ 22082110290067346,
+ 22087040141596115,
+ 22160129053056367,
+ 22186655885731319,
+ 22242349781207156,
+ 22282022704807915,
+ 22315093109979223,
+ 22334251059904114,
+ 22359325542858318,
+ 22367635604917849,
+ 22453212949947772,
+ 22531894380220715,
+ 22650115348459390,
+ 22653255373483912,
+ 22664179541712460,
+ 22696719339940196,
+ 22724458408611001,
+ 22812953830615366,
+ 22858835766175936,
+ 22885118594104950,
+ 22896860181000365,
+ 22932970975461651,
+ 22959695978281064,
+ 23026977621224742,
+ 23063781922072870,
+ 23065156675416832,
+ 23098310384773441,
+ 23135505085265248,
+ 23146471556625994,
+ 23209308289656097,
+ 23247563959112694,
+ 23258485819866021,
+ 23300141508653145,
+ 23320509297091069,
+ 23391420697071304,
+ 23409299970013852,
+ 23414360567509509,
+ 23431420527747141,
+ 23442302891222021,
+ 23445882084485883,
+ 23518122700580510,
+ 23520965575055661,
+ 23528043699974306,
+ 23542521829517793,
+ 23571656076528131,
+ 23609510202989689,
+ 23646033889267918,
+ 23663792067845492,
+ 23711918537726053,
+ 23766712432499514,
+ 23787147787222320,
+ 23847791451585900,
+ 23860969854920468,
+ 23932909292984722,
+ 23956385005901371,
+ 24022841329478067,
+ 24079117974191654,
+ 24166947121052996,
+ 24222625202129761,
+ 24237862720295953,
+ 24251275376958579,
+ 24255051624581435,
+ 24268463182106372,
+ 24303376649141769,
+ 24306917116704116,
+ 24315382512007133,
+ 24351278525819921,
+ 24356408728917523,
+ 24437161458289761,
+ 24443034611606896,
+ 24446101810166665,
+ 24461687639439164,
+ 24504647579985598,
+ 24506030746806197,
+ 24534655197901233,
+ 24551090737328642,
+ 24573383754635984,
+ 24632094604759541,
+ 24654108389452255,
+ 24680374561518840,
+ 24685880581015742,
+ 24735787231672611,
+ 24799377233502630,
+ 24831228366736723,
+ 24831952529788001,
+ 24832362256381477,
+ 24847597008230002,
+ 24949365118898143,
+ 24961893880712907,
+ 25002233084808568,
+ 25006818660808608,
+ 25007875247062427,
+ 25009403196790454,
+ 25015520700790219,
+ 25156295850726189,
+ 25175826431637984,
+ 25178057030680286,
+ 25178337922614123,
+ 25308569622354226,
+ 25326752401468544,
+ 25378526415802198,
+ 25439308807268745,
+ 25463504348189306,
+ 25470255715555720,
+ 25491339401212235,
+ 25569705420864583,
+ 25634600256308086,
+ 25642754124493895,
+ 25648611859777576,
+ 25650868658837872,
+ 25671172843522458,
+ 25694639623151656,
+ 25713420701192710,
+ 25717324547817438,
+ 25738490699926615,
+ 25742390298737401,
+ 25758880394217575,
+ 25768994352733800,
+ 25779409338649774,
+ 25818279957527435,
+ 25970303412930297,
+ 25974333566539140,
+ 26106237998609302,
+ 26123466700194004,
+ 26164669335218143,
+ 26264270950753765,
+ 26265656682261342,
+ 26298284502445291,
+ 26311744362885118,
+ 26410538758414176,
+ 26435712366760957,
+ 26489430230690250,
+ 26511497752548584,
+ 26531564687299303,
+ 26585411670534769,
+ 26603384460864027,
+ 26640814323690783,
+ 26642401976452115,
+ 26729570046904907,
+ 26766558055764350,
+ 26797345990780957,
+ 26838724479408791,
+ 26886679667133747,
+ 26955632060805405,
+ 26993357958980421,
+ 27025019681724779,
+ 27077191390608775,
+ 27087720738003653,
+ 27123845684946671,
+ 27126432044742222,
+ 27162337221366964,
+ 27213380784971017,
+ 27240847844430786,
+ 27259713819412633,
+ 27276614710686010,
+ 27350389252955175,
+ 27399432084259673,
+ 27412393998850283,
+ 27413768877205104,
+ 27461859552466948,
+ 27473173699526709,
+ 27475019125772512,
+ 27494427993613453,
+ 27499098330955448,
+ 27520785720462070,
+ 27548341855527193,
+ 27555874418513663,
+ 27588867120867504,
+ 27638869407251394,
+ 27738490886237461,
+ 27839906778428445,
+ 27899480542454729,
+ 27959304800218841,
+ 28005659466173574,
+ 28029636619794969,
+ 28036006197197815,
+ 28129487979396681,
+ 28148965477456548,
+ 28176939284049546,
+ 28191160003804462,
+ 28199666451010352,
+ 28200204766646350,
+ 28223339428349207,
+ 28284927840868151,
+ 28318254264571946,
+ 28392106857416536,
+ 28402724202226392,
+ 28416340527974032,
+ 28470504824880442,
+ 28516046634604043,
+ 28545906389349223,
+ 28558741019264205,
+ 28572551023024739,
+ 28649423546914701,
+ 28664960444216984,
+ 28675518251690559,
+ 28692704844104009,
+ 28714072893198685,
+ 28774240657044568,
+ 28788217665047189,
+ 28871159264483748,
+ 28920777789638828,
+ 28966208935115155,
+ 28991447462653454,
+ 29004900490695378,
+ 29036498034907092,
+ 29107403473520295,
+ 29256395290099610,
+ 29284732003787287,
+ 29300680127503883,
+ 29339677384247865,
+ 29356237779188168,
+ 29381347223400775,
+ 29389132252164433,
+ 29416641406851030,
+ 29484138342757119,
+ 29508098456346488,
+ 29529880778915383,
+ 29580893859504502,
+ 29686265623130798,
+ 29761706129994935,
+ 29778732139686961,
+ 29782911194718608,
+ 29848676515433893,
+ 29938154204272780,
+ 29969622223967408,
+ 29986934099697754,
+ 29996445286646126,
+ 30019268678615732,
+ 30022751138351804,
+ 30047200473758690,
+ 30108142325098107,
+ 30127053729881377,
+ 30228482518194158,
+ 30246396574239367,
+ 30246533136678478,
+ 30302100188063526,
+ 30311933354650179,
+ 30412288034142083,
+ 30469586175031048,
+ 30492669745833624,
+ 30507185519215185,
+ 30519730198729604,
+ 30598262664480088,
+ 30608085987072357,
+ 30616533933178789,
+ 30635971363871989,
+ 30650080602664173,
+ 30678165912917425,
+ 30679594828049430,
+ 30684432008059137,
+ 30687762644510059,
+ 30728940536817280,
+ 30741272073675107,
+ 30763248467466539,
+ 30764214244770262,
+ 30772461723953695,
+ 30837678985604536,
+ 30863131652090210,
+ 30947573679027737,
+ 30972344374937758,
+ 31053342746205580,
+ 31065021269007904,
+ 31121132243600542,
+ 31136028515004417,
+ 31175473999963974,
+ 31231590917141685,
+ 31275362952955610,
+ 31326522440754549,
+ 31391718241714934,
+ 31405704498766911,
+ 31476388512468513,
+ 31490910285050697,
+ 31504513650916622,
+ 31578349027100951,
+ 31629815502045207,
+ 31631979091893046,
+ 31814007702274474,
+ 31892752483758785,
+ 31901917130175376,
+ 31909743394055228,
+ 31910711330506944,
+ 31922583194830760,
+ 32007648348911317,
+ 32021191671019389,
+ 32023212097642523,
+ 32049256789738948,
+ 32059018287280268,
+ 32174134489645327,
+ 32263725688749997,
+ 32276444215935593,
+ 32365652949976426,
+ 32388546117545634,
+ 32429349734321363,
+ 32528869412070157,
+ 32597590699479615,
+ 32615173405932120,
+ 32629954673516118,
+ 32682779259177716,
+ 32749904774831447,
+ 32783743396814010,
+ 32797493102095228,
+ 32830144433719654,
+ 32830417685511593,
+ 32905544133025967,
+ 32958700947450407,
+ 32962394399508395,
+ 33052165135485136,
+ 33064819217543236,
+ 33097275266752753,
+ 33130365793988179,
+ 33162288650734818,
+ 33203129415317421,
+ 33214101064718622,
+ 33285762042573320,
+ 33297689902246484,
+ 33378264516224325,
+ 33493616240805093,
+ 33494022107741587,
+ 33500886447508256,
+ 33625164252539869,
+ 33634456943159476,
+ 33679549269375879,
+ 33680072493081573,
+ 33682525994348022,
+ 33729481097802709,
+ 33792056898160550,
+ 33811999046805387,
+ 33818975614658561,
+ 33847882053457229,
+ 33969887281800750,
+ 33988946867755394,
+ 33990978133430589,
+ 34007360997728768,
+ 34010381063033750,
+ 34131225131955355,
+ 34134279145351937,
+ 34138291837154405,
+ 34151671510589265,
+ 34191049057224889,
+ 34269243531227042,
+ 34288661622496258,
+ 34304742914656020,
+ 34360304054300798,
+ 34392920788334122,
+ 34405314056969819,
+ 34437921968328340,
+ 34448434829108485,
+ 34467181325571453,
+ 34479580899285656,
+ 34489557079280463,
+ 34615753301493680,
+ 34617260274005013,
+ 34685114365264944,
+ 34749514575222707,
+ 34770520945948192,
+ 34842072403070351,
+ 34853355303755959,
+ 34922481286884318,
+ 35021453861246647,
+ 35050855088760856,
+ 35072294543087079,
+ 35087008397129198,
+ 35205686631856922,
+ 35215686472388882,
+ 35231206824840131,
+ 35244731086190280,
+ 35273971253306221,
+ 35355665919180614,
+ 35362348246603126,
+ 35373477397676064,
+ 35413223597132334,
+ 35449340987566923,
+ 35492876928883845,
+ 35550046054290202,
+ 35574316417751330,
+ 35708898715091356,
+ 35755933943581085,
+ 35785462061815781,
+ 35837448177622184,
+ 35846638658297964,
+ 35857075504760177,
+ 35888956601502018,
+ 35971737223800858,
+ 36028675500825422,
+ 36083910147361727,
+ 36139454655991162,
+ 36144072422799294,
+ 36153973177385557,
+ 36178045638703428,
+ 36237884058544224,
+ 36297291692409619,
+ 36330850860170876,
+ 36377417239395709,
+ 36439270512184045,
+ 36445848960566598,
+ 36512251955911198,
+ 36534035929526555,
+ 36547282113053498,
+ 36556441906177151,
+ 36562222467392426,
+ 36569268437330210,
+ 36589318137162087,
+ 36675398242750400,
+ 36678500990632317,
+ 36697477554500277,
+ 36720173020770731
+ ]
+ }
+ ]
+}
=====================================
test/ref/screen
=====================================
@@ -0,0 +1,3 @@
+0.861792 44/1000 1 5.00739e-229 genome1.fna gi|49175990|ref|NC_000913.2| Escherichia coli str. K-12 substr. MG1655, complete genome
+0.853596 36/1000 1 1.70479e-184 genome2.fna gi|47118301|dbj|BA000007.2| Escherichia coli O157:H7 str. Sakai DNA, complete genome
+0.861792 44/1000 1 5.00739e-229 genome3.fna gi|682117612|gb|CP009273.1| Escherichia coli BW25113, complete genome
View it on GitLab: https://salsa.debian.org/med-team/mash/commit/89bf5d7425a8d6406ec91e4b23239749e5a7c98a
--
View it on GitLab: https://salsa.debian.org/med-team/mash/commit/89bf5d7425a8d6406ec91e4b23239749e5a7c98a
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20181011/04ad4a90/attachment-0001.html>
More information about the debian-med-commit
mailing list