Skip to content

Releases: rrwick/Polypolish

Polypolish v0.6.0

15 Jan 02:26
Compare
Choose a tag to compare

This release of Polypolish includes a few big changes:

  • The insert-size filtering step used to be implemented in a separate Python script named polypolish_insert_filter.py. I have now implemented it in Rust with the rest of Polypolish. This is faster and Polypolish now exists as a single executable file with two subcommands:
    • Previously: polypolish_insert_filter.py ..., currently: polypolish filter ...
    • Previously: polypolish ..., currently: polypolish polish ...
  • There is a new --careful option which makes Polypolish ignore any read with multiple alignments. This is extra-conservative and recommended for very-low-depth polishing.
  • Polypolish used to discard sequence descriptions in its output and it appended _polypolish to the sequence names. Now it retains sequence descriptions and adds polypolish to the end of the description (addresses #7).
    • Previously: >name info>name_polypolish
    • Currently: >name info>name info polypolish

There are also a few smaller changes:

Tarballs of pre-built executable binaries are attached:

  • polypolish-linux-x86_64-musl-v0.6.0.tar.gz: for Linux systems with x86-64 processors
  • polypolish-macos-x86_64-v0.6.0.tar.gz: for Macs with x86-64 Intel processors
  • polypolish-macos-aarch64-v0.6.0.tar.gz: for Macs with Apple silicon processors

If none of the above work for you, you'll need to build Polypolish from source (see the Installation page on the wiki).

Polypolish v0.5.0

12 Jan 23:02
Compare
Choose a tag to compare

This release of Polypolish adds an alignment pre-processing script: polypolish_insert_filter.py. This can be optionally run before Polypolish to reduce excess alignment around repeats, which I have found to improve the accuracy. Read more about it on the wiki.

This release also:

  • Contains better error messages for incorrect CIGAR strings in the input alignments.
  • Updates some code dependencies

Tarballs of pre-built executable binaries are attached:

  • polypolish-linux-x86_64-musl-v0.5.0.tar.gz: for Linux systems with x86-64 processors
  • polypolish-macos-x86_64-v0.5.0.tar.gz: for Macs with x86-64 Intel processors
  • polypolish-macos-aarch64-v0.5.0.tar.gz: for Macs with Apple silicon processors

If none of the above work for you, you'll need to build Polypolish from source (see the Installation page on the wiki).

Polypolish v0.4.3

31 Aug 01:11
Compare
Choose a tag to compare

This release replaces the --min_ratio logic of the previous version with a more robust system. Briefly, there are now two depth thresholds, a lower one (set by --fraction_invalid) and a higher one (set by --fraction_valid). Changes will only occur when a single sequence is above the higher threshold and any other sequences present are below the lower threshold. See the wiki for more detail.

This release may therefore produce slightly different output than the previous release (v0.4.2).

Tarballs of pre-built executable binaries are attached:

  • polypolish-linux-x86_64-musl-v0.4.3.tar.gz: for Linux systems with x86-64 processors
  • polypolish-macos-x86_64-v0.4.3.tar.gz: for Macs with x86-64 Intel processors
  • polypolish-macos-aarch64-v0.4.3.tar.gz: for Macs with Apple silicon processors

If none of the above work for you, you'll need to build Polypolish from source (see the Installation page on the wiki).

Polypolish v0.4.2

03 Aug 04:38
Compare
Choose a tag to compare

This release adds a couple of small changes to reduce the chance of false positives (the introduction of an errors into an assembly):

  • Assembly positions with a read depth less than --min_depth will not be changed, even if there is a valid base over the threshold.
  • If the best option at an assembly position is too close to the second-best option, it will not be changed (threshold controlled with the new --min_ratio option).

This release may therefore produce slightly different output than the previous release (v0.4.0).

Tarballs of pre-built executable binaries are attached:

  • polypolish-linux-x86_64-musl-v0.4.2.tar.gz: for Linux systems with x86-64 processors
  • polypolish-macos-x86_64-v0.4.2.tar.gz: for Macs with x86-64 Intel processors
  • polypolish-macos-aarch64-v0.4.2.tar.gz: for Macs with Apple silicon processors

If none of the above work for you, you'll need to build Polypolish from source (see the Installation page on the wiki).

Polypolish v0.4.0

27 Jul 01:08
Compare
Choose a tag to compare

This is the first release of Polypolish to be implemented in Rust! It produces identical output to v0.3.2 but with much better performance and much lower RAM usage.

Tarballs of pre-built executable binaries are attached:

  • polypolish-linux-x86_64-musl-v0.4.0.tar.gz: for Linux systems with x86-64 processors
  • polypolish-macos-x86_64-v0.4.0.tar.gz: for Macs with x86-64 Intel processors
  • polypolish-macos-aarch64-v0.4.0.tar.gz: for Macs with Apple silicon processors

If none of the above work for you, you'll need to build Polypolish from source (see the Installation page on the wiki).

Polypolish v0.3.2

21 Jul 04:53
Compare
Choose a tag to compare

This version contains a few small changes to the program's stderr output and the debug file. The actual polishing output (stdout) is not changed.

I made these changes so this Python-based implementation of Polypolish would have equivalent output to the Rust-based implementation I've been working on.

Since this is the last Python-based release of Polypolish, I've saved the wiki to PDF and attached it here. This is because when the next (Rust-based) version of Polypolish is released, I'll change the software/installation sections of the wiki. If you're interested in the source code for Python-based Polypolish, you can find it in this repo's python branch.

Polypolish v0.3.1

14 Jul 01:39
Compare
Choose a tag to compare

This release:

  • Adds support for any number of SAM files.
  • Changes the input assembly and SAM files to be positional arguments.
  • Reduces memory usage.

The algorithm hasn't changed, so the output should be identical to that produced by Polypolish v0.3.0.

Polypolish v0.3.0

01 Jul 01:30
Compare
Choose a tag to compare

After a fair bit of experimenting, I've decided to pivot a bit and change this from a read mapping tool to a polishing tool. The tool was nearly doing polishing anyway, so I tried just making it a polisher, and it worked quite well. This also allowed me to greatly simplify the code.

Since it's no longer a read mapping tool, a name change was needed. Maskimap is dead, long live Polypolish!

Maskimap v0.2.0

07 May 05:55
Compare
Choose a tag to compare

This release should produce the same output as the previous one (v0.1.0), but I've used Cython to speed things up a bit.

Maskimap v0.1.0

06 May 03:30
Compare
Choose a tag to compare

The first release of Maskimap. It's still a bit rough and inefficient in places, but it works!