<div dir="ltr"><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">This is the v2.0 release of khmer and the first from our new lab at the University of California, Davis. It features Python 3 compatibility, streaming I/O from Unix Pipes, mixed-pair sequence file format support, and a new parameter to simplify memory usage. We also have a software paper in-press describing the project and the citation reminders have been updated to reflect that.</p><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">Overall there are an additional 2,380 lines of Python code (mostly tests) and 283 less lines of C++ (despite adding features). This release is the product of over 1,000 commits to the codebase since v1.4.</p><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">Documentation is at <a href="https://khmer.readthedocs.org/en/v2.0/" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">https://khmer.readthedocs.org/en/v2.0/</a></p><h2 style="margin-top:1em;margin-bottom:16px;line-height:1.225;font-size:1.75em;padding-bottom:0.3em;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:rgb(238,238,238);color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif">New items of note:</h2><h2 style="margin-top:1em;margin-bottom:16px;line-height:1.225;font-size:1.75em;padding-bottom:0.3em;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:rgb(238,238,238);color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif">New behavior</h2><h3 style="margin-top:1em;margin-bottom:16px;line-height:1.43;font-size:1.5em;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif">Streaming I/O from Unix Pipes</h3><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">All scripts now accept input from named (like <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">/dev/stdin</code>, or that created using <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">&lt;( list )</code>process substituion) and unnamed pipes (like output piped in from another program with <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">|</code>). The STDIN stream can also be specified using a single dash: <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">-</code>. <a href="https://github.com/dib-lab/khmer/pull/1186" title="Update scripts to handle stdin." style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1186</a> <a href="https://github.com/mr-c" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@mr-c</a> <a href="https://github.com/dib-lab/khmer/pull/1042" title="Minor Fixes to split-paired-reads  mentioned in #763" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1042</a> <a href="https://github.com/dib-lab/khmer/issues/763" title="Minor fixes to split-paired-reads.py" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#763</a><a href="https://github.com/SherineAwad" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@SherineAwad</a> <a href="https://github.com/dib-lab/khmer/pull/1085" title="add support for /dev/stdin and --output-dir to extract-paired-reads" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1085</a> <a href="https://github.com/ctb" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@ctb</a></p><h3 style="margin-top:1em;margin-bottom:16px;line-height:1.43;font-size:1.5em;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif">New parameter for memory usage, and/or tablesize/number of table parameters.</h3><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">There is now a <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">-M</code>/<code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">--max-memory-usage</code> parameter that sets the number of tables (<code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">-N</code>/<code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">--n_tables</code>) and tablesize (<code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">-x</code>/<code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">--max-tablesize</code>) parameters automatically to match the desired memory usage. <a href="https://github.com/dib-lab/khmer/pull/1106" title="Vulture of #621: &quot;add estimate_optimal_hash.py&quot;" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1106</a> <a href="https://github.com/dib-lab/khmer/pull/621" title="add estimate_optimal_hash.py" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#621</a> <a href="https://github.com/dib-lab/khmer/pull/1126" title="Implement auto&#39;d optimal hashtable args and memory limitation checking" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1126</a> <a href="https://github.com/dib-lab/khmer/issues/390" title="Add implementation of optimal hash size calculation to khmer.khmer_args" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#390</a> <a href="https://github.com/dib-lab/khmer/issues/1117" title="Implementing --max-mem and auto&#39;d hashtable agrs" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1117</a> <a href="https://github.com/dib-lab/khmer/issues/1055" title="All scripts/ possible should support &#39;-&#39; input" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1055</a> <a href="https://github.com/dib-lab/khmer/pull/1050" title="Add --max-memory-usage argument, and associated khmer_args refactoring." style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1050</a> <a href="https://github.com/dib-lab/khmer/pull/1214" title="Cleaning up automatic argument setting" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1214</a> <a href="https://github.com/dib-lab/khmer/issues/1179" title="Deal appropriately with --unique-kmers argument" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1179</a> <a href="https://github.com/dib-lab/khmer/pull/1133" title="removed incorrect warning for max_tablesize when -M is used" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1133</a> <a href="https://github.com/dib-lab/khmer/pull/1145" title="addresses #1141, unique-kmers.py being too noisy, bad naming paradigm for estimate functions" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1145</a><a href="https://github.com/ctb" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@ctb</a> <a href="https://github.com/qingpeng" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@qingpeng</a> <a href="https://github.com/bocajnotnef" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@bocajnotnef</a></p><h3 style="margin-top:1em;margin-bottom:16px;line-height:1.43;font-size:1.5em;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif">Digital normalization script now supports mixed paired and unpaired read input</h3><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px"><code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">normalize-by-median.py</code> now supports mixed paired and unpaired (or &quot;broken-paired&quot;) input. Behavior can be forced to either treat all reads as singletons or to require all reads be properly paired using <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">--force_single</code> or <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">--paired</code>, respectively. If <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">--paired</code> is set, <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">--unpaired-reads</code> can be used to include a file of unpaired reads. The unpaired reads will be examined after all of the other sequence files. <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">normalize-by-median.py</code> now has a <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">--quiet</code> option to reduce the amount of output. <a href="https://github.com/dib-lab/khmer/pull/1200" title="Added basic logging framework to handle args.quiet properly" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1200</a> <a href="https://github.com/bocajnotnef" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@bocajnotnef</a></p><h3 style="margin-top:1em;margin-bottom:16px;line-height:1.43;font-size:1.5em;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif">Mixed-pair sequence file format support</h3><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px"><code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">split-paired-reads.py</code> <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">--output-orphaned</code>/<code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">-0</code> has been added to allow for orphaned reads and give them a file to be sorted into. <a href="https://github.com/dib-lab/khmer/issues/847" title="split-paired-reads.py has nonstandard behavior with orphaned reads" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#847</a> <a href="https://github.com/dib-lab/khmer/pull/1164" title="Add --output-orphaned option to split-paired-reads.py" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1164</a> <a href="https://github.com/ctb" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@ctb</a></p><h3 style="margin-top:1em;margin-bottom:16px;line-height:1.43;font-size:1.5em;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif">Scripts now output columnar data in CSV format by default</h3><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">All scripts that output any kind of columnar data now do so in CSV format, with headers. Previously this had to be enabled with <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">--csv</code>. (Affects <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">abundance-dist-single.py</code>,<code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">abundance-dist.py</code>, <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">count-median.py</code>,<br>and <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">count-overlap.py</code>.) <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">normalize-by-median.py --report</code> also now outputs in CSV format. <a href="https://github.com/dib-lab/khmer/issues/1011" title="Turn on better reporting by default for khmer 2.0" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1011</a> <a href="https://github.com/dib-lab/khmer/pull/1180" title="Miscellaneous small updates for 2.0" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1180</a> <a href="https://github.com/ctb" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@ctb</a></p><h3 style="margin-top:1em;margin-bottom:16px;line-height:1.43;font-size:1.5em;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif">Reservoir sampling script extracts paired reads by default</h3><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px"><code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">sample-reads-randomly.py</code> now retains pairs in the output, by default. This can be overridden to match previous behavior with <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">--force_single</code>.</p><h3 style="margin-top:1em;margin-bottom:16px;line-height:1.43;font-size:1.5em;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif">Most input and output files can be compressed</h3><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">We support gzip and bzip2 input and output file compression everywhere that it makes sense<a href="https://github.com/dib-lab/khmer/issues/505" title="Add options for outputting gzipped/bzip2ed sequence" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#505</a> <a href="https://github.com/dib-lab/khmer/pull/747" title="gzip/bzip2 output options" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#747</a> <a href="https://github.com/bocajnotnef" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@bocajnotnef</a></p><h2 style="margin-top:1em;margin-bottom:16px;line-height:1.225;font-size:1.75em;padding-bottom:0.3em;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:rgb(238,238,238);color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif">New scripts</h2><h3 style="margin-top:1em;margin-bottom:16px;line-height:1.43;font-size:1.5em;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif">Estimate number of unique kmers</h3><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px"><code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">unique-kmers.py</code> estimates the k-mer cardinality of a dataset using the HyperLogLog probabilistic data structure. This allows very low memory consumption, which can be configured through an expected error rate. Even with low error rate (and higher memory consumption), it is still much more efficient than exact counting and alternative methods. It supports multicore processing (using OpenMP) and streaming, and so can be used in conjunction with other scripts (like <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">normalize-by-median.py</code> and <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">filter-abund.py</code>). This script is the work of <a href="https://github.com/luizirber" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@luizirber</a> and the subject of a paper in draft. <a href="https://github.com/dib-lab/khmer/issues/390" title="Add implementation of optimal hash size calculation to khmer.khmer_args" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#390</a> <a href="https://github.com/dib-lab/khmer/issues/1239" title="unique-kmers: option to stream out sequences" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1239</a> <a href="https://github.com/dib-lab/khmer/pull/1252" title="Rename --stream-out to --stream-records" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1252</a> <a href="https://github.com/dib-lab/khmer/pull/1053" title="HLL counter adaptation that can monitor streams of sequences" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1053</a> <a href="https://github.com/dib-lab/khmer/pull/1072" title="[HLL] Check return values fron consume_fasta and consume_string" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1072</a> <a href="https://github.com/dib-lab/khmer/pull/1145" title="addresses #1141, unique-kmers.py being too noisy, bad naming paradigm for estimate functions" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1145</a> <a href="https://github.com/dib-lab/khmer/pull/1176" title="Promote unique-kmers.py to scripts" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1176</a> <a href="https://github.com/dib-lab/khmer/pull/1207" title="luiz&#39;s fix for the build failure" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1207</a> <a href="https://github.com/dib-lab/khmer/pull/1204" title="Streaming unique-kmers.py using consume_fasta" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1204</a><a href="https://github.com/dib-lab/khmer/pull/1245" title="Fix GCC warning" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1245</a></p><h2 style="margin-top:1em;margin-bottom:16px;line-height:1.225;font-size:1.75em;padding-bottom:0.3em;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:rgb(238,238,238);color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif">Incompatible changes</h2><h3 style="margin-top:1em;margin-bottom:16px;line-height:1.43;font-size:1.5em;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif">New datastructure and script names</h3><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">For clarity the Count-Min Sketch based data structure previously known as &quot;counting_hash&quot; or &quot;counting_table&quot; and variations of these is now known as <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">countgraph</code>. Likewise with the Bloom Filter based data structure previously known at &quot;hashbits&quot;, &quot;presence_table&quot; and variations of these is now known as <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">nodegraph</code>. Many options relating to <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">table</code> have been changed to<code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">graph</code>. <a href="https://github.com/dib-lab/khmer/issues/1112" title="Replace &#39;hashsizes&#39; with &#39;tablesizes&#39; at the CPython &amp; Python layers" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1112</a> <a href="https://github.com/dib-lab/khmer/pull/1209" title="Rename counting_hash and hashbits at Python layer" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1209</a> <a href="https://github.com/mr-c" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@mr-c</a></p><h3 style="margin-top:1em;margin-bottom:16px;line-height:1.43;font-size:1.5em;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif">Binary file formats have changed</h3><p style="margin-top:0px;margin-bottom:16px;font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px"><font color="#333333">All binary khmer formats (presence tables, counting tables, tag sets, stop tags, and partition subsets) have changed. Files are now pre-pended with the string </font><code style="color:rgb(51,51,51);font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">OXLI</code><font color="#333333"> to indicate that they are from this project.<br></font><a href="https://github.com/dib-lab/khmer/issues/519" title="2.0 file formats need a magic header" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#519</a><font color="#333333"> </font><a href="https://github.com/dib-lab/khmer/pull/1031" title="Add file type signatures to binary files" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1031</a><font color="#333333"> </font><a href="https://github.com/mr-c" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@mr-c</a><font color="#333333"> </font><a href="https://github.com/dib-lab/khmer/pull/1159" title="Escape incorrect signature as hex values" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1159</a><font color="#333333"> </font><a href="https://github.com/luizirber" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@luizirber</a></p><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">Files of the above types made in previous versions of khmer are not compatible with v2.0; the reverse is also true.</p><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">In addition to the <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">OXLI</code> string, the Nodegraph and Countgraph file format now includes the number of occupied bins. See <a href="http://khmer.readthedocs.org/en/v2.0/dev/binary-file-formats" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">http://khmer.readthedocs.org/en/v2.0/dev/binary-file-formats</a> for details. <a href="https://github.com/dib-lab/khmer/issues/1093" title="Verify that n_occupied etc. numbers are correct and saved in both countgraph &amp; nodegraph" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1093</a> <a href="https://github.com/ctb" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@ctb</a> <a href="https://github.com/mr-c" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@mr-c</a> <a href="https://github.com/dib-lab/khmer/pull/1101" title="Developer-targeted detailed documentation of Oxli binary formats" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1101</a> <a href="https://github.com/dib-lab/khmer/issues/1103" title="rename default file extensions to match new nomenclature?" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1103</a> <a href="https://github.com/kdmurray91" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@kdmurray91</a></p><h3 style="margin-top:1em;margin-bottom:16px;line-height:1.43;font-size:1.5em;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif">load-graph.py no longer appends .pt to the specified filename</h3><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">Previously, <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">load-graph.py</code> appended a <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">.pt</code> extension to the specified output filename and partition-graph.py appended a <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">.pt</code> to the given input filename. Now, <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">load-graph.py</code> writes to the specified output filename and <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">partition-graph.py</code> does not append a <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">.pt</code> to the given input filename. <a href="https://github.com/dib-lab/khmer/issues/1189" title="Make load-graph create the specified filename directly, without adding a .pt." style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1189</a> <a href="https://github.com/dib-lab/khmer/pull/747" title="gzip/bzip2 output options" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#747</a> <a href="https://github.com/bocajnotnef" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@bocajnotnef</a></p><h3 style="margin-top:1em;margin-bottom:16px;line-height:1.43;font-size:1.5em;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif">Some reporting options have been turned always on</h3><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">The total number of unique k-mers will always be reported every time a new countgraph is made. The <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">--report-total-kmers</code> option has been removed from <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">abundance-dist-single.py</code>,<code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">filter-abund-single.py</code>, and <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">normalize-by-median.py</code> to reflect this. Likewise with <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">--write-fp-rate</code> for <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">load-into-counting.py</code> and <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">load-graph.py</code>; the false positive rate will always be written to the <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">.info</code> files. <a href="https://github.com/dib-lab/khmer/issues/1097" title="Update command-line option defaults for khmer 2.0" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1097</a> <a href="https://github.com/dib-lab/khmer/pull/1180" title="Miscellaneous small updates for 2.0" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1180</a> <a href="https://github.com/ctb" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@ctb</a></p><h3 style="margin-top:1em;margin-bottom:16px;line-height:1.43;font-size:1.5em;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif">An uncommon error recovery routine was removed</h3><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">To simplify the codebase <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">--save-on-failure</code> and its helper option <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">--dump-frequency</code> have been removed from <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">normalize-by-median.py</code>.</p><h3 style="margin-top:1em;margin-bottom:16px;line-height:1.43;font-size:1.5em;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif">Single file output option names have been normalized</h3><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px"><code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">--out</code> is now <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">--output</code> for both <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">normalize-by-median.py</code> and <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">trim-low-abund.py</code>. <a href="https://github.com/dib-lab/khmer/issues/1188" title="Standardize long form of -o to be consistent across scripts/" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1188</a><a href="https://github.com/dib-lab/khmer/pull/1164" title="Add --output-orphaned option to split-paired-reads.py" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1164</a> <a href="https://github.com/ctb" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@ctb</a></p><h3 style="margin-top:1em;margin-bottom:16px;line-height:1.43;font-size:1.5em;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif">Miscellaneous changes</h3><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">The common option <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">--min-tablesize</code> was renamed to <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">--max-tablesize</code> to reflect this more desirable behavior.</p><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">In conjuction with the new <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">split-paired-reads.py</code> <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">--output-orphaned</code> option, the option <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">--force-paired</code>/<code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">-p</code> has been eliminated.</p><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">As CSV format is now the default, the <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">--csv</code> option has been removed.</p><h3 style="margin-top:1em;margin-bottom:16px;line-height:1.43;font-size:1.5em;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif">Removed script</h3><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px"><a href="http://khmer.readthedocs.org/en/v1.4.1/user/scripts.html#count-overlap-py" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">count-overlap.py</a> has been removed.</p><h2 style="margin-top:1em;margin-bottom:16px;line-height:1.225;font-size:1.75em;padding-bottom:0.3em;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:rgb(238,238,238);color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif">Notable bugs fixed/issues closed:</h2><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">When <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">normalize-by-median.py</code> decides to keep both parts of a pair of reads it was only adding the k-mers &amp; counts from one to the countgraph. <a href="https://github.com/dib-lab/khmer/issues/1000" title="normalize-by-median skip consuming kmers of PE reads" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1000</a> <a href="https://github.com/dib-lab/khmer/pull/1010" title="Normalize-by-median refactor: Stage 0" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1010</a> <a href="https://github.com/drtamermansour" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@drtamermansour</a><a href="https://github.com/bocajnotnef" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@bocajnotnef</a></p><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">The partition map file format was not robust to truncation and would hang waiting for more data.<a href="https://github.com/dib-lab/khmer/issues/437" title="Update partition map file format to be more robust" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#437</a> <a href="https://github.com/dib-lab/khmer/issues/1037" title="write truncation tests for file load functions" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1037</a> <a href="https://github.com/dib-lab/khmer/pull/1048" title="test various load functions" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1048</a> <a href="https://github.com/ctb" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@ctb</a></p><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px"><code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">extract-paired-reads.py</code> and <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">split-paired-reads.py</code> no longer create default files when the user supplies filename(s). <a href="https://github.com/dib-lab/khmer/issues/1005" title="[Discussion] The fate of load-graph" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1005</a> <a href="https://github.com/dib-lab/khmer/pull/1132" title="Putative fix for file creation in CWD" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1132</a> <a href="https://github.com/kdmurray91" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@kdmurray91</a></p><h2 style="margin-top:1em;margin-bottom:16px;line-height:1.225;font-size:1.75em;padding-bottom:0.3em;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:rgb(238,238,238);color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif">Additional fixes/features</h2><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px"><code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">find-knots.py</code> was missing a <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">--force</code> option and unit tests. <a href="https://github.com/dib-lab/khmer/issues/358" title="scripts/find-knots.py has no unit tests" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#358</a> <a href="https://github.com/dib-lab/khmer/pull/1078" title="Add test for scripts/find-knots.py &amp; associated fix" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1078</a> <a href="https://github.com/ctb" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@ctb</a><br>The check for excessively high false-positive rate has also received a <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">--force</code> option <a href="https://github.com/dib-lab/khmer/pull/1168" title="added --force check to #1126" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1168</a><a href="https://github.com/bocajnotnef" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@bocajnotnef</a></p><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">A bug leading to an infinite loop with large gzipped countgraphs was found <a href="https://github.com/dib-lab/khmer/issues/1038" title="Gzipped counting hash infinite loop w/ HT size 5e9?" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1038</a> <a href="https://github.com/dib-lab/khmer/pull/1043" title="Fix infinite loop in CountingHash gzipped IO" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1043</a><a href="https://github.com/kdmurray91" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@kdmurray91</a></p><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">All scripts that create nodegraphs or countgraphs report the total number of unique k-mers. <a href="https://github.com/dib-lab/khmer/pull/491" title="--report_total_kmers" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#491</a><a href="https://github.com/dib-lab/khmer/issues/609" title="Report total k-mers on loading of countgraph" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#609</a> <a href="https://github.com/dib-lab/khmer/issues/429" title="Output # of kmers at the end of table creation as appropriate in all scripts" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#429</a> <a href="https://github.com/mr-c" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@mr-c</a></p><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">Read pairs from SRA are fully supported. Reported by <a href="https://github.com/macmanes" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@macmanes</a> in <a href="https://github.com/dib-lab/khmer/issues/1027" title="interleave-reads.py SRA naming bug" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1027</a>, fixed by<a href="https://github.com/kdmurray91" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@kdmurray91</a> <a href="https://github.com/SherineAwad" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@SherineAwad</a> in <a href="https://github.com/dib-lab/khmer/pull/1173" title="Fix check_is_pair for SRA-toolkit&#39;s format" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1173</a> <a href="https://github.com/dib-lab/khmer/pull/1088" title="Fix bug in interleave-reads.py mentioned in #1027" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1088</a></p><h3 style="margin-top:1em;margin-bottom:16px;line-height:1.43;font-size:1.5em;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif">Of interest to users:</h3><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">Added <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">Hashtable::get_kmers()</code>, <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">get_kmer_hashes()</code>, and <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">get_kmer_counts()</code> with corresponding CPython functions. <a href="https://github.com/dib-lab/khmer/issues/1047" title="Add graph function that returns list of k-mer counts in a sequence" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1047</a> <a href="https://github.com/dib-lab/khmer/pull/1049" title="Add get_kmers() and get_kmer_counts() functions" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1049</a> <a href="https://github.com/ctb" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@ctb</a></p><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">The <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">DEFAULT_DESIRED_COVERAGE</code> for <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">normalize-by-median.py</code> is now 20. <a href="https://github.com/dib-lab/khmer/issues/1073" title="change DEFAULT_DESIRED_COVERAGE to 20 in normalize-by-median" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1073</a> <a href="https://github.com/dib-lab/khmer/pull/1081" title="update the diginorm documentation" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1081</a> <a href="https://github.com/ctb" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@ctb</a></p><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">FIFOs are no longer seen as empty. <a href="https://github.com/dib-lab/khmer/issues/1147" title="kfile.check_valid_file_exists() should return silently if it&#39;s a FIFO" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1147</a> <a href="https://github.com/dib-lab/khmer/pull/1163" title="No more complaining about FIFO&#39;s being empty (addresses #1147)" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1163</a> <a href="https://github.com/bocajnotnef" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@bocajnotnef</a></p><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">When the k-size is requested to be larger than 32 (which is unsupported) a helpful error message is reported. <a href="https://github.com/dib-lab/khmer/issues/1094" title="Complain on graph creation when k-mer size requested is &gt; 32" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1094</a> <a href="https://github.com/dib-lab/khmer/pull/1050" title="Add --max-memory-usage argument, and associated khmer_args refactoring." style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1050</a> <a href="https://github.com/ctb" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@ctb</a></p><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">We try to report more helpfully during errors, such as suggesting the <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">--force</code> option when outputs files already exist. <a href="https://github.com/dib-lab/khmer/issues/1162" title="Add a note about the &#39;--force&#39; option when exiting on disk space errors etc." style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1162</a> <a href="https://github.com/dib-lab/khmer/pull/1170" title="Fix weird things with space checks in some files (see #1167 #1166)" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1170</a> <a href="https://github.com/bocajnotnef" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@bocajnotnef</a></p><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">There is a paper related to <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">trim-low-abund.py</code>: &quot;Crossing the streams: a framework for streaming analysis of short DNA sequencing reads&quot; and it has been added to the CITATION file and program output. <a href="https://github.com/dib-lab/khmer/pull/1180" title="Miscellaneous small updates for 2.0" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1180</a> <a href="https://github.com/dib-lab/khmer/issues/1130" title="update Zhang, Awad, Brown citation for semi-streaming to point at PeerJ preprint" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1130</a> <a href="https://github.com/ctb" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@ctb</a></p><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">We have dropped support for Python 2.6 <a href="https://github.com/dib-lab/khmer/issues/1009" title="Dropping Python 2.6 (and before) support?" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1009</a> <a href="https://github.com/dib-lab/khmer/pull/1180" title="Miscellaneous small updates for 2.0" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1180</a> <a href="https://github.com/ctb" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@ctb</a></p><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">Our user documentation got a bit out of date and has been updated. <a href="https://github.com/dib-lab/khmer/issues/1156" title="Documentation problem: Installing &amp; Running khmer" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1156</a> <a href="https://github.com/dib-lab/khmer/pull/1247" title="Doc/frenzy 2" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1247</a> <a href="https://github.com/bocajnotnef" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@bocajnotnef</a><a href="https://github.com/mr-c" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@mr-c</a> <a href="https://github.com/dib-lab/khmer/pull/1104" title="Fix link in readme to virtualenv installation instructions" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1104</a> <a href="https://github.com/kdmurray91" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@kdmurray91</a> <a href="https://github.com/dib-lab/khmer/pull/1267" title="update the front page documentation" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1267</a> <a href="https://github.com/ctb" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@ctb</a> Links to lists of publications that use khmer have been added <a href="https://github.com/dib-lab/khmer/issues/1063" title="Add links to publication collections" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1063</a> <a href="https://github.com/dib-lab/khmer/pull/1222" title="WIP: much documentation updates" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1222</a> <a href="https://github.com/mr-c" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@mr-c</a> The help text from the scripts has also had a thorough cleanup for formatting. <a href="https://github.com/dib-lab/khmer/pull/1268" title="script help formatting" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1268</a> <a href="https://github.com/mr-c" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@mr-c</a></p><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px"><code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">fastq-to-fasta.py</code>&#39;s <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">--n_keep</code> option has incorrect help text. We now point out that all reads with Ns will be dropped by default unless this option is supplied. <a href="https://github.com/dib-lab/khmer/issues/657" title="fastq-to-fasta.py default of dropping reads with &#39;N&#39;s is non-obvious and confusing" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#657</a> <a href="https://github.com/dib-lab/khmer/pull/814" title="Update fastq-to-fasta.py" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#814</a> <a href="https://github.com/dib-lab/khmer/pull/1208" title="Adoption of &quot;Update fastq-to-fasta.py&quot;" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1208</a><a href="https://github.com/ACharbonneau" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@ACharbonneau</a> <a href="https://github.com/bocajnotnef" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@bocajnotnef</a></p><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">We&#39;ve updated the URL to the &#39;88m-reads.fa.gz&#39; file. <a href="https://github.com/dib-lab/khmer/issues/1242" title="Dead link in docs" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1242</a> <a href="https://github.com/dib-lab/khmer/pull/1269" title="updated whats-new-2.0.rst" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1269</a> <a href="https://github.com/mr-c" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@mr-c</a></p><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px"><a href="https://github.com/camillescott" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@camillescott</a> designed and implemented an optimization for <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">normalize-by-median.py</code> <a href="https://github.com/dib-lab/khmer/pull/862" title="Implement optimized median filter" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#862</a></p><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px"><code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">abundance-dist.py</code> can now be used without counts over 255 with <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">--no-bigcount</code>. <a href="https://github.com/dib-lab/khmer/pull/1067" title="remake of #909 w/tests" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1067</a><a href="https://github.com/dib-lab/khmer/pull/909" title="Add -b to abundance-dist.py" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#909</a> <a href="https://github.com/drtamermansour" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@drtamermansour</a> <a href="https://github.com/bocajnotnef" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@bocajnotnef</a> Its input file requirement can no longer be overridden<a href="https://github.com/dib-lab/khmer/issues/1201" title="Some missing files shouldn&#39;t be --force -able" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1201</a> <a href="https://github.com/dib-lab/khmer/pull/1202" title="Fix for #1201, requiring input file in abundance-dist" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1202</a> <a href="https://github.com/bocajnotnef" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@bocajnotnef</a></p><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">khmer v2.0 will be released as a package for the Debian GNU/Linux operating system. Big thanks to <a href="https://github.com/kdmurray91" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@kdmurray91</a> for his assistance. <a href="https://github.com/dib-lab/khmer/pull/1148" title="Changes upstreamed while packaging libkhmer for Debian" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1148</a> <a href="https://github.com/dib-lab/khmer/pull/1240" title="Fix liboxli SONAME and ABI version" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1240</a> The C++ library, now named liboxli, will have its own package as well.</p><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px"><code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">sandbox/multi-rename.py</code> now wraps long FASTA sequences at 80 columns. <a href="https://github.com/dib-lab/khmer/issues/450" title="Move multi-rename from sandbox/ into scripts; add line length limits." style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#450</a> <a href="https://github.com/dib-lab/khmer/pull/1136" title="Move multi-rename from sandbox/ into scripts; add line length limits. #450" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1136</a><a href="https://github.com/SherineAwad" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@SherineAwad</a></p><h3 style="margin-top:1em;margin-bottom:16px;line-height:1.43;font-size:1.5em;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif">Of interest to developers:</h3><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">The khmer project is now a Python 3 codebase with backwards compatibility to Python 2.7. Huge credit to <a href="https://github.com/luizirber" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@luizirber</a> <a href="https://github.com/dib-lab/khmer/pull/978" title="Python 3/2 compatibility" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#978</a> <a href="https://github.com/dib-lab/khmer/pull/922" title="Test/py3" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#922</a> <a href="https://github.com/dib-lab/khmer/pull/1045" title="Make khmer master compatible with screed Python 3 PR" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1045</a> <a href="https://github.com/dib-lab/khmer/pull/1066" title="Rename _screed_record_dict calls in khmer" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1066</a> <a href="https://github.com/dib-lab/khmer/pull/1089" title="Remove some mistakes from py3 branch" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1089</a> <a href="https://github.com/dib-lab/khmer/pull/1157" title="Fix Python 3 errors and coding style" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1157</a> <a href="https://github.com/dib-lab/khmer/pull/1191" title="Fix py3 issues" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1191</a> <a href="https://github.com/dib-lab/khmer/pull/1108" title="Makefile adaptations for Py3/2 and Jenkins configuration" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1108</a> Many developer impacting changes including the file <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">khmer/_khmermodule.cc</code> is now <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">khmer/_khmer.cc</code>. <a href="https://github.com/dib-lab/khmer/issues/169" title="rename the C/C++ extension from the confusing &quot;_khmermodule&quot;" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#169</a><a href="https://github.com/dib-lab/khmer/issues/904" title="Officially stop supporting Python 2.6" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#904</a></p><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px"><a href="https://github.com/camillescott" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@camillescott</a> did an extensive refactor of the C++ graph traversal code which removed a considerable amount of redundant code and will be very useful for future work. <a href="https://github.com/dib-lab/khmer/pull/1231" title="Feature/traversal small" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1231</a> <a href="https://github.com/dib-lab/khmer/pull/1080" title="WIP: Refactor khmer&#39;s graph traversal" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1080</a></p><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">We now use some and allow all C++11 features in the codebase. <a href="https://github.com/dib-lab/khmer/issues/598" title="document gcc/clang minimum version (a.k.a what C++ standard do we write to)" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#598</a> <a href="https://github.com/dib-lab/khmer/pull/1122" title="Graphalign/new tests" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1122</a> <a href="https://github.com/mr-c" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@mr-c</a></p><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px"><code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">normalize-by-median.py</code> was extensively refactored. <a href="https://github.com/dib-lab/khmer/issues/1006" title="Refactor normalize-by-median with extreme prejudice" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1006</a> <a href="https://github.com/dib-lab/khmer/pull/1010" title="Normalize-by-median refactor: Stage 0" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1010</a> <a href="https://github.com/dib-lab/khmer/pull/1057" title="Refactor normalize-by-median stage 1: broken_paired" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1057</a> <a href="https://github.com/dib-lab/khmer/pull/1039" title="try a class for the core processing bit of normalize-by-median" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1039</a> <a href="https://github.com/dib-lab/khmer/pull/1135" title="disabled running of test_normalize_by_median_report_fp during normal tests" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1135</a> <a href="https://github.com/dib-lab/khmer/pull/1182" title="Refactor diginorm reporting" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1182</a><a href="https://github.com/bocajnotnef" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@bocajnotnef</a> <a href="https://github.com/ctb" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@ctb</a> <a href="https://github.com/camillescott" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@camillescott</a></p><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">The CPython glue was refactored so that CountingHash and Hashbits inherit from Hashtable.<a href="https://github.com/dib-lab/khmer/pull/1044" title="Refactor CPython layer so that CountingHash and Hashbits inherit from Hashtable." style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1044</a> <a href="https://github.com/ctb" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@ctb</a></p><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">The tests no longer stop on the first failed test. <a href="https://github.com/dib-lab/khmer/issues/1124" title="Change setup.cfg to have stop=FALSE" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1124</a> <a href="https://github.com/dib-lab/khmer/pull/1134" title="change the default test behavior to no longer stop on failed tests" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1134</a> <a href="https://github.com/ctb" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@ctb</a> and some noisy tests were silenced <a href="https://github.com/dib-lab/khmer/issues/1125" title="some tests leak stdout, which is Bad." style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1125</a> <a href="https://github.com/dib-lab/khmer/pull/1137" title="Fixed tests output leak" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1137</a> <a href="https://github.com/bocajnotnef" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@bocajnotnef</a></p><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">The <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">check_space()</code> calls were cleaned up. <a href="https://github.com/dib-lab/khmer/issues/1167" title="Get rid of kfile.check_space call in load-into-counting" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1167</a> <a href="https://github.com/dib-lab/khmer/issues/1166" title="kfile.check_space_for_hashtable only examines the current directory..." style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1166</a> <a href="https://github.com/dib-lab/khmer/pull/1170" title="Fix weird things with space checks in some files (see #1167 #1166)" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1170</a> <a href="https://github.com/dib-lab/khmer/issues/993" title="remove unnecessary check_space call in abundance-dist-single.py" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#993</a></p><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">Developer docs have been expanded <a href="https://github.com/dib-lab/khmer/issues/737" title="add instructions on how to move on to 2nd contribution" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#737</a> <a href="https://github.com/dib-lab/khmer/pull/1184" title="Added instructions for second contribution" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1184</a> <a href="https://github.com/bocajnotnef" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@bocajnotnef</a> <a href="https://github.com/dib-lab/khmer/pull/1083" title="update instructions for creating a new branch name to preferred practice" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1083</a> <a href="https://github.com/dib-lab/khmer/pull/1282" title="spelling/typo fixes for getting-started docs" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1282</a> <a href="https://github.com/ctb" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@ctb</a> <a href="https://github.com/mr-c" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@mr-c</a><a href="https://github.com/dib-lab/khmer/pull/1269" title="updated whats-new-2.0.rst" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1269</a></p><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">A lot of code was deleted: TRACE related code in <a href="https://github.com/dib-lab/khmer/issues/274" title="TRACE code is unused" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#274</a> <a href="https://github.com/dib-lab/khmer/pull/1180" title="Miscellaneous small updates for 2.0" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1180</a> <a href="https://github.com/ctb" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@ctb</a><code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">hashtable_collect_high_abundance_kmers</code> in <a href="https://github.com/dib-lab/khmer/issues/1142" title="collect_high_abundance_kmers partially removed" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1142</a> <a href="https://github.com/dib-lab/khmer/pull/1044" title="Refactor CPython layer so that CountingHash and Hashbits inherit from Hashtable." style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1044</a> <a href="https://github.com/ctb" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@ctb</a> <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">lib/ht-diff.cc</code>,<code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">lib/test-HashTables.cc</code>, <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">lib/test-Parser.cc</code> <a href="https://github.com/dib-lab/khmer/pull/1144" title="cppcheck cleanups" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1144</a>, <a href="https://github.com/mr-c" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@mr-c</a> <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">bink.ipynb</code>,<code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">lib/graphtest.cc</code>, <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">lib/primes.hh</code> <a href="https://github.com/dib-lab/khmer/pull/1289" title="copyright update " style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1289</a> <a href="https://github.com/mr-c" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@mr-c</a></p><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px"><a href="https://github.com/bocajnotnef" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@bocajnotnef</a> deleted more unused code and added new tests elsewhere to increase testing coverage in <a href="https://github.com/dib-lab/khmer/pull/1236" title="Coverage audit" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1236</a>. <a href="https://github.com/mr-c" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@mr-c</a> had his own go in <a href="https://github.com/dib-lab/khmer/pull/1279" title="increase test coverage a bit" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1279</a></p><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">cppcheck installation for OSX has been documented <a href="https://github.com/dib-lab/khmer/issues/777" title="document cppcheck install for OSX" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#777</a> <a href="https://github.com/dib-lab/khmer/pull/952" title="Fix/777" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#952</a> <a href="https://github.com/dib-lab/khmer/issues/945" title="getting-started.rst documentation update for OSX mac port users" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#945</a> <a href="https://github.com/elmbeech" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@elmbeech</a></p><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">ccache and git-merge-changelog has been documented for Linux users <a href="https://github.com/dib-lab/khmer/issues/610" title="document use of ccache for developers" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#610</a> <a href="https://github.com/dib-lab/khmer/pull/1122" title="Graphalign/new tests" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1122</a> <a href="https://github.com/dib-lab/khmer/issues/614" title="document git-merge-changelog for devs" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#614</a> <a href="https://github.com/mr-c" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@mr-c</a></p><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">The graphalign parameters can be saved/loaded from disk. In addition the <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">align_forward</code>method has been introduced. <a href="https://github.com/dib-lab/khmer/issues/755" title="Add save/load of HMM parameters in graphalign" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#755</a> <a href="https://github.com/dib-lab/khmer/pull/750" title="Added align_forward to read aligner, together with associated tests." style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#750</a> <a href="https://github.com/mr-c" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@mr-c</a> <a href="https://github.com/ctb" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@ctb</a></p><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px"><code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">labelhash</code> is now known as <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">graphlabels</code> <a href="https://github.com/dib-lab/khmer/issues/1032" title="rename LabelHash to something else" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1032</a> <a href="https://github.com/dib-lab/khmer/pull/1209" title="Rename counting_hash and hashbits at Python layer" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1209</a> <a href="https://github.com/mr-c" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@mr-c</a> It is also now a &#39;friend&#39; of Hashtable and one can make either a nodegraph or countgraph version. These graphlabels can now be saved &amp; loaded from disk. <a href="https://github.com/dib-lab/khmer/pull/1021" title="Some hacking on labelhash." style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1021</a> <a href="https://github.com/ctb" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@ctb</a></p><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">Spelling is hard; we&#39;ve added instructions on how to run codespell to the developer docs. <a href="https://github.com/dib-lab/khmer/issues/890" title="update documentation: use codespell instead of aspell" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#890</a><a href="https://github.com/dib-lab/khmer/pull/1203" title="Adding codespell as a spellchecker in the docs" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1203</a> <a href="https://github.com/bocajnotnef" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@bocajnotnef</a></p><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">A redundant and contradictory named test has been removed. Reported by <a href="https://github.com/jgluck" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@jgluck</a> in <a href="https://github.com/dib-lab/khmer/issues/662" title="Incorrect test for collisions in hash" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#662</a> fixed by <a href="https://github.com/bocajnotnef" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@bocajnotnef</a> in <a href="https://github.com/dib-lab/khmer/pull/1220" title="Removed redundant test " style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1220</a> <a href="https://github.com/SherineAwad" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@SherineAwad</a> contributed some additional tests <a href="https://github.com/dib-lab/khmer/pull/809" title="loading of counting table with bigcounts (part 2)" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#809</a> <a href="https://github.com/dib-lab/khmer/issues/615" title="loading of counting table with bigcounts needs test coverage" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#615</a>.</p><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">The new oxli command, while disabled in the v2.0 release, has been added to all the QA makefile targets as we continue to refactor the codebase. <a href="https://github.com/dib-lab/khmer/issues/1199" title="Add Oxli to all QA maketargets" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1199</a> <a href="https://github.com/dib-lab/khmer/pull/1218" title="Added oxli to pep257 maketarget" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1218</a> <a href="https://github.com/bocajnotnef" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@bocajnotnef</a></p><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">The CPython code was audited to ensure that all possible C++ exceptions were caught and dealt with. The exception hierarchy was also simplified <a href="https://github.com/dib-lab/khmer/issues/1016" title="not all CPython functions convert all possible C++ khmer exceptions to Python exceptions" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1016</a> <a href="https://github.com/dib-lab/khmer/pull/1015" title="Fix: empty zipped files cause a C++ exception" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1015</a> <a href="https://github.com/dib-lab/khmer/pull/1017" title="Catch more c++ exceptions" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1017</a> <a href="https://github.com/dib-lab/khmer/pull/1151" title="unify exception construction" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1151</a> <a href="https://github.com/kdmurray91" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@kdmurray91</a><a href="https://github.com/mr-c" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@mr-c</a></p><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px"><code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">get_kadian_count</code> has been removed. <a href="https://github.com/dib-lab/khmer/issues/1034" title="Remove get_kadian_count functionality." style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1034</a> <a href="https://github.com/dib-lab/khmer/pull/1194" title="Save _n_occupied in graph structures (Hashtable and descendants)" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#1194</a> <a href="https://github.com/ctb" style="color:rgb(51,51,51);text-decoration:none;font-weight:bold;white-space:nowrap;background-color:transparent" target="_blank">@ctb</a></p><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif;font-size:16px;line-height:25.6000003814697px">We use argparse&#39;s <code style="font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:13.6000003814697px;padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">metavar</code>s to aid with autogenerated documentation for the scripts. This has been documented in the dev docs. <a href="https://github.com/dib-lab/khmer/issues/620" title="explain why &#39;metavar&#39;s are required for use with sphinx-autoprogram sometimes" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank">#620</a> <a href="https://github.com/dib-lab/khmer/pull/1222" title="WIP: much documentation updates" style="color:rgb(64,120,192);text-decoration:none;background-color:transparent" target="_blank"></a></p></div>