#bioinformatics #writer #genomic

pooled-writer

Library for using N threads to write to M compressed files/writers

2 unstable releases

0.3.0 Dec 23, 2022
0.2.0 Mar 4, 2022

#357 in Compression


Used in fqtk

MIT license

37KB
470 lines

pooled-writer

Build Status license Version info

A pooled writer and compressor.

This library is intended for scenarios where the number of writers you have is >= the number of threads you want to use for writing.

Note that this is an alpha release and the API could change drastically in future releases.

Documentation and Examples

Please see the generated Rust Docs.

How to use in your project

Add the following to your Cargo.toml dependencies section, updating the version number as needed.

[dependencies]
pooled-writer = "*"

By default this will come with a BGZF compressor. If that is not needed then add the default-features = true specifier to the dependency declaration above (i.e. pooled-writer = {version = "*", default-features = false}).

How to build and test locally

Assuming you have cloned the repo and are in the top level:

cargo test
# The following test is more comprehensive and may take up to 10 minutes to run
cargo test -- --ignored

How to publish

This assumes that you have installed cargo-release via cargo install cargo-release and have set up credentials with crates.io.

cargo release <patch|minor|major>

Dependencies

~1–6MB
~35K SLoC