Minor tweaks.
Minor tweaks.
Refactor 'Hashbits:: consume_fasta_and_tag' to be more like 'Hashtable:: consume_fasta'.
(Note: Still need to work on thread-safety of 'consume_sequence_and_tag'.)
Create spinlock for use around accesses to 'all_tags'.
Provide complete spinlock protection for 'all_tags' set in 'Hasbits::consume_sequence_and_tag' method.
Refactor GIL release/acquisition for 'consume_fasta' wrapper to handle an exceptional condition properly.
Ignore Vi temp files in 'scripts' directory.
Create convenience function for extracting read parser from wrapping Python object. Remove some unused code.
Create Python wrapper for 'Hashbits::consume_fata_and_tag' which uses a Python read parser object instead of a filename.
Factor out some reporting logic in scripts.
Allow the 'load-graph.py' tagging script to use multiple parser threads.
Merge from branch 'ged-lab:bleeding-edge' to branch 'spartanem:threading'.
Create 'ReadPair' type. Create new methods for working with read pairs. (Code builds but is not fully implemented yet - this commit exists so that I'll feel like I accomplished something today.)
Merge branch 'ged-lab:bleeding-edge' into branch 'spartanem:read-pairs'.
Hoist compiled regexes out of 'ParserState' objects and pray that their contents are used in a read-only manner across all threads.
Implement paired reading mode which ignores unpaired reads.
Finish implementing paired reading mode which errors on unpaired reads.
(Note: Code compiles but still needs to be hooked in API and tested.)
Minor tweaks to 'ReadParser' exception handling and iterator support.
Begin construction of 'ReadPairIterator' in Python wrapper.
Hook up most of the mahinery for read pair iterators in the Python wrapper.
(Note: Still need to convert ReadPair objects to tuples for output from iterator function proper.)
Streamline processing of read pairs on C++ side.
Finish hooking support for iteration over read pairs into Python wrapper.
Improve nomenclature within Python wrapper.
Return read pair iterator object from 'iter_read_pairs' method of read parser.
Translate 'InvalidReadPair' exceptions from C++ to Python 'ValueError' exceptions.
Add class dictionary to wrapped 'ReadParser' type for pairing mode constants.
(Note: Still need to debug why this is not working.)
Create a logger instance within the Python wrapper module.