Normalize reads (convert to all uppercase chars) before verifying them.
Add flag to compile code with extra sanity checking (with about a 15% to 20% performance loss).
Create high performance macro version of the 'toupper' function and use for normalization.
Use quicker code when extra sanity checking disabled: reduce number of calls to the 'toupper' function.
Break down critical sections into smaller critical sections and atomic operations.
(EXPERIMENTAL) Allow slightly sloppy high counts in multi-threaded operation.
Reduce MAX_COUNT threshold for counting hash bins to accomodate some slop from multiple threads crossing the threshold.
Add support for writing out a hashtable to the 'load_graph' driver program.
Merge branch 'refactor' into mt-reader
added report-to-file option for diginorm
Merge branch 'refactor' into refactor_qp
minor cleanup of QP count_overlap code
oops, incorrect report formula
Improve output of 'load_graph' driver program.
before 2nd edition
Merge branch 'count_overlap' of https://github.com/ctb/khmer into refactor
Create configuration interface, 'khmer:: Config',  in C++ API.
Create Python wrapper for 'khmer:: Config'.
Create methods to get and set the number of threads in the configuration interface.
Create methods to get hash bin counting thresholds in the configuration interface.
Only allow number of threads to be set when codes are built with 'KHMER_THREADED' defined.
Note: C++ API allows multiple config objects (with one active at any given time), but Python wrapper effectively works with a singleton for now. The bookkeeping required to keep the wrapper objects synchronized with the underlying API does not seem worth the dubious benefit of multiple config objects at this time.
Create tests for khmer:: Config.
Tweak Python wrapper slightly for more cosmetic output in interpreter.
Ensure that driver programs are linked with khmer_config.o.
added memory tracking script
added proper tagset-building flag
cleaned up output for easier human reading
Hoist user-tweakable knobs from lib/Makefile to Makefile.
Refine interaction between lib/Makefile and the build of the bundled zlib.
Dynamically generate python/setup.py according to user-tweakable knobs which are set. (Automatically maintains consistency with what is built in lib.)
No longer track and ignore automatically generated python/setup.py in version control.
Breakout the automatic generation of setup.py into a separate make rule.
Merge branch 'refactor' into mt-reader
Add 'has_extra_sanity_checks' method to 'khmer:: Config'.
Update Python wrapper and tests accordingly.