Skip to content

Commit

Permalink
RLS Version 1.5.0
Browse files Browse the repository at this point in the history
The two big changes are:

1. the ability to use Yaml files to specify samples,
2. the introduction of `run_for_all` (and `run_for_all_samples`) functions to simplify the usage of the `parallel` module.

Several of the other changes were then to support these two features.
Additionally, some minor fixes and improvements were made.

Full ChangeLog:

- Add `load_sample_list` function to load samples in YAML format.
- Add `compress_level` argument to `write` function to specify the compression level.
- Added `name()` method to `ReadSet` objects, so you can do:

    input = load_fastq_directory("my-sample")
    print(input.name())

which will print `my-sample`.
- Added `println` function which works like `print` but prints a newline after the output.
- Make `print()` accept ints and doubles as well as strings.
- Added `run_for_all` function to `parallel` module, simplifying its API.
- When using the `parallel` module and a job fails, writes the log to the corresponding `.failed` file.
- External modules can now use the `sequenceset` type to represent a FASTA file.
- The `load_fastq_directory` function now supports `.xz` compressed files.
- The `parallel` module now checks for stale locks **before** re-trying failed tasks. The former model could lead to a situation where a particular sample failed deterministically and then blocked progress even when some locks were stale.

Bugfixes

- The `parallel` module should generate a `.failed` file for each failed job, but this was not happening in every case.
- Fixed parsing of GFF files to support negative values (reported by Josh Sekela on the mailing-list).
  • Loading branch information
luispedro committed Sep 13, 2022
1 parent 7c1e092 commit 342b2de
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 12 deletions.
2 changes: 1 addition & 1 deletion ChangeLog
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Version 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
Expand Down
2 changes: 1 addition & 1 deletion NGLess/Version.hs
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ versionStrLong :: String
versionStrLong = "1.5.0"

dateStr :: String
dateStr = "Unreleased"
dateStr = "14 September 2022"

embeddedStr :: String
#ifdef NO_EMBED_SAMTOOLS_BWA
Expand Down
14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ If you are using NGLess, please cite:

## Example

ngless "1.4"
ngless "1.5"
input = fastq(['ctrl1.fq','ctrl2.fq','stim1.fq','stim2.fq'])
input = preprocess(input) using |read|:
read = read[5:]
Expand Down Expand Up @@ -55,21 +55,21 @@ The recommended way to install NGLess is through
Alternatively, a docker container with NGLess is available at
[docker hub](https://hub.docker.com/r/nglesstoolkit/ngless):

docker run -v $PWD:/workdir -w /workdir -it nglesstoolkit/ngless:1.4.2 ngless --version
docker run -v $PWD:/workdir -w /workdir -it nglesstoolkit/ngless:1.5.0 ngless --version

Adapt the mount flags (``-v``) as needed.

### Linux

You can download a [statically linked version of NGless
1.4.2](https://github.com/ngless-toolkit/ngless/releases/download/v1.4.2/NGLess-v1.4.2-Linux-static-full)
1.5.0](https://github.com/ngless-toolkit/ngless/releases/download/v1.5.0/NGLess-v1.5.0-Linux-static-full)

This should work across a wide range of Linux versions (please
[report](https://github.com/ngless-toolkit/ngless/issues) any issues you encounter):

curl -L -O https://github.com/ngless-toolkit/ngless/releases/download/v1.4.2/NGLess-v1.4.2-Linux-static-full
chmod +x NGLess-v1.4.2-Linux-static-full
./NGLess-v1.4.2-Linux-static-full
curl -L -O https://github.com/ngless-toolkit/ngless/releases/download/v1.5.0/NGLess-v1.5.0-Linux-static-full
chmod +x NGLess-v1.5.0-Linux-static-full
./NGLess-v1.5.0-Linux-static-full

This downloaded file bundles bwa, samtools and megahit (also statically linked).

Expand Down Expand Up @@ -130,7 +130,7 @@ For developers who have done this much more datasets for testing purposes can be
- [Frequently Asked Questions (FAQ)](https://ngless.embl.de/faq.html)
- [ngless mailing list](https://groups.google.com/forum/#!forum/ngless)
- [What's new log](https://ngless.embl.de/whatsnew.html)
- [NGless 1.4.0 Release Documentation](https://ngless.embl.de/whatsnew.html#version-1-4-0)
- [NGless 1.5.0 Release Documentation](https://ngless.embl.de/whatsnew.html#version-1-5-0)

## Authors

Expand Down
8 changes: 5 additions & 3 deletions docs/sources/whatsnew.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,15 @@
What's New (History)
====================

Unreleased (Github version)
---------------------------
Version 1.5.0
-------------

*Released on September 14 2022*

The two big changes are:

1. the ability to use `Yaml <yaml-list.html`__ files to specify samples,
2. the introduction of ``run_for_all`` (and ``run_for_all_samples``) functions to simplify the usage of the ``parallel`` module (see `standard library docs <stdlib.html>`__.
2. the introduction of ``run_for_all`` (and ``run_for_all_samples``) functions to simplify the usage of the ``parallel`` module (see `standard library docs <stdlib.html>`__).

Several of the other changes were then to support these two features.
Additionally, some minor fixes and improvements were made.
Expand Down

0 comments on commit 342b2de

Please sign in to comment.