Releases: rrwick/Polypolish
Polypolish v0.6.0
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 ...
- Previously:
- 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 addspolypolish
to the end of the description (addresses #7).- Previously:
>name info
→>name_polypolish
- Currently:
>name info
→>name info polypolish
- Previously:
There are also a few smaller changes:
- Fixed a bug with determining read orientation, which could result in too many reads being filtered out.
- Removed the
polypolish_human_readable.py
script, because this now lives here: https://github.com/rrwick/Perfect-bacterial-genome-tutorial/blob/main/scripts/compare_assemblies.py - Added qscore to estimated accuracy in stderr output.
Tarballs of pre-built executable binaries are attached:
polypolish-linux-x86_64-musl-v0.6.0.tar.gz
: for Linux systems with x86-64 processorspolypolish-macos-x86_64-v0.6.0.tar.gz
: for Macs with x86-64 Intel processorspolypolish-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
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 processorspolypolish-macos-x86_64-v0.5.0.tar.gz
: for Macs with x86-64 Intel processorspolypolish-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
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 processorspolypolish-macos-x86_64-v0.4.3.tar.gz
: for Macs with x86-64 Intel processorspolypolish-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
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 processorspolypolish-macos-x86_64-v0.4.2.tar.gz
: for Macs with x86-64 Intel processorspolypolish-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
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 processorspolypolish-macos-x86_64-v0.4.0.tar.gz
: for Macs with x86-64 Intel processorspolypolish-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
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
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
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
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
The first release of Maskimap. It's still a bit rough and inefficient in places, but it works!