- Data::Read::ClipTo on quality values
- Allow description array in positional args
- Cleaned up CLI parsing error messages
- Fixed FireAndForget exception handling
- Fixed alarm API for empty file
- Update nlohmann/json to 3.11.2
- ValidateCigar
- LeftAlignCigar
- UnorderedMap, UnorderedSet
- KMerIndex, LSHIndex, FastMod
- Concurrent queues (SPSC, MPMC) from rigtorp
- Updated robin_hood to v3.11.5
- C++20 is now a hard minimum.
- Heteroduplex finder algorithm
- Fisher's exact test
- "--all-help" and "--show-all-help" to CLI, to include hidden options in help output
- Update JSON impl to 3.10.4
- Catch out of bounds in Sparc
- Add Sparc implementation from unanimity
- Add TimeReporter for conditionally logging timing info
- Add "research use only" disclaimer to help display
- Add context message for missing positional arg in CLI
- Add scientific notation support in CLI
- Add confusion matrix helper
- Utility::Shuffle for portable alternative to std::shuffle
- Parallel::Dispatch to submit jobs to an existing FireAndForget
- Read.h pulse width is now optional to allow kinetic-free subreads as input
- Interval tree from unanimity
- Sparse POA implementation, outsourced from unanimity
- edlib wrapper API
- "Normalized" thread count utility
- Add KSW2
- Support ARM compile target
- Add SIMDE to third-party sources
- Base64 encoding/decoding
- (Simplified) alarm file can be created for general exceptions
- Utility::StringView as std::string_view look-a-like
- Support for hidden CLI subtools
- Support for alternate frame codecs
- Accuracy explicitly allows -1, otherwise clamps to [0.0, 1.0]
- Fixed FaF and FaFI exception handling
- PartitionElements utility
- Version printing callbacks for CLI
- Ssize utility
- Knock-first graph
- VERBOSE log level
- Dagcon API
- LibraryInfo API
- Now using (signed) Data::Position in Data::Read.
- Data::SNR values changed from double to float.
- ReadId from CCS read names
- More robust random number generators (for UUIDs).
- getrandom() requires Linux kernel 3.17+
- getentropy() requires glibc 2.25+
- Unused SystemInfo utility
- CLI version 1 (pbcopper/cli/*)
- pbmer API - DeBruijn graph & kmers
- AlarmException for generating JSON alarms
- Allow SI suffixes in command line arguments
- std::ostream redirection utilities
- Double-precision in Stopwatch
- WorkQueue deadlock if exception was thrown in consumer task
- InstallSignalHandlers() from logging
- Consolidated & cleanup of core data structures shared between pbcopper/unanimity/pbbam
- CLI_v2 now maintains logger setup & lifetime
- Alarms API
- Alignment algorithms from unanimity (local alignment, semi-global, affine, etc)
- Unused CallbackTimer
- Unused PacBio::Stream utilities
- CLI_v2::Results::NumProcessors() changed to CLI_v2::Results::NumThreads() for clarity.
- Convenience methods for CLI_v2 clients: default log level override, explicit access to built-ins, built-in 'num-threads' option.
- Reports module
- C++14 is now a hard minimum.
- Headers emulating C++14 features for C++11.
- New (opt-in) CLI version 2.
- Requires C++14 at minimum.
- Minor ToolContract::Config API change.
- WorkQueue for parallel execution
- UNUSED macro to no-op method
- Encapsulate project version and git sha1
- RSMovieName & RSReadName: Sequel and RSII movie names are composed of different data, and thus need to be handled separately. MovieName & ReadName handle Sequel-style data as the default.
- GoogleTest/GoogleMock in third-party/googletest
- Access to input command line from PacBio::CLI::Results
- QGramIndex & seed results
- Added support for new tool contract data model: option choices & modified JSON format.
- Added basic option groups to CLI::Interface.
- PacBio::CLI : command-line parsing & tool-contract integration
- CLI - entry-point methods for parsing args & invoking application callback
- Interface - define application's options, description, etc.
- Results - contains the results of arg parsing (or resolved tool contract), will be passed to the application callback
- ToolContract sub-namespace: contains all APIs for setting up tool contract integration
- PacBio::Data: main data types & data structures
- Interval, Position, Zmw - basic data types (same as pbbam)
- MovieName - query parts of a PacBio movie name
- ReadName - query parts of a PacBio read name
- PacBio::JSON : JSON support
- Json - wrapper around nlohmann::json
- PacBio::Logging : logging utilities
- Logger, LogMessage, etc - basic logging (same as pbccs)
- PacBio::Stream : functional-programming-like data streaming
- data Source, Sink, & Transform typedefs
- instantiated with client-defined 'callables' (lambdas, free functions, static public member functions)
- connected via operator >>
- PacBio::Utility : miscellaneous utilities
- CallbackTimer - schedule periodic callback invokation (or delayed single-shot)
- EnumClassHash - allows enums/enum classes to be used as STL hash keys
- Stopwatch - timer for benchmarking, logging, etc
- StringUtils - string dicing & splicing utilities
- SystemInfo - currently provides endianness
- Examples
- cli_demo - playground for testing the command line interface
- Tests
- Unit tests for all classes/modules added