Skip to content

Releases: maaskola/discrover

1.6.0

14 Mar 20:50
Compare
Choose a tag to compare

This release brings some minor user-facing feature improvements:

  • insertion states can now have self-transitions
  • the Cairo-based motif logo plotting code now properly supports insertion states
  • text rendering has been improved for insertion states
  • text output during program execution has been slightly prettified
  • the miscellaneous Ruby scripts have been removed

Among the removed Ruby scripts is also the former LaTeX/TikZ-based motif logo plotting tool tikzlogo. With the introduction of proper insertion state handling in this release, all of the essential functionality of tikzlogo is now available in the Cairo-based plotting code.

1.5.3: Fix remaining Coverity issues

31 Jan 17:44
Compare
Choose a tag to compare

This release fixes all remaining Coverity issues. Aside from one case of an uninitialized variable, the other issues were not problematic. Thus, this is mostly a maintenance release.

All Coverity issues, except for one false-positive, have been fixed in this release. Among these issues was an uninitialized variable, the other issues were were minor:

  • some exceptions that Boost might throw are now handled; likely, these exceptions would never have been generated anyway, as they did not depend on any user input at all, and were thus far never observed.
  • Coverity (falsely) complained that stream states were not restored; this was in fact done, which Coverity did not recognize, but the handling has now been improved.
    The remaining Coverity issue is a false-positive: Coverity reports a likely copy-paste error, which however is definitely none.

1.5.2

29 Jan 00:32
Compare
Choose a tag to compare

This patch release has an improvement relevant only for building on Gentoo.

Gentoo likes to install documentation under /usr/share/doc/$NAME-$VERSION where $NAME is the name of a package and $VERSION its version number. The previous configuration of this package lead to documentation files being installed in /usr/share/doc/discrover, while some of these were additionally also installed to /usr/share/doc/discrover-1.5.1.
This has now been fixed by making it possible to specify the target installation directory for documentation files in the CMake configuration step via cmake .. -DDOC_DIR=/usr/share/doc/discrover-1.5.2.

1.5.1

26 Jan 00:39
Compare
Choose a tag to compare

This patch release adds man pages, improves documentation, and has some changes to the build process.

Man pages have been written.

Documentation changes:

  • improved CLI help
  • improved PDF manual

Build process changes:

  • don't use -march=native by default.
    It is recommended to use an environment variable such as CXXFLAGS for this.
    This allows to produce binaries also usable on CPUs different from the one compiled on.
    One might perhaps want to set
    CXXFLAGS="-mtune=generic"
    or
    CXXFLAGS="-march=native"
    depending on whether the binaries should be distributed or are only used on the own system.
  • use -fPIC and -fPIE to produce position independent code

1.5.0

18 Jan 14:03
Compare
Choose a tag to compare

Apart from documentation improvements, there is only one user-facing new feature in this release: BED files of the occurrences of discovered motifs are now generated.

A small bug was fixed in the sequence plotting code introduced in the previous release series (very small, yet non-zero probabilities led to plotting problems).

The release offers improved documentation:

  • the manual is more comprehensive and offers recipes for motif analysis of ChIP-Seq data and of next-generation sequencing data for RNA-binding proteins.
  • the command line help has also been improved and explains more options accurately and in detail.

Furthermore, error handling has been improved and additional warnings have been implemented. A consequence of this is that erroneous input is now gracefully handled with informative messages, rather than leading to program abortion. For example when the user unintentionally provides a non-FASTA file or an empty FASTA file, a warning is emitted.

Finally, this release also incorporates changes suggested by the Coverity Scan service which help to make the motif discovery experience with Discrover more robust.

1.4.1

05 Jan 04:48
Compare
Choose a tag to compare

This patch release creates symlinks for the generated sequences logos when the --multiple switch is used. There are also some updates to the manual.

The previous release introduced automatic generation of sequences logos. In the multiple-motif mode, selected by the command line switch --multiple, many sets of output files are generated. The final, accepted model's files are marked by a tag accepted. The previous release failed to respect the sequence logos when creating these symlinks. This has now been fixed.

The updates to the manual include a brief explaination how the multiple motif mode is used. There are also some minor spelling corrections and further improvements to the text.

1.4.0

03 Jan 22:55
Compare
Choose a tag to compare

This release introduces new, Cairo-based sequence logo plotting code.

The previous solution, tikzlogo, was a Ruby script that generated LaTeX/TikZ code, compiled that to PDF, and also generated PNG files with the help of convert from Imagemagick. Now, discrover uses the new Cairo-based code and by default immediately generates PDF and PNG sequence logos of the discovered motifs. Also plasma can generate sequence logos (although it doesn't do that by default, and you have to use the options --pdf and --png if you wish so).

The same Cairo-based sequence logo creation routines are also available in a new, separate program discrover-logo. This program can create sequence logos from .hmm files, from IUPAC regular expression motifs, as well as from files containing matrix motifs.

The advantage of relying on Cairo for that job is that it dispenses with having to depend on the presence of relatively large LaTeX installations.
Conversely, Cairo is a relatively small library (at least compared to full LaTeX installations) that is available on all targeted platforms.

1.3.1

11 Dec 11:55
Compare
Choose a tag to compare

This new patch version has only minor updates in the manual.

The reason for releasing this patch version is that the Discrover 1.3.0 packages were lacking dependencies for the LaTeX standalone package. Hence, after installation the tikzlogo script would not work. This should be fixed with this relase.

1.3.0

06 Dec 19:28
Compare
Choose a tag to compare

Plasma, although already quite fast, got a speed-up in this release. This is enabled by a 4-bit sequence encoding which makes matching IUPAC symbols faster. It appears the new release reduces runtime of plasma by a third or so.

Also, a bug in plasma was fixed that manifested in multi-motif mode.
When looking for multiple motifs, after a motif is found its occurrences in the sequences were masked with N characters. This lead to a bug because in the previous IUPAC matching routine there was initially a check whether query and reference characters were identical. Thus, when the query character was fully degenerate, i.e. N, then a query N would successfully match to a position masked due to a previously found motif occurrence. This bug resulted in over-counting of motifs with Ns at the beginning or end.
The bug was found by comparing differences in the output of the new, 4-bit sequence encoding based approach (which did not use the faulty routine) with the previous one.
The bug had no impact when only the top motif was searched for.

1.2.0

03 Dec 00:16
Compare
Choose a tag to compare

New feature: conditional motif likelihood
This feature can be used during the evaluation stage (i.e. after models have been learned) by using the --condmotif command line switch.
It computes for each position the conditional motif likelihood. This is defined as the emission probabilities of the motif for the subsequent positions. This differs from the --posterior command line switch in that the latter also takes into account the whole HMM (i.e. also transition probabilities, as well as emission probabilities of the background) rather than only the motifs' emission probabilities.