2023-05-16 Lauren Coombe <lcoombe@bcgsc.ca>

  * Release version 2.3.7

    General:
	* Fix build on macOS-12 and macOS-13 (Thanks @parham-k!)

2023-05-02 Lauren Coombe <lcoombe@bcgsc.ca>

  * Release version 2.3.6

    General:
    * btllib is now a dependency
	* Documentation updates

	abyss-rresolver-short:
	* btllib source code removed due to btllib now being a dependency

2022-05-11 Vladimir Nikolic <vnikolic@bcgsc.ca>

  * Release version 2.3.5

    General:
	* Fixed compile errors when using the -DNDEBUG flag.
	* Removed deprecated C++ features.


2021-12-20 Vladimir Nikolic <vnikolic@bcgsc.ca>

  * Release version 2.3.4

    General:
	* Dropped support for gcc5 due to lack of support for more recent C++ features.

	abyss-rresolver-short:
	* Reduced memory consumption.
	* Better calculation of read size proportions in the input dataset.
	* Increased max read read size allowed.

2021-11-10 Vladimir Nikolic <vnikolic@bcgsc.ca>

  * Release version 2.3.3

	General:
	* Fixed a contig overlap distance assertion.

	abyss-rresolver-short:
	* Multiple read sizes are better handled. E.g. 150 and 151 are processed as one read size.
    * Updated default parameters.

2021-10-13 Vladimir Nikolic <vnikolic@bcgsc.ca>

  * Release version 2.3.2

	General:
	* Updated the `m` parameter and the `S` and `N` scaffolding parameters to better defaults.

	abyss-rresolver-short:
  * Updated btllib to 1.1.7

2021-04-21 Vladimir Nikolic <vnikolic@bcgsc.ca>

  * Release version 2.3.1

	abyss-rresolver-short:
  * Fixed a bug that crashed ABySS if Bloom filter size is not specified.
  * Fixed a compilation error for clang-10.

2021-03-22 Vladimir Nikolic <vnikolic@bcgsc.ca>

  * Release version 2.3.0

	General:
	* The RResolver algorithm is now part of the default pipeline. RResolver resolves repeats using short reads and generates assemblies with better contiguity and often fewer misassemblies.

2020-09-17  Johnathan Wong <jowong@bcgsc.ca>

	* Release version 2.2.5

	General:
	* Resolve various compilation errors in newer versions of clang
	* Use ntHash's 0th hash as the default hash instead of the 1st hash
	* Added optional RResolver module, not currently part of the ABySS assembly pipeline

	abyss-rresolver-short:
	* Improves genome assemblies at unitig stage by using a sliding window at read size level
	across repeats to determine which paths are correct
	* For further information: consult http://www.birollab.ca/assets/posts/195_Nikolic_Vladimir_HiTSeq_ISMB2020.pdf
	
	misc:
	* Extract all tags in a SAM file

2020-01-30  Johnathan Wong <jowong@bcgsc.ca>

	* Release version 2.2.4

	General:
	* Refactor deprecated functions in clang-8

	Sealer:
	* Remove unsupported -D option from help page

	abyss-bloom:
	* Add counting Bloom Filter instruction to help page

	abyss-bloom-dbg:
	* Report coverage information of unitigs

2019-09-20  Johnathan Wong <jowong@bcgsc.ca>

	* Release version 2.2.3
	* Revert memory consumption of Bloom filters to pre 2.2.0 behaviour
	ABySS will now share the specified memory among all Bloom filters
	instead of just the counting Bloom filter.
	* Fix gcc-9 compilation warnings

2019-08-16  Johnathan Wong <jowong@bcgsc.ca>

	* Release version 2.2.2
	* Fix abyss-overlap for 32-bit systems

2019-08-12  Johnathan Wong <jowong@bcgsc.ca>

	* Release version 2.2.1
	* Fix abyss-bloom for macOS

2019-08-01  Johnathan Wong <jowong@bcgsc.ca>

	* Release version 2.2.0
	* Construct a counting Bloom filter instead of a cascading Bloom filter.

	abyss-bloom:
	* Add 'counting' as valid argument to '-t' option to build a counting
	bloom filter

2018-12-04  Sauparna Palchowdhury <spchowdhury@bcgsc.ca>

	* Release version 2.1.5
	* Compiler fixes and increse stack size limits to avoid stack overflows.

	abyss-pe:
	* Add 'ulimit' statements to the Makefile to increse a thread's
	stack size to 64MB.

2018-11-09  Ben Vandervalk <benv@bcgsc.ca>

	* Release version 2.1.4
	* Major improvements to Bloom filter assembly contiguity and
	correctness. Bloom filter assemblies now have equivalent scaffold
	contiguity and better correctness than MPI assemblies of the same
	data, while still requiring less than 1/10th of the memory. On
	human, Bloom filter assembly times are still a few hours longer
	than MPI assemblies (e.g. 17 hours vs. 13 hours, using 48
	threads).

	abyss-pe:
	* Change default value of `m` from 50 => 0, which has the effect
	of disallowing sequence overlaps < k-1 bp. QUAST tests on E. coli /
	C. elegans / H. sapiens showed that both contiguity and
	correctness were improved by allowing only overlaps of k-1 bp
	between sequence ends.

2018-11-05  Ben Vandervalk <benv@bcgsc.ca>

	* Release version 2.1.3
	* Bug fix release

	abyss-bloom:
	* Added `graph` command for visualizing neighbourhoods of the
	Bloom filter de Bruijn graph (produces GraphViz)

	abyss-fixmate-ssq:
	* Fixed missing tab in SAM output which broke ABySS linked reads
	pipeline (Tigmint/ARCS)

2018-10-24  Ben Vandervalk <benv@bcgsc.ca>

	* Release version 2.1.2
	* Improved scaffold N50 on human by ~10% by
	implementing a new `DistanceEst --median`
	option (thanks to @lcoombe!)
	* Added a `--max-cost` option to `konnector` and
	`abyss-sealer`. This address a long-standing issue
	with indeterminately long running times, particularly
	for low values of `k`.

	abyss-pe:
	* Use the new `DistanceEst --median` option as the
	default for the scaffolding stage

	Dockerfile:
	* Fix OpenMPI setup

	DistanceEst:
	* Added `--median` option

	konnector:
	* Added `--max-cost` option to bound running time

	sealer:
	* Added `--max-cost` option to bound running time

2018-09-11  Ben Vandervalk <benv@bcgsc.ca>

	* Release version 2.1.1

	abyss-bloom-dbg:
	* upgrade to most recent version of ntHash to reduce
	some assembly/hashing artifacts. On a human assembly, this
	reduced QUAST major misassemblies by 5% and increased
	scaffold contiguity by 10%
	* `kc` parameter now also applies to MPI assemblies (see below)

	abyss-fac:
	* change N20 and N80 to N25 and N75, respectively

	ABYSS-P:
	* add `--kc` option, with implements a hard minimum k-mer
	multiplicity cutoff

	abyss-pe:
	* fix `zsh: no such option: pipefail` error with
	old versions of `zsh` (fallback to `bash` instead)
	* adding `time=1` now times *all* assembly commands

	abyss-sealer:
	* parallelize gap sealing with OpenMP (thanks to
	@vlad0x00!)
	* add `--gap-file` option (thanks to @vlad0x00!)

	DistanceEst:
	* add support for GFA output

2018-04-13  Ben Vandervalk <benv@bcgsc.ca>

	* Release version 2.1.0
	* Adds support for misassembly correction and scaffolding
	using linked reads, using Tigmint and ARCS. (Tigmint and
	ARCS must be installed separately.)
	* Support simultaneous optimization of `s` (min sequence length)
	and `n` (min supporting read pairs / Chromium barcodes)
	during scaffolding

	abyss-longseqdist:
	* Fix hang on input SAM containing no alignments with MAPQ > 0

	abyss-pe:
	* New `lr` parameter. Provide linked reads (i.e. 10x Genomics
	Chromium reads) via this parameter to perform misassembly
	correction and scaffolding using Chromium barcode information.
	Requires Tigmint and ARCS tools to be installed in addition
	to ABySS.
	* Fix bug where `j` (threads) was not being correctly passed to
	to `bgzip`/`pigz`
	* Fix bug where `zsh` time/memory profiling was not being used,
	even when `zsh` was available

	abyss-scaffold:
	* Simultaneous optimization of `n` and `s` using line search
	or grid search [default]

	SimpleGraph:
	* add options `-s` and `-n` to filter paired-end paths by
	seed length and edge weight, respectively

2018-03-14  Ben Vandervalk <benv@bcgsc.ca>

	* Release version 2.0.3
	* Many compiler fixes for GCC >= 6, Boost >= 1.64
	* Read and write GFA 2 assembly graphs with abyss-pe graph=gfa2
	* Support reading CRAM via samtools

	abyss-bloom:
	* New `abyss-bloom build -t rolling-hash` option, to
	pre-build input Bloom filters for `abyss-bloom-dbg`
	* Fix incorrect output of `abyss-bloom kmers -r`
	(thanks to @notestaff!)

	abyss-bloom-dbg:
	* New `-i` option to read Bloom filter files built by
	`abyss-bloom build -t rolling-hash`
	* Improved error branch trimming (reduces number of
	small output sequences)
	* Fix intermittent segfaults caused by non-null-terminated
	strings

	abyss-map:
	* Append BX tag to SAM output (Chromium 10x Genomics data)

	ABYSS-P:
	* Increase default number of sparsehash buckets from
	200,000,000 => 1,000,000,000
	* Benefit: Allows larger datasets to be assembled without
	time-consuming sparsehash resize operations (e.g. H. sapiens)
	* Caveat: Increases minimum memory requirement per
	CPU core from 89 MB to 358 MB

	abyss-pe:
	* Parallelize `gzip` with `pigz`, if available
	* Report time/memory for each program with `zsh`, if available
	* Fix: use `N` instead of `n` for scaffold stage,
	when set by user

	abyss-samtobreak:
	* New `--alignment-length` (`-a`) option to exclude alignments
	shorter than a given length
	* New `--contig-length` (`-l`) option to exclude contigs
	shorter than a given length
	* New `--genome-size` (`-G`) option, for contiguity metrics
	that depend on the reference genome size
	* New `--mapq` (`-q`) option for minimum MAPQ score
	* New `--patch-gaps` (`-g`) option to join alignments
	separated by small gaps
	* New TSV output format with additional contiguity
	stats (e.g. L50, NG50)
	* Fix handling of hard-clipped alignments

	abyss-todot:
	* New `--add-complements` option

	abyss-tofastq:
	* New `--bx` option to copy BX tag from from SAM/BAM
	to FASTQ header comment (Chromium 10x Genomics
	data)

2016-10-21  Ben Vandervalk <benv@bcgsc.ca>

	* Release version 2.0.2
	* Fix compile errors with gcc 6 and boost 1.62

2016-09-14  Ben Vandervalk <benv@bcgsc.ca>

	* Release version 2.0.1
	* Resolve licensing issues by switching to standard GPL-3 license

2016-08-30  Ben Vandervalk <benv@bcgsc.ca>

	* Release version 2.0.0
	* New Bloom filter mode for assembly => assemble large genomes
	with minimal memory (e.g. 34G for H. sapiens)
	* Update param defaults for modern Illumina data
	* Make sqlite3 an optional dependency

	abyss-bloom:
	* New 'compare' command for bitwise comparison of Bloom filters
	(thanks to @bschiffthaler!)
	* New 'kmers' command for printing k-mers that match a Bloom filter
	(thanks to @bschiffthaler!)

	abyss-bloom-dbg:
	* New preunitig assembler that uses Bloom filter
	* Add 'B' param (Bloom filter size) to 'abyss-pe' command to enable
	Bloom filter mode
	* See README.md and '--help' for further instructions

	abyss-fatoagp:
	* Mask scaftigs shorter than 50bp with 'N's (short scaftigs
	were causing problems with NCBI submission)

	abyss-pe:
	* Update default parameter values for modern Illumina data
	* Change 'l=k' => 'l=40'
	* Change 's=200' => 's=1000'
	* Change 'S=s' => 'S=1000-10000' (do a param sweep of 'S')
	* Use 'DistanceEst --mean' for scaffolding stage, instead of
	the default '--mle'

	abyss-sealer:
	* New '--max-gap-length' ('-G') option to replace unintuitive
	'--max-frag'; use of '--max-frag' is now deprecated
	* Require user to explicitly specify Bloom filter size (e.g.
	'-b40G')
	* Report false positive rate (FPR) when building/loading Bloom
	filters
	* Don't require input FASTQ files when using pre-built Bloom
	filter files

	konnector:
	* Fix bug causing output read 2 file to be empty
	* New percent sequence identity options ('-x' and '-X')
	* New '--alt-paths-mode' option to output alternate connecting
	paths between read pairs

	README.md:
	* Fixes to documentation of ABYSS and abyss-pe parameters
	(thanks to @nsoranzo!)

2015-05-28  Ben Vandervalk <benv@bcgsc.ca>

	* Release version 1.9.0
	* New paired de Bruijn graph mode for assembly.
	* First official release of Sealer, a tool for closing
	scaffold gaps by navigating a Bloom filter de Bruijn graph.
	* New outward extension feature for Konnector to generate
	long pseudo-reads.
	* Support for the DIDA (Distributed Indexing Dispatched
	Alignment) framework, for computing sequence alignments
	in parallel across multiple machines.
	* Unit tests can now be run easily with 'make check', without
	external dependencies.

	abyss-bloom:
	* abyss-bloom 'build' command now supports -j option for
	multi-threaded Bloom filter construction.

	abyss-map:
	* New --protein option for mapping protein sequences.

	abyss-pe:
	* New paired de Bruijn graph mode for assembly. Enable by
	setting `k` to the k-mer pair span and `K` to size of an
	individual k-mer in a k-mer pair. See README.md for further
	details.
	* New `aligner=dida` option for using the DIDA parallel alignment
	framework. See the DIDA section of the abyss-pe man page
	for usage details.
	* New `graph=gfa` option to use the GFA (Graphical
	Fragment Assembly) format for intermediate graph files.

	abyss-sealer:
	* New tool for closing scaffold gaps by navigating a Bloom
	filter de Bruijn graph
	* See Sealer/README.md or abyss-sealer man page for details
	and examples.

	konnector:
	* New --extend option for extending merged and unmerged
	reads outwards in the de Bruijn graph.

2014-07-09  Anthony Raymond  <traymond@bcgsc.ca>

	* Release version 1.5.2
	* First official release of Konnector and abyss-bloom.
	* More GCC 4.8+ fixes! Modified Boost install instructions.
	* Fixed rare bug when parsing output of BWA.

	ABYSS:
	* New option, --mask-cov, use kmers with lowercased bases, but
	don't count them towards multiplicity.

	abyss-bloom:
	* Construct reusable Bloom filter files for use with Konnector.
	* Perform boolean operations on two or more bloom filters.
	Currently supports union and intersection operations.

	abyss-fixmate:
	* Check for boost 1.43+ when using `unordered_map::quick_erase`.
	* New option, --all, to report all alignments.
	* Set mate unmapped flag for mateless reads.

	abyss-longseqdist:
	* Fixed `error: invalid CIGAR` when reading BWA output.

	configure:
	* Include mpi and boost libraries as system libraries. Silences
	warnings (treated as errors) when compiling with GCC 4.8+.

	konnector:
	* Merge read pairs into a single sequence (pseudoread) by
	building a Bloom filter de Bruijn graph and searching for paths
	between the paired end reads.  Input reads may be
	FASTA/FASTQ/SAM/BAM. The input files must be sorted by read name
	and may not contain orphan reads.

2014-05-07  Anthony Raymond  <traymond@bcgsc.ca>

	* Release version 1.5.1
	* Fix an issue with strand-specific RNA-Seq assembly when running
	`abyss-filtergraph --assemble --SS`.
	* Portability fixes for Fujitsu C Compiler (FCC).

	abyss-filtergraph:
	* Assemble contigs in forward orientation with `--assemble --SS`

	abyss-pe:
	* Fix some cases where abyss-pe uses incorrect executables

	ABYSS-P:
	* Portability fix with FCC

2014-05-01  Anthony Raymond  <traymond@bcgsc.ca>

	* Release version 1.5.0
	* Assemble strand-specific RNA-Seq libraries into strand-specific
	contigs.
	* New parameters, Q and xtip. Improves assembly in high-coverage
	regions by removing recurrent read errors.
	* Portability fixes for Fujitsu C Compiler.

	abyss-pe:
	* New parameter, `Q`, to mask low quality bases to N.
	* New parameter, `xtip=1`, to remove 2-in 0-out tips.
	* New parameter, `ss=1`, to perform strand-specific assembly
	using ssRNA-Seq libraries.
	* New command, `scaftigs`. Breaks scaffold sequences at 'N's and
	produce a scaftigs.fa file.
	* Include long-scaffs.fa in FAC statistics if `long` parameter
	used.

	abyss-fixmate:
	* Performance improvement for GCC-4.6 and older.

	DistanceEst:
	* Report an estimation of duplicate fragments from read pairs
	mapping to different contigs.

	abyss-fixmate:
	* Report number of fragments removed as noise and outliers.

	ABYSS/ABYSS-P:
	* New option, --SS, to support strand-specific assembly.

	abyss-layout:
	* New option, --SS, to support strand-specific assembly.

	abyss-map:
	* New option, --SS, to support strand-specific assembly.

	abyss-overlap:
	* New option, --SS, to support strand-specific assembly.

	abyss-PathOverlap:
	* New option, --SS, to support strand-specific assembly.

	abyss-scaffold:
	* New option, --SS, to support strand-specific assembly.
	* Don't prune xtips when scaffolding.

	AdjList:
	* New option, --SS, to support strand-specific assembly.

	Overlap:
	* New option, --SS, to support strand-specific assembly.

	PopBubbles:
	* New option, --SS, to support strand-specific assembly.

2013-11-20  Anthony Raymond  <traymond@bcgsc.ca>

	* Release version 1.3.7
	* Use long sequences to rescaffold scaffolds. May be run by
	adding libraries to the `long’ parameter. When Scaffolding
	with RNA-Seq contigs from a Trans-ABySS assembly, the genic
	contiguity is greatly improved.
	* Added support gcc 4.8+, and Mac OS X 10.9 Mavericks with clang.
	* Licensed as GPL for non-commercial purposes.

	abyss-fac:
	* Added e-size to contiguity statistics as described in the GAGE
	paper.

	abyss-filtergraph:
	* Bug fix. `--assemble’ will not fail an assertion.
	* New option, --max-length, used to remove contigs over the
	specified threshold.
	* Trim 2-in 0-out tips when removing tips.

	abyss-map:
	* Bug fix. Correctly set mapq=0 for reads that multi map.

	abyss-longseqdist:
	* New program. Generate distance estimates between all contigs a
	single read maps to.

	abyss-mergepairs:
	* Report number of reads chastity filtered.

	abyss-overlap:
	* Bug fix. Handle ambiguity codes.

	abyss-pe:
	* Support BWA-MEM with assembly. Run using parameter
	`aligner=bwamem’.
	* Added another scaffolding stage using long sequences. May be
	run by adding libraries to the `long’ parameter.

	ABYSS-P:
	* Bug fix. Do not use awk to merge fasta files.

	abyss-samtobreak:
	* Building bug fix. Check that ghc modules are installed.

	UnitTest:
	* The Google C++ testing framework has been added to ABySS.

2013-07-15  Anthony Raymond  <traymond@bcgsc.ca>

	* Release version 1.3.6
	* Improved documentation for GitHub devs.
	* ABYSS-P performance improvement.
	* Various portability and bug fixes.

	abyss-mergepairs:
	* Fix program name.

	abyss-fac:
	* New option --exp-size to give the expected genome size needed
	for NG50 calculation.
	* New option --count-ambig include ambiguities in calculations.

	ABYSS/ABYSS-P:
	* Performance improvement. Runtime reduced by ~20%.
	* Fix support for MPICH.

	abyss-map:
	* No longer require POPCNT instruction.
	* New option --order to force output order the same as input.

	abyss-filtergraph:
	* New option --remove to remove specified contigs from graph.

	PopBubbles:
	* Bug fix. Setting branches > 2 will now work.

	abyss-fixmate:
	* Improved error when first and second read IDs do not match.
	* New option --cov to compute and store the physical coverage in
	a Wiggle file.

	AdjIO:
	* Bug fix for non-GCC compilers.

2013-03-04  Anthony Raymond  <traymond@bcgsc.ca>

	* Release version 1.3.5
	* Standardized --help message format.
	* Improve documentation.
	* Merge overlapping read pairs.
	* Layout and merge contigs using sequence overlap graph.
	* Attempt to fill scaffold gap with consensus of all paths between
	contigs.

	abyss-pe:
	* Attempt to fill scaffold gap with consensus of all paths between
	contigs.

	AdjList:
	* Increase the default value of m from 30 to 50.

	abyss-overlap:
	* Increase the default value of m from 30 to 50.
	* New options, --tred and --no-tred. Remove transitive edges.
	Default --tred.

	abyss-mergepairs:
	* New program. Merges overlapping read pairs.

	ABYSS-P:
	* Bug fix. Exit when there is a problem reading a file.
	* Don't store sequences in the rank 0 process when using at least
	1000 cores. Improves memory distribution with large number of
	cores.

	abyss-fac:
	* Increase the default value of t from 200 to 500.

	DistanceEst:
	* Bug fix. Exit with success if there is only one contig. Fixes
	this error:
	DistanceEst: DistanceEst.cpp:534: int main(int, char**): Assertion `in' failed.
	* Bug fix. Fix the bug causing this error:
	DistanceEst: error: The observed fragment of size 128 bp is shorter than 2*l (l=71). Decrease l to 64.
	* Bug fix. Correctly estimate distance using MLE when l=0.

	abyss-layout:
	* New program. Layout contigs using the sequence overlap graph.

	abyss-map:
	* Return helpful error when query ID starts with '@`
	* New options, --chastity and --no-chastity. Ignore chastity
	failed reads. Default --no-chastity.

	abyss-samtobreak:
	* New script. Calculate contig and scaffold contiguity and
	correctness metrics.

	abyss-fixmate:
	* New option, l. Minimum alignment length. Set unmapped flag if
	the CIGAR match length is too small.
	* Print all alignments when the histogram output file not given.
	* Print SAM header to the same file when given.

2012-05-30  Shaun Jackman  <sjackman@bcgsc.ca>

	* Release version 1.3.4.
	* Do not extend paths, which can cause misassemblies.
	* Increase the default value of m from 30 to 50.
	* Various portability fixes.

	abyss-pe:
	* Increase the default value of m from 30 to 50 to reduce the
	likelihood of misassemblies.
	* Integrate with SLURM. Thanks to Timothy Carlson.

	ABYSS:
	* Use CityHash64 rather than Bob Jenkins' hashlittle.

	SimpleGraph:
	* Do not extend paths. Closes #8. Extending paths can cause
	misassemblies when the de Bruijn graph is incomplete.

	MergePaths:
	* Bug fix. Closes #6. Fix the bug causing the error:
	Assertion `!m_ambig' failed.

	abyss-fatoagp:
	* New script. Create a FASTA file of scaftigs and an AGP file.

2012-03-13  Shaun Jackman  <sjackman@bcgsc.ca>

	* Release version 1.3.3.
	* New parameter, l. Specify the minimum alignment length when
	aligning the reads to the contigs.
	* Improve the scaffolding algorithm that identifies repeats.
	* Improve the documentation.

	abyss-pe:
	* New parameter, l. Specify the minimum alignment length when
	aligning the reads to the contigs. This option may be specified
	per library. The default value is k.
	* New parameter, S. Specify the minimum contig size required for
	building scaffolds.
	* New parameter, N. Specify the minimum number of pairs required
	for building scaffolds.
	* Integrate with Load Sharing Facility (LSF).
	* Calculate the assembly contiguity statistics.

	KAligner, abyss-map:
	* Rename the minimum alignment length option -k to -l.

	DistanceEst:
	* Dual licensed under the GPL and BCCA-Academic licenses.
	* New options, --fr and --rf. Specify the orientation of the
	library. The default behaviour is to detect the orientation.
	* New options, --mind and --maxd. Specify the minimum and maximum
	distances for the maximum likelihood estimator.
	* New option, -l, --min-align. Specify the minimum alignment
	length of the aligner, which can improve distance estimates.
	* Increase the default minimum mapping quality, -q, to 10, was 1.

	MergePaths:
	* Bug fix. Fix the bug causing the error:
	Assertion `count(it2+1, path2.end(), pivot) == 0' failed.

	PathConsensus:
	* Bug fix. Fix the bug causing the error:
	Assertion `fstSol.size() == sndSol.size()' failed.

	MergeContigs:
	* Calculate the assembly contiguity statistics.

	abyss-scaffold:
	* Improve the algorithm that identifies repeats.
	* Remove simple cycles from the scaffold graph.
	* Calculate the assembly contiguity statistics.
	* The option -s may specify a range, such as -s200-10000,
	to find the value of s that maximizes the scaffold N50.

	abyss-fac:
	* New option, -m, --mmd. Output MultiMarkdown format.

	abyss-index:
	* New option, -a, --alphabet. Specify the alphabet.
	* New option, --bwt. Output the Burrows-Wheeler transform.

	abyss-samtoafg:
	* New script. Convert a SAM file to an AMOS AFG file.

	README, README.html, abyss-pe.1:
	* Improve the documentation.

2011-12-13  Shaun Jackman  <sjackman@bcgsc.ca>

	* Release version 1.3.2.
	* Enable scaffolding by default.
	* Remove small shim contigs.
	* Improved distance estimates.
	* Reduce sequence duplication.
	* Read compressed files on Mac OS X.

	abyss-pe:
	* Enable scaffolding by default. If the mp parameter is not
	specified, use a default value of ${pe} or ${lib}.
	* Support using bowtie2 to align reads to contigs by specifying
	aligner=bowtie2.
	* The default aligner is abyss-map.
	* Output the scaffold overlap graph, ${name}-scaffolds.dot.
	* Set DYLD_FORCE_FLAT_NAMESPACE to read compressed files on OS X.

	ABYSS:
	* Can read k-mer count data from a Jellyfish file with extension
	.jf for k-mer counts or .jfq for q-mer counts. Jellyfish must be
	installed.
	* Bug fix. Fix the bug causing the error
	bool chomp(std::string&, char): Assertion `s.length() > 1' failed.

	abyss-filtergraph:
	* New program. Remove small shim contigs that add no useful
	sequence to the assembly. Thanks to Tony Raymond (tgr).

	PopBubbles:
	* New option, -a, --branches. Specify the maximum number of
	branches of a bubble that may be popped. Default is 2.
	* Use DIALIGN-TX for multiple sequence alignment. Thanks to tgr.

	DistanceEst:
	* Improved distance estimates.

	abyss-joindist:
	* Remove this program. Use abyss-todot instead.

	MergePaths:
	* Use a non-greedy algorithm that reduces sequence duplication but
	may reduce contiguity. The greedy algorithm may be used by
	specifying the option --greedy.

	abyss-fixmate:
	* Do not output query names by default.

	configure:
	* New option, --enable-samseqqual. Enable SAM sequence and quality
	fields.

2011-10-24  Shaun Jackman  <sjackman@bcgsc.ca>

	* Release version 1.3.1.
	* Read sequence files in SRA format. The tool fastq-dump from the
	sratoolkit must be installed.
	* Read a contig overlap graph in the ASQG format of SGA.
	* Fix compile errors for Mac OS X.
	* Fix the bug that caused the line number of an error in a FASTQ
	file to be reported incorrectly.

	abyss-pe:
	* Support using BWA-SW to align reads to contigs by specifying
	aligner=bwasw.
	* The parameter ALIGNER_OPTIONS may be used to specify a different
	value for k when aligning using abyss-map.
	* New target, bam, may be used to produce a final BAM file of the
	reads aligned to the scaffolds.

	KAligner:
	* Fix the bug causing the error:
	Assertion `qstep >= 0 && qstep <= m_hashSize' failed.

	abyss-scaffold:
	* The result is independent of the order in which the mate-pair
	libraries are specified.
	* Permit scaffolding contigs that have non-numeric identifiers.
	* The overlap graph is optional.

	abyss-todot:
	* Convert adj, dist or ASQG formatted graph files to dot format.
	* Merge multiple graph files into one.

2011-09-09  Shaun Jackman  <sjackman@bcgsc.ca>

	* Release version 1.3.0.
	* Use mate-pair libraries to scaffold contigs.
	* Support CASAVA-formatted FASTQ files.
	* Bug fix. Do not trim quality 41 bases from the ends of reads.
	* Boost C++ Libraries are required to compile ABySS.

	abyss-pe:
	* New parameter, mp, to specify the mate-pair libraries to be used
	for scaffolding.
	* Increase the default value for s from 100 to 200.
	* Set the default value for n to 10.
	* Integrate with PBS.

	abyss-scaffold:
	* New program. Scaffold using mate-pair libraries.

	DistanceEst:
	* Ignore multimapped alignments with a mapping quality of zero.
	* New option, -q, --min-mapq. Ignore alignments with mapping
	quality less than this threshold. Default is 1.
	* Do not use OpenMP 3.0.

	PopBubbles:
	* Scaffold over complex bubbles with the option --scaffold.
	Disabled by default.

	MergePaths:
	* Fix a bug that causes PathOverlap to die with the error:
	Distance get(edge_bundle_t, const Graph&, ContigNode, ContigNode):
	Assertion `e.second' failed.
	* New option, --no-greedy. Use a non-greedy algorithm that reduces
	sequence duplication but reduces contiguity. Disabled by default.

	KAligner:
	* Performance improvements. Thanks to Tony Raymond (tgr).
	* The output is printed in the same order as the input when
	multithreaded. (tgr)

	abyss-map:
	* New program. Use the BWT and FM-index to find the longest common
	substring. To use it, specify the option aligner=map to abyss-pe.

	abyss-index:
	* New program. Build a FM-index of a FASTA file.

	abyss-bowtie:
	* Use abyss-tofastq --interleave to speed up abyss-fixmate.

	abyss-bwa:
	* Use bwa index -a bwtsw by default.
	* Use abyss-tofastq --interleave to speed up abyss-fixmate.

	abyss-fac:
	* Report N80, N50 and N20. Do not report median and mean.
	* Increase the default minimum contig size threshold, option -t,
	from 100 to 200.

	abyss-fixmate:
	* Set the mapping quality of both alignments to the minimum
	mapping quality of the pair of alignments.

	abyss-tofastq:
	* New option, -i, --interleave. Interleave the files.

	configure:
	* New option, --with-boost. Specify the path for Boost.
	* New option, --disable-popcnt. Do not use the popcnt instruction.

2011-04-15  Shaun Jackman  <sjackman@bcgsc.ca>

	* Release version 1.2.7.

	abyss-pe:
	* Support using bwa or bowtie to align reads to contigs.
	Specify aligner=bwa or aligner=bowtie.
	* Integrate with IBM LoadLeveler.

	PopBubbles:
	* Use an affine gap penalty.
	* The default maximum bubble length is 10 kbp.
	* New option, --scaffold. Scaffold over bubbles with insufficient
	sequence identity to be popped.

	SimpleGraph:
	* New parameter d to specify the acceptable error of a distance
	estimate. The default is 6 bp.

	PathConsensus:
	* Use an affine gap penalty.

	MergePaths:
	* Fix a bug that causes PathOverlap to die with the error:
	Distance get(edge_bundle_t, const Graph&, ContigNode, ContigNode):
	Assertion `e.second' failed.

2011-02-07  Shaun Jackman  <sjackman@bcgsc.ca>

	* Release version 1.2.6.
	* Find contigs that overlap by fewer than k-1 bp.
	* Pop bubbles with sufficient sequence identity.
	* Merge paths that overlap unambiguously.

	abyss-pe:
	* New parameter, m, the minimum number of overlapping bases.
	The default is 30.
	* The minimum sequence identity parameter, p, applies to both
	PopBubbles and PathConsensus.

	ABYSS:
	* Support values of k larger than 96. The maximum value of k is
	set when compiling using `configure --enable-maxk´.

	AdjList:
	* Find sequences that overlap by fewer than k-1 bp. The parameter
	m specifies the minimum number of overlapping bases.

	PopBubbles:
	* Align both branches of the bubble and pop bubbles whose sequence
	identity is sufficient, at least 90% by default.
	* New parameter, p, the minimum identity required.
	* The maximum bubble size is unlimited by default. This limit can
	be changed using the parameter b.

	SimpleGraph:
	* Extend each path as long as is unambiguously possible.

	PathOverlap:
	* Merge paths that overlap unambiguously.

	MergeContigs:
	* Perform an alignment of the two sequences when no simple overlap
	is found.

	abyss-fac:
	* New option, -g. Specify the expected genome size.

2010-11-15  Shaun Jackman  <sjackman@bcgsc.ca>

	* Release version 1.2.5.

	AdjList:
	* Fix the colour-space-specific bug causing the error
	Assertion `seq.length() > (unsigned)opt::overlap' failed.

	PathConsensus:
	* Fix the bug causing the error
	Assertion `fstSol.size() == 1' failed.

	abyss-fixmate:
	* Do not output the @RG header record at the end of the output
	that gives the median fragment size. It breaks `samtools view -S`.
	* --no-qname: New option. Set the qname to *.

2010-10-13  Shaun Jackman  <sjackman@bcgsc.ca>

	* Release version 1.2.4.

	ABYSS-P:
	* Fix the bug causing the error
	Unexpected sequence extension message.

	KAligner:
	* Reduce the amount of memory used by KAligner.

	PathConsensus:
	* New program. Replace gaps of Ns that span a region of ambiguous
	sequence with a consensus sequence of the possible sequences that
	fill the gap. By default a minimum 90% identity is required. This
	default can be changed with the parameter, p. The consensus
	sequence uses IUPAC-IUB ambiguity codes. DIALIGN-TX is used for
	the multiple sequence alignment.

	PathOverlap:
	* Fix the bug causing the error
	Assertion `back(paths, u) == front(paths, v)' failed.

2010-09-08  Shaun Jackman  <sjackman@bcgsc.ca>

	* Release version 1.2.3.

	ABYSS-P:
	* Bug fix. Fix the bug causing the error
	Assertion `m_comm.receiveEmpty()' failed.

	PopBubbles:
	* Bug fix. Fix the bug causing the error
	error: unexpected ID

	PathOverlap:
	* Include the single-end contigs in the overlap graph.

	abyss-pe:
	* Output an overlap graph of the paired-end assembly in the file
	${name}-contigs.dot.
	* Do not create the intermediate file ${name}-4.fa.

	abyss-adjtodot:
	* Convert an overlap graph in adj format to Graphviz dot format or
	SAM alignment format.

2010-08-25  Shaun Jackman  <sjackman@bcgsc.ca>

	* Release version 1.2.2.
	* Merge contigs after popping bubbles.
	* Handle multi-line FASTA sequences.
	* Report the amount of memory used.
	* Most tools can output their results in SAM format, including
	AdjList, KAligner, ParseAligns and PathOverlap.

	abyss-pe:
	* New command, se-dot. Output a Graphviz dot file of the
	single-end assembly.

	ABYSS:
	* Handle multi-line FASTA sequences.
	* Report the amount of memory used.
	* Improve error messages for incorrectly-formatted FASTA files.
	* Bug fix. Improved handling of palindromes.

	PopBubbles:
	* Merge contigs after popping bubbles.
	* Bug fix. Do not pop bubbles resulting from palindromes.

	KAligner:
	* Report the amount of memory used.
	* New option, --sam. Output the alignments in SAM format.

	ParseAligns, DistanceEst:
	* Bug fix. The CIGAR string was oriented with respect to the
	query rather than with respect to the target, which is standard.

	AdjList, PathOverlap:
	* New option, --sam. Output the adjacency graph in SAM format.

	abyss-fixmate:
	* New program. Similar to samtools fixmate, but does not require
	that the input be sorted by query ID, although it is faster if it
	is sorted.

2010-07-12  Shaun Jackman  <sjackman@bcgsc.ca>

	* Release version 1.2.1.
	* Handle reverse-forward oriented mate pair libraries.
	* Improved distance estimates, particularly with large fragment
	libraries.

	abyss-pe:
	* New commands:
	se-contigs: Assemble single-end contigs.
	pe-contigs: Assemble paired-end contigs (default).
	se-sam: Output a gzipped SAM file of the single-end assembly.
	se-bam: Ouptut a BAM file of the single-end assembly.
	pe-dot: Output a Graphviz dot file of the paired-end assembly.
	all: Sam as se-bam pe-contigs pe-dot.
	* Options for one particular library may be specified:
	lib='lib1 lib2' lib2_s=1000 lib2_n=25
	* Input sequence may come from an arbitrary command, which is
	useful to assemble a region of an aligned BAM file:
	in='<(samtools view genome.bam chr10)'

	ABYSS:
	* Bug fix. When reading SAM/BAM files, the quality format
	incorrectly defaulted to ASCII-64, when it should be ASCII-33.

	ABYSS-P:
	* May use the Intel MPI library.

	ParseAligns:
	* Count the number of forward-reverse, reverse-forward and
	forward-forward oriented alignments.

	DistanceEst:
	* Handle reverse-forward oriented mate pair libraries.
	* Improved distance estimates, particularly with large fragment
	libraries.
	* Remove duplicate mate pairs.
	* Print a pretty UTF-8 bar plot of the fragment-size distribution.
	* Multithreaded using OpenMP. The -j, --threads option specifies
	the number of threads to use.
	* Performance improvment.

	Overlap:
	* Handle cases when more than one gap occurs within the mate pair
	fragment size.

	SimpleGraph:
	* Performance improvment.

	MergePaths:
	* Handle the case when a circular sequence is assmembled into a
	single contig.

	abyss-tofastq:
	* New program. Convert qseq, export, SAM and BAM files to FASTA or
	FASTQ format. The files may be compressed with gz, bz2 or xz and
	may be tarred.

2010-05-25  Shaun Jackman  <sjackman@bcgsc.ca>

	* Release version 1.2.0.
	* Scaffold over gaps in coverage and unresolved repetitive
	sequence using Ns.
	* Read sequence from SAM and BAM files.

	abyss-pe:
	* Set q=3 by default. Trim bases from the ends of reads whose
	quality is less than 3.
	* Do not store the .pair.gz file.
	* Generate a BAM file of the mate pairs that align to
	different contigs of the single-end assembly. Disabled by default.
	* Output a Graphviz dot file of the paired-end assembly.
	Disabled by default.
	* Store the bubbles in ${name}-bubbles.fa rather than bubbles.fa.
	* Store the indel bubbles in ${name}-indel.fa.
	* Bug fix for mawk.

	ABYSS:
	* Set -E0 when coverage is low (<2).

	ABYSS-P:
	* Remove the temporary files contigs-*.fa and snp-*.fa.

	PopBubbles:
	* Output in Graphviz dot format using --dot.

	KAligner:
	* Do not ignore sequences (reads or contigs) containing N.
	* Output SAM headers (but not SAM alignments).

	ParseAligns:
	* Output in SAM format.

	DistanceEst:
	* Input in SAM format.
	* Output in Graphviz dot format using --dot.

	Overlap:
	* Scaffold over gaps in coverage. Scaffolding can be disabled
	using the option --no-scaffold.
	* Merge contigs that overlap at simple repeats. These merges can
	be prevented using the option --no-merge-repeat.

	SimpleGraph:
	* Scaffold over repeats. Scaffolding can be disabled using the
	option --no-scaffold.

	MergePaths:
	* Merge paths containing ambiguous sequence.
	* Multithreaded using OpenMP. The -j, --threads option specifies
	the number of threads to use.

	MergeContigs:
	* Merge paths and contigs containing ambiguous sequence.

	PathOverlap:
	* Output in Graphviz dot format using --dot.

	Consensus:
	* Output the pileup in samtools format.

2010-02-15  Shaun Jackman  <sjackman@bcgsc.ca>

	* Release version 1.1.2.

	ABYSS:
	* Read tar files including compressed tar files.
	* New parameter -b, --bubble-length=N. Pop bubbles shorter than
	N bp. The default is b=3*k.

	AdjList:
	* Include the contig coverage in the output.
	* The script abyss-adjtodot converts an ABySS adjacency file to
	GraphViz dot format.

	PopBubbles:
	* Pop bubbles resulting from indels.

	KAligner:
	* Synchronize the threads periodically (every ten thousand
	alignments by default) to ease the computational burden on
	ParseAligns. This synchronization can be disabled using --sync=0.
	* Use two threads by default.

	abyss-pe:
	* New parameter, b.
	* Use two threads by default.
	* The read length argument, l, is deprecated. To emulate the
	behaviour of ABySS 1.0.14 and older, set t=6*(l-k+1). The default
	is t=k.

2010-01-19  Shaun Jackman  <sjackman@bcgsc.ca>

	* Release version 1.1.1.

	ABYSS:
	* Pop complex bubbles either completely or not at all. Bubble
	popping now completes in a single round.
	* Choose better (typically lower) default values for the
	parameters -e,--erode and -c,--coverage. The default threshold is
	the square root of the median k-mer coverage.

2009-12-18  Shaun Jackman  <sjackman@bcgsc.ca>

	* Release version 1.1.0.
	* The output format of AdjList, DistanceEst and SimpleGraph has
	changed to be more humanly readable.

	ABYSS:
	* New options, -q, --trim-quality. Trim bases from the ends of
	reads whose quality is less than the specified threshold.
	--standard-quality: zero quality is `!' (33)
	default for FASTQ files
	--illumina-quality: zero quality is `@' (64)
	default for qseq and export files
	Thanks to Tony Raymond.

	SimpleGraph:
	* Multithreaded. The -j, --threads option specifies the number of
	threads to use.
	* Expand tandem repeats when it is possible to determine the exact
	number of the repeat.

	MergePaths:
	* Bug fix. A repeat that is larger than the fragment size could
	be misassembled. Thanks to Tony Raymond.

	abyss-pe:
	* Determine the parameter j (number of threads) by finding the
	number of slots allocated on the head node in the PE_HOSTFILE.
	* Store the k-mer coverage histogram in coverage.hist.

2009-11-13  Shaun Jackman  <sjackman@bcgsc.ca>

	* Release version 1.0.16.
	* Improve the performance and memory usage of KAligner and
	AdjList, particularly for very large data sets.

	KAligner:
	* Improve memory usage when maxk is 32 or 96. No change when maxk
	is the default 64.
	* New option, -i, --ignore-multimap. Ignore any duplicate k-mer in
	the target sequence. Thanks to Tony Raymond.

	AdjList:
	* Improve performance for very large data sets.

	ParseAligns:
	* For reads whose ID begins with `SRR', expect that the forward
	and reverse read have identical ID and no suffix, such as
	/1 and /2.

2009-10-19  Shaun Jackman  <sjackman@bcgsc.ca>

	* Release version 1.0.15.

	ABYSS:
	* New options, -e, --erode and -E, --erode-strand.
	The parameter e erodes bases at the ends of blunt contigs with
	coverage less than the specified threshold.
	The parameter E erodes bases at the ends of blunt contigs with
	coverage less than the specified threshold on either strand.
	* New feature. If the parameters e and c are not specified,
	attempt to choose appropriate values based on the observed k-mer
	coverage. This feature will work best for higher coverage data.
	For lower coverage data, setting e=c=2 is reasonable.
	* New option, --trim-masked. Removed masked (lower case) sequence
	at the beginning and end of the read. Disable with
	--no-trim-masked.
	* The read length, l, is an optional parameter. If the read length
	is specified, the trim parameter, t, will default to 6*(l-k+1), as
	before. If the read length is not specified, t will be set to the
	same value as k. For longer reads or when k is less than 85% of l,
	it should not be necessary to specify l. The parameter t may be
	specified directly if desired.

	DistanceEst:
	* Bug fix. The standard deviation could be calculated incorrectly
	for larger numbers, particularly for libraries with large fragment
	sizes. Thanks to Tony Raymond.

	Overlap:
	* Bug fix. If Overlap found mate pairs on the same contig with
	incorrect orientation, it would generate a misassembled contig.
	These misassembled contigs are easily identified in the
	xxx-3-overlap.fa file. The two contigs IDs, in the fourth and
	fifth column, will be identical.
	* New option, --mask-repeat. If two contigs are joined by mate
	pairs and are found to overlap by a simple repeat so that the
	exact number of the repeat is unknown, join the contigs estimating
	the number of the repeat, and mask (lower case) the repeat
	sequence. This feature is disabled by default.

	abyss-pe:
	* Use gunzip -c rather than zcat for portability.

	configure:
	* New option, --enable-mpich. Use the MPICH2 MPI library.

2009-09-08  Shaun Jackman  <sjackman@bcgsc.ca>

	* Release version 1.0.14.
	* Read files compressed with xzip (.xz) and compress (.Z).

	abyss-pe:
	* Assemble multiple libraries with different fragment sizes.
	* New manual page.

	ABYSS:
	* Don't necessarily discard reads that contain an N. Keep those
	k-mer that do not contain an N.

	ABYSS-P:
	* Serially renumber the contigs output by ABYSS-P using awk.

2009-08-26  Shaun Jackman  <sjackman@bcgsc.ca>

	* Release version 1.0.13.
	* Read files compressed with gzip (.gz) or bzip2 (.bz2).

	ABYSS-P:
	* Bug fix. Fix a race condition in the erosion algorithm.

2009-08-18  Shaun Jackman  <sjackman@bcgsc.ca>

	* Release version 1.0.12.

	abyss-pe:
	* Both ABYSS and KAligner are run only once per assembly, which
	speeds up the paired-end assembly by nearly a factor of two.
	* The k-mer coverage information is correct in every contig file.
	* A new parameter, cs, converts colour-space contigs to nucleotide
	contigs using Consensus.
	* A new parameter, ABYSS_OPTIONS, may be used to disable chastity
	filtering by specifying ABYSS_OPTIONS=--no-chastity.

	ABYSS:
	* Read files in export format, which is similar to qseq format.
	* Discard reads that failed the chastity filter. Use the
	--no-chastity option to retain these unchaste reads. Chastity
	filtering affects only qseq- and export formatted-files.
	* Remove low-coverage contigs within ABYSS rather than filtering
	using awk and reassembling.
	* Support big-endian architecture machines.

	KAligner:
	* A new option, -m or --multimap, specifies that a duplicate k-mer
	may be seen in the target sequence. By default, every k-mer in the
	target sequence must be unique.
	* A new option, --seq, prints the read sequence of each alignment.

	Overlap:
	* A new option, --scaffold, fills the gap between two blunt
	contigs with Ns. This feature is disabled by default.

	Consensus:
	* Call the consensus sequence for each contig based on the
	alignment of reads to contigs.
	* Convert colour-space contigs to nucleotide contigs.
	* Written by Tony Raymond.

2009-07-21  Shaun Jackman  <sjackman@bcgsc.ca>

	* Release version 1.0.11.
	* Assemble colour-space reads. Read identifiers must be named with
	the suffixes F3 and R3.
	* Read files in qseq format. Thanks to Tony Raymond (tgr).
	* Prevent misassemblies mediated by tandem segmental duplications.
	A sequence XRRY, where R is a repeat sequence, could have been
	misassembled as XRY. (tgr)

	abyss-pe:
	* Integrate with Sun Grid Engine (SGE). A parallel, paired-end
	assembly can be run with a single qsub command. The parameters
	lib, np and k default to the qsub environment variables JOB_NAME
	(qsub -N), NSLOTS (qsub -pe) and SGE_TASK_ID (qsub -t)
	respectively.
	* The .pair file, the largest intermediate file, is now gzipped.

	ABYSS-P:
	* Bug fix. At k=19, k-mer would be distributed to even-numbered
	processes only.

	KAligner:
	* Multithreaded. The -j, --threads option specifies the number of
	threads to use. The order in which the alignments are output will
	vary from run to run, but the alignments are deterministic and
	will not vary. Each thread reads and aligns one file, so the reads
	must be in more than one file to use this feature. (tgr)

2009-06-18  Shaun Jackman  <sjackman@bcgsc.ca>

	* Release version 1.0.10.

	abyss-pe:
	* Start an MPI ABySS assembly if the np option is specified.

	ABYSS:
	* For a non-parallel assembly, allocate more hash buckets to allow
	for large single-machine jobs.
	* Print the hash load during the loading process.

	KAligner:
	* Output the IDs of reads that do not align.
	* Print a progress report of the number of reads aligned.

	ParseAligns:
	* To reduce memory usage, do not track reads that did not align.
	KAligner and ParseAligns should now be able to handle any number
	of reads in a single run.

	MergePaths:
	* Number paired-end contigs so that their IDs do not overlap with
	the single-end contigs. If a single-end contig is not used in a
	paired-end contig, its ID will not change.
	* Merge overlapping paired-end contigs that were previously
	being missed in some situations.

	configure:
	* Print a warning if Google sparsehash was not found.

2009-05-15  Shaun Jackman  <sjackman@bcgsc.ca>

	* Release version 1.0.9.

	abyss-pe:
	* Allow multiple input files specified by the parameter `in'.
	* Support reading FASTA or FASTQ file formats.

	KAligner:
	* Support using Google sparsehash to reduce memory usage.
	Google sparsehash does not provide a multimap, so KAligner built
	using Google sparsehash cannot handle a duplicate k-mer in the
	reference sequence. It will print an error message and die if a
	duplicate k-mer is encountered. If Google sparsehash is not used,
	the standard STL multimap will be used which does permit duplicate
	k-mer.
	* Support reading the query sequence from standard input.

	ParseAligns:
	* Significantly reduce memory usage if the mate reads are
	encountered one after the next in the same file.

2009-04-02  Shaun Jackman  <sjackman@bcgsc.ca>

	* Release version 1.0.8.
	* Bug fix. Fix the undefined behaviour causing the error
	Assertion `marked == split' failed.

2009-03-31  Shaun Jackman  <sjackman@bcgsc.ca>

	* Release version 1.0.7.
	* Use a mark-and-sweep trimming algorithm to remove errors at the
	ends of blunt contigs.
	* The parallel (ABYSS-P) trimming algorithm is now deterministic;
	it will produce the same result every time. In addition, the
	result of the parallel trimming algorithm is identical to the
	result of the non-parallel trimming algorithm.
	* Start trimming branches at length 1, previously 2.
	* Bug fix in ABYSS-P. Repeat sequences of k-1 bases could
	potentially be misassembled. Use a mark-and-sweep algorithm to
	split ambiguous edges before contig generation. The previous
	algorithm was not deterministic.
	* Reduce memory usage by 200 MB by removing the MPI transmit
	buffer.
	* Bug fix in ABYSS-P. Fix an additional race condition in the
	erosion algorithm.

2009-03-24  Shaun Jackman  <sjackman@bcgsc.ca>

	* Release version 1.0.6.
	* Bug fix. Fix a race condition in the erosion algorithm.
	* For the parallel program (ABYSS-P), after bubble popping perform
	as many trimming rounds as necessary to remove all the tips, as
	the non-parallel program does.
	* New script, abyss2afg, to create an AMOS AFG assembly.

2009-03-11  Shaun Jackman  <sjackman@bcgsc.ca>

	* Release version 1.0.5.
	* Portability fixes. Tested with g++ 4.3.3.

2009-03-04  Shaun Jackman  <sjackman@bcgsc.ca>

	* Release version 1.0.4.

	ABYSS:
	* Remove the need to specify a -e,--erode parameter by improving
	the erosion algorithm to complete in a single pass.
	* Remove the default limit on the maximum number of bubble
	popping rounds. A limit may be specified using -b,--bubbles.
	* Generate a warning if an input file is empty, but do not die.
	* When using a Google sparsehash, allocate room for 100 million
	k-mers.
	* Increase the maximum FASTA line length from 64 kB to 256 kB.
	* Require only one of either -l,--read-length or -t,--trim-length
	to be specified.
	* Allow read pairs to be named `_forward' and `_reverse'.
	* Ensure that exactly k-1 bases of context is given on each side
	of the bubble sequence. Previously, one side would have k bases of
	context, and the other side would have k-1 bases.
	* Add command line options to each of the paired-end programs.

	ABYSS-P:
	* Use Open MPI as the default MPI library.
	* Do not link against the Open MPI C++ library.

	abyss-pe:
	* Use pipes where possible to avoid intermediate files.
	* The semantics of the n argument have changed. See DistanceEst
	-n,--npairs below.

	SimpleGraph:
	* If more than one path is found but only one meets all of the
	constraints, use it.
	* Allow for some constant error in distance estimates that does
	not decrease with the number of samples. The expected fragment
	size seems to vary with genomic coordinate to a certain degree.
	So, the distribution of fragment size spanning two given contigs
	may differ from the empirical distribution by a roughly constant
	offset.

	DistanceEst:
	* The semantics of the -n,--npairs option has changed.
	Require at least NPAIRS pairs between contigs (>= NPAIRS).
	Previously, required strictly more than NPAIRS pairs between
	contigs (> NPAIRS).
	* Give the estimated error to a single decimal place.
	* When counting the number of pairs that join two contigs, only
	count pairs that fit the empirical distribution.
	* When deciding whether the pairs joining two contigs are
	inconsistent in sense, require NPAIRS read pairs joining two
	contigs in each sense before considering the pair data to be
	inconsistent.

	ParseAligns:
	* Measure fragments in total size, not alignment distance.
	* Allow a read that spans two contigs to be used in distance
	estimates.
	* Add the -h,--hist option to produce a histogram.
	* Bug fix. When measuring the empirical fragment size, ensure that
	the sense of the alignments is correct. Output a negative fragment
	size if the reverse read aligns ahead of the forward read.
	* Bug fix. Miscalculated the fragment size estimate between two
	contigs if they did not have the same sense and one contig
	required flipping. It was possible to see one distance estimate
	from contig A to contig B and a differing estimate from contig B
	to contig A. Typically, the distance estimate would be off by
	one.

2009-01-23  Shaun Jackman  <sjackman@bcgsc.ca>

	* Release version 1.0.3.
	* Merge contigs that ended due to a lack of coverage, but which
	are connected by paired-end reads and overlap unambiguously.
	* Track the multiplicity the sense and antisense strand
	separately. Erode the end of a blunt contig until it is
	represented by both strands.
	* Ignore the case of the nucleotide sequence of a FASTA file.
	* Increase the maximum FASTA line length from 1 kB to 64 kB to
	allow loading contigs.
	* Output the path through the single-end contigs in the comment
	field of the paired-end contig.
	* In the paired-end driver script, abyss-pe,
	Implement a coverage cutoff, c.
	Pass the erosion parameter, e, to the single-end assembler.

2008-11-21  Shaun Jackman  <sjackman@bcgsc.ca>

	* Release version 1.0.2.
	* Terminate contig extension at palindromic k-mers.
	* If erosion (-e,--erode) is enabled, remove the tips of blunt
	contigs that are represented only once.

2008-11-07  Shaun Jackman  <sjackman@bcgsc.ca>

	* Release version 1.0.1.
	* Portability improvements to compile for Mac OS X.

2008-08-07  Shaun Jackman  <sjackman@bcgsc.ca>

	* Release version 1.0.
