Changelog for NGLess-1.5.0

Version 1.5.0 2022-09-14 by luispedro * Add `compress_level` option to `write()` function * Add ability to specify samples using YAML format * Make 'assemble' return NGLSequenceSet type and add sequenceset to external modules * Allow `::` in names (for module::function notation) * Add `run_for_all` in parallel module * Support .xz compressed files in load_fastq_directory * Add `names()` method to readset * Add ``println()`` function * Make ``print()`` accept ints and doubles as well as strings * Write log to .failed files when using the parallel module * Fix bug where failhooks were not triggered for uncaught exceptions * Change order of testing for locks in the parallel module for a more robust protocol Version 1.4.2 2022-07-21 by luispedro * Fix bug with parsing GFF files Version 1.4.1 2022-06-03 by luispedro * Fix bug with split mapping * Fix packaging for hackage Version 1.4.0 2022-05-30 by luispedro * Add --trace argument to all modes * Update --create-reference-pack mode to newer format (previous version worked, but users still had to recreate indices after downloading, negating some of the benefits * Update --install-reference-data mode to download latest version (#107) * Update --create-reference-pack mode to download latest version (#108) * Do not fail when merging empty files (#113) * write() returns the filename used * Switch to tasty test framework * Update to LTS-19 * write() uses multiple threads to write multiple FQ files * Use binaries from path (not self installed) * Better error message when parsing misformed FastQ files * Overhall building infrastructure to use haskell.nix and build dependencies with nix * Update megahit version * Added GMGC to builtin Modules * Make `--print-path minimap2` work correctly Version 1.3.0 2021-01-28 by luispedro * Validate count() headers on --validate-only * Better error message if the user attempts to use the non-existent <\> operator (suggest </>) * Add min-ngless-version field for modules * Add early check that block assignments are always to block variables * Use ZStd compression for temporary files from preprocess() * Correctly handle subpaths in samples for collect (fixes #141) * Add to_string() to int and double types (partially fixes #78 & fixes #81) * Add read_int() and read_double() functions (fixes #78) Version 1.2.0 2020-07-12 by luispedro * Add load_fastq_directory to builtin functions * Better messages when using `lock1` * Enable specifying *all* module resources by URL with download on first use * Fix CIGAR reinjection bug * Remove old motus/specI modules * No longer ship JS libraries (also do not expand them in-place) Version 1.1.0 2020-01-25 by luispedro * Reintroduce zstd compression (after fixes upstream) * Fix CIGAR interpretation (#109) occurring when I is present * Call bwa mem so that it behaves in a deterministic way (independently of the number of threads used) * Add `include_fragments` option to orf_find * Add early check for column headers in `count()` * Update to LTS-14.1 (fixes #116) * Add ``sense`` argument to `count()` * Add line numbers to FastQ parsing errors * Fix __extra_args argument in map() * Add `discard_singles` function * Add `interleaved` option to fastq() * `load_mocat_sample` now fails if `pair.2` exists but `pair.1` doesn't Version 1.0.1 2019-07-05 by luispedro * Fix bug with external modules and multiple fastQ inputs * Fix bug with resaving input files where the original file was sometimes moved (thus removing it). Version 1.0.0 2019-04-24 by luispedro * Fix multiple features usage (#63) * Update minimap2/megahit to latest versions Version 0.11.1 2019-03-21 by luispedro * Fix reinjectSequence in select() call with blocks * Remove zstd compression * Fix SAM order switching in select() call with blocks (#105) * Compress SAM files after select() calls Version 0.11.0 2019-03-15 by luispedro * Switch to diagrams package for plotting * Update minimap2 version to 2.14 * Module samtools (version 0.1) now includes samtools_view * Update to LTS-13 (GHC 8.6) * Fix bug with orf_find & prots_out argument * Call bwa/minimap2 with interleaved fastq files * Add --verbose flag to check-install mode * Avoid leaving open file descriptors after FastQ encoding detection * Fix bug in garbage collection * Compress intermediate SAM files (#22) * Tar extraction uses much less memory (#77) * Add early checks for input files in more situations (#33) * Support compression in collect() output (#42) * Fix CIGAR (#92) for select() blocks * Add smoothtrim function * Fix lock1()/collect() use with --subsample * Fix compression/decompression when calling external modules Version 0.10.0 2018-11-12 by luispedro * Fix to lock1's return value when used with paths (#68 - reopen) * Support _F/_R suffixes for forward/reverse in load_mocat_sample * samtools_sort() now accepts by={name} to sort by read name * Fixed bug where header was printed even when STDOUT was used * Fixed bug where writing interleaved FastQ to STDOUT did not work as expected * Indices created by bwa and minimap2 are now versioned * arg1 in external modules is no longer always treated as a path * Added expand_searchpath to external modules API (closes #56) * Fixed bug where detection of Fastq encoding was not performed on the second pair * Fix saving fastq sets with --subsample (issue #85) * Add __extra_megahit_args to assemble() (issue #86) * Better error message when user mis-specifies the ngless version string (issue #84) * Support NO_COLOR environment variable (issue #83) * Garbage collection for temporary files (issue #79) * Rename --search-dir to --search-path for consistency with other API * Fix corner case with select() producing incorrect CIGAR strings (#92) * Always check output file writability (#91) * Make paired() accept encoding argument Version 0.9.1 2018-07-17 by luispedro * Add biorxiv citation Version 0.9.0 2018-07-12 by luispedro * Add allbest() method to mappedreads * Output FastQ quality graphs as PNGs * Added MouseGutCatalog module * Added DogGutGeneCatalog module * Added PigGeneCatalog module * Added reference genome for Sus scrofa (pig) * Update IGC module to 0.9 * Continuously update mtime on all lock files * Warn when overwriting files * Version automatically downloaded reference URLs Version 0.8.1 2018-06-05 by luispedro * Update to LTS-11.12 (for faster conduit-algorithms used in collect()) * Add fallback for character encoding on systems with bad locale support * Fixed lock1 when used with paths (#68) * Fixed expansion of searchdir with external modules (#56) Version 0.8.0 2018-05-06 by luispedro * Add minimap2 support as alternative mapper * Faster collect() * Fix writing of multiple compressed files to uncompressed format * Add `n_to_zero_quality` method for short reads * Add </> operator for path manipulation * Fix bug in select (corner case where sequences would be missing from output) * Add non-ATCG fraction field to FastQ statistics * Add reference argument to count() * GFF based counting now expands multi-value sub-features * Update to bwa 0.7.17 Version 0.7.1 2018-03-17 by luispedro * Fix memory leak in count() * Fix when-true flag usage with external modules Version 0.7.0 2018-03-07 by luispedro * Add 'failed' files to parallel lock1() * Add `max_trim` argument to MappedReadSet.filter() * Support saving compressed SAM files * Much faster select() implementation with a block * Fix count's mode {intersection_strict} to no longer behave as {union} * Support for saving interleaved FastQ files * Lower memory usage * More conservative SAM merging in split mode * Compute #Basepairs in FastQ stats * Fix as_reads() for single-end reads * Add headers argument to samfile() * For more situations, avoid intermediate copies in count() * Much improved memory and speed performance of count() * Fix select() corner case Version 0.6.1 2017-12-10 by luispedro * Add --check-install mode * Fix streaming short read QC (performance regression) * Better error message in readlines() when file opening fails * Compute statistics after select() Version 0.6.0 2017-11-29 by luispedro * Add `orf_find` function (implemented through Prodigal) * Add qcstats() function * Output preprocessed FQ statistics (had been erroneously removed) * Fix --strict-threads command-line option spelling * Use multiple threads in SAM->BAM conversion * Change include_m1 default in count() function to True * Add --index-path functionality to define where to write indices (issue #47) * Allow `citations` as key in external modules * Better citations information * Better error checking/script validation * Added reference alias for a more human readable name * Version embedded megahit binary * Updated builtin referenced to include latest releases of assemblies * Fixed inconsistency between reference identifiers and underlying files Version 0.5.1 2017-11-02 by luispedro * Fix building step (static compilation) Version 0.5.0 2017-11-01 by luispedro * First release supporting all basic functionality.