Releases: COMBINE-lab/piscem
v0.8.0
Install piscem 0.8.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/COMBINE-lab/piscem/releases/download/v0.8.0/piscem-installer.sh | sh
Download piscem 0.8.0
File | Platform | Checksum |
---|---|---|
piscem-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
piscem-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
piscem-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
v0.7.3
Install piscem 0.7.3
Changes
- Changed the default working directory for files created during index construction
- This was previously the current directory
.
and has been made.workdir.noindex
. This was done to avoid the temporary creation of many files in the current directory, which could be messy if the execution was terminated early. The.noindex
extension is geared at preventingSpotlight
from indexing this folder by default on OSX.
- This was previously the current directory
- Moved to the cloudflare-based
zlib
implementation, rather than standardzlib
by default inpiscem-cpp
. - Added default values for the k-mer (31) and minimizer (19) lengths.
- Grouped many command line parameters under help headings to better organize the output of the
--help
flag. - Added better parameter validation for the k-mer length (must be <= 31 and odd).
- Updated crate dependencies, and upgraded
cargo-dist
version to 0.10.0.
Special thanks to @ialbert for noticing the poor interaction between the cuttlefish
temporary files and spotlight
and for suggesting placing these in a subdirectory by default, and also for suggesting adopting defaults for the k-mer and minimizer lengths.
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/COMBINE-lab/piscem/releases/download/v0.7.3/piscem-installer.sh | sh
Download piscem 0.7.3
File | Platform | Checksum |
---|---|---|
piscem-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
piscem-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
piscem-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
v0.7.2
Install piscem 0.7.2
From the perspective of functionality, this release is identical to piscem 0.7.1
. The main purpose of this release is to introduce the auto-generated cargo dist
-powered builds. This should make it easy to automatically create and release pre-compiled binaries for major platforms using GitHub runners. Below, you'll find binaries for Apple silicon, OSX (x86_64), and linux (x86_64). You can also install piscem
directly into your cargo
binary directory using the shell script command below.
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/COMBINE-lab/piscem/releases/download/v0.7.2/piscem-installer.sh | sh
Download piscem 0.7.2
File | Platform | Checksum |
---|---|---|
piscem-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
piscem-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
piscem-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
piscem v0.7.1
This release adds the ability to (optionally) provide a seed parameter for SSHash construction. In rare situations, SSHash construction can fail due to empty buckets in the skew index (this is a technical detail you need not be concerned with as a user). Usually, this issue can be resolved by just attempting to build the index again with a different seed. The --seed
option to piscem build
will allow you to set the seed used in construction (the default seed is 1
).
Piscem v0.7.0
This release of piscem
adds the ability to index decoy sequencing using the "distinguishing flanking k-mer" methodology described in Hjörleifsson and Sullivan et al.1. This variant of considering decoy sequences that is optimized to work with pseudoalignment and pseudoalignment-like approaches where alignment scores are unavailable (unlike the approach of 2, which is designed to work with selective-alignment).
The implementation in piscem
adopts the terminology of "poison" k-mers — that is, the decoy sequence is used to create a separate table of poison k-mers whose presence will cause a read to be discarded, rather than to map to some target in the index. Poison k-mers are simply distinguishing flanking k-mers that belong to some decoy sequence, and hence their presence in a mapping should "poison" the mapping (i.e. lead to it being discarded).
To build a decoy-aware index, one simply passes the --decoy-paths
argument to piscem build
. This accepts a ,
separated list of FASTA files that will be used to generate the poison k-mer set. This will create a separate data structure (the poison table) that will be used to filter fragments that are potentially mapped spuriously to the index.
Likewise, when performing mapping, if a poison table has been built, it will be used by default. However, you can pass the --no-poison
flag to map-bulk
and map-sc
to avoid considering poison k-mers, even if the index was constructed with a poison table.
piscem v0.7.0-beta
version 0.7.0-beta
piscem v0.6.3
Fixes a silly bug in the streaming iterator used for mapping that could sometimes cause a k-mer lookup to fail. Observed differences should be very small, but this fix can lead to more precise (i.e. better) mappings.
piscem v0.6.2
Expand fix from v0.6.1 to the alternative (non-shared minimizer) streaming query.
piscem v0.6.1
This release fixes a bug in streaming query that could, in rare circumstances, result in a segmentation fault (coming from the C++ piscem-cpp
library). The corresponding issue was tracked here for those interested, and is resolved in this release.
piscem v0.6.0
This version fixes an issue in the streaming canonical query class that is used to speed up index search for streaming queries. There were specific variables tracking state that were not always properly reset. As a result, a small number of queries could return invalid results (usually causing the corresponding reads not to map). This commit addresses this issue. The effect was quite rare (occurring in ~0.01-0.02% of reads), but the streaming query results now always match the results one would get without using the streaming optimization.