Skip to content

Commit 7b930b6

Browse files
committed
RLS Version 1.6.0-beta2
Changes with respect to 1.5.0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * NGLess is now based on a new implementation written in Rust (previous versions were written in Haskell). It is intended as a compatible replacement: the same scripts produce the same results. * NGLess now supports a single language version, "1.6". Scripts must declare `ngless "1.6"`; declaring an older version (including "1.5") is now a hard error. Update the version statement at the top of your scripts to `ngless "1.6"`. * Built-in modules (`parallel`, `samtools`, `mocat`, ...) now track the ngless version: import them at version "1.6" going forward. Older module versions are still accepted (with the latest behaviour) but print a deprecation warning. * Removed the deprecated `strand` argument to `count()`; use `sense` (`{both}`/`{sense}`/`{antisense}`) instead. `strand=True` is equivalent to `sense={sense}`. * Removed the deprecated `--search-dir` command-line flag (use `--search-path`) and the unimplemented `--check-deprecation` flag. * The output content hash reported by `auto_comments=[{hash}]` (and used to name parallel lock/stats directories) is now computed with a simpler internal serialization. It is still deterministic and content-addressed, but the hash *values* differ from previous releases (they are an internal identifier, not a stable cross-version value). * ngless now writes an HTML run report again (the `<script>.output_ngless/` directory, or the location given by `-o`/`--html-report-directory`; disable with `--no-create-report`). The report is a single self-contained `index.html` that embeds its data and makes no network requests, so it works offline on compute clusters (the old report loaded AngularJS, jQuery, Bootstrap and d3/nvd3 from CDNs). It shows the script (with links to the quality-control and mapping statistics), the run log, per-file FASTQ QC with per-position quality charts, and mapping statistics. The script listing is syntax-highlighted. The directory also contains `script.ngl`, `fq.tsv` and `mappings.tsv`. Inline scripts (passed with `-e`/`--script`) do *not* write a report by default (they are typically quick one-liners); pass `--create-report` or `-o`/`--html-report-directory` to force one. * Importing the legacy `motus` or `soap` modules now aborts with a clear guidance error (both are obsolete and unsupported) * `count()` now errors early when more than one annotation source is given (seqname mode, `gff_file`, `functional_map`, or `reference`) instead of silently ignoring all but one * A constant out-of-bounds list index (e.g. `x[5]` on a 3-element list) now fails early, right after the list is assigned, with the same "Index access on line N is invalid" message as earlier ngless versions * Added the `{always_3_fq_files}` format flag to `write()` * Better suggestions for mistyped arguments/flags (matching by prefix, e.g. `ref=` for `reference=`) Changes with respect to 1.6.0-beta1 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * The build now supports a single language version, "1.6": a script declaring "1.5" (which beta1 still accepted with a warning) is now a hard error. * Removed the deprecated `count()` `strand` argument (use `sense`), the `--search-dir` command-line flag (use `--search-path`), and the unimplemented `--check-deprecation` flag. * The internal output content hash (`auto_comments=[{hash}]` and parallel lock/stats directory names) is computed differently, so its values differ from beta1. It remains deterministic and content-addressed. * Otherwise beta2 restores a large set of features that beta1 had not yet ported from earlier ngless versions -- transparent `.xz` support, the HTML run report, parallel-module progress reporting, `format={sam|bam}` on `write()`, `preprocess(keep_singles=False)`, `auto_comments=[{date}]`, reference-based `count()`, enhanced FASTQ QC statistics, broader external module support, and several performance and UX improvements.
1 parent 4198d21 commit 7b930b6

1 file changed

Lines changed: 4 additions & 1 deletion

File tree

pixi.toml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,10 @@ preview = ["pixi-build"]
99
[tasks]
1010

1111
[package]
12-
version = "1.6.beta1"
12+
# For "normal" versions, this can come from Cargo.toml, but for pre-releases,
13+
# we need to specify it here because of difference conventions between Cargo
14+
# and conda (-beta vs .beta).
15+
version = "1.6.beta2"
1316

1417
[package.build]
1518
backend = { name = "pixi-build-rust", version = "*" }

0 commit comments

Comments
 (0)