Skip to content

Commit

Permalink
3.4.2
Browse files Browse the repository at this point in the history
  • Loading branch information
andrewprzh committed Jul 13, 2024
1 parent 5a5e31d commit caf5ea2
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 3 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,11 +85,11 @@ IsoQuant further performs annotated gene, isoform, exon and intron quantificatio
If reads are grouped (e.g. according to cell type), counts are reported according to the provided grouping.

IsoQuant consists of two stages, which generate its own output:
1. Reference-based analysis. Runs only if reference annotation is provided. Performs read-to-isofrom assignment,
1. Reference-based analysis. Runs only if reference annotation is provided. Performs read-to-isoform assignment,
splice site correction and abundance quantification for reference genes/transcripts.
2. Transcript discovery. Reconstructs transcript models and performs abundance quantification for discovered isoforms.

IsoQuant version 3.4 was released under GPLv2 on May 9th, 2024 and can be downloaded from [https://github.com/ablab/IsoQuant](https://github.com/ablab/IsoQuant).
Latest IsoQuant version can be downloaded from [https://github.com/ablab/IsoQuant/releases/latest](https://github.com/ablab/IsoQuant/releases/latest).

#### IsoQuant pipeline
![Pipeline](figs/isoquant_pipeline.png)
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.4.1
3.4.2
24 changes: 24 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,29 @@
# IsoQuant changelog

## IsoQuant 3.4.2, 13 July 2024

- Dramatically reduce RAM consumption.
Should fix [#209](https://github.com/ablab/IsoQuant/issues/209).

IsoQuant 3.4.2 was tested on a simulated ONT dataset with 30M reads using 12 threads.
In the default mode RAM consumption decreased from 280GB to 12GB when using
the reference annotation and from 230GB down to 6GB in the reference-free mode.
Running time in the default mode increased by approximately 20-25%.
When using `--high_memory` option, running time remains the same as in 3.4.1,
RAM consumption in the reference-based mode is 46GB, and 36GB in the reference-free mode.
Note, that in general RAM consumption depends on the particular data being used and the number of threads.

In brief, in 3.4.0 and 3.4.1 inadequate RAM consumption was caused by
[this commit](https://github.com/ablab/IsoQuant/commit/557e5834d0503587b918a0eedf3ff5cee3253141).
Apparently, adding a couple of `int` fields to the `BasicReadAssignment` class made the default pickle serialization
not to clean used memory (possibly, a leak). Since some large lists of `BasicReadAssignment` were sent between
processes, this caused the main process to consume unnecessary RAM. When later new processes were created
for GTF construction, total RAM consumption exploded thanks to the way Python multiprocessing works.
This release implements two ways fixing the issue: sending objects via disk (default) and
using custom pickle serialization (when `--high_memory` is used).

- Transcript and exon ids are now identical between runs, including ones with different number of threads.

## IsoQuant 3.4.1, 9 May 2024

- Fixes `IndexError: list index out of range` when `--sqanti_output` is set ([#186](https://github.com/ablab/IsoQuant/issues/186)).
Expand Down

0 comments on commit caf5ea2

Please sign in to comment.