#mass-spectrometry #proteomics #biology

no-std numpress

A pure rust implementation of ms-numpress, a fast, minimally lossy compression algorithm for mass spectrometry data

11 stable releases

Uses old Rust 2015

1.1.0 Nov 20, 2018
1.0.10 Nov 20, 2018
1.0.7 Oct 31, 2018

#276 in Compression


Used in 2 crates

BSD-3-Clause-Clear/Apache-2.0

25KB
531 lines

numpress

Build Status Latest Version

A pure rust implementation of ms-numpress, a fast, minimally lossy compression algorithm for mass spectrometry data.

Getting Started

// Compress floats to bytes
let floats: Vec<f64> = vec![100., 101., 102., 103.];
let compressed: Vec<u8> = numpress_compress(&decoded, DEFAULT_SCALING)?;

// Decompress floats from bytes.
let decompressed: Vec<f64> = numpress_decompress(&compressed)?;

Documentation

Numpress's documentation can be found on docs.rs.

Dependency

Numpress is available on crates.io. Use the following in Cargo.toml:

[dependencies]
numpress = "1.0"

License

Like the original ms-numpress implementation, this code is open source. It is dual licensed under the Apache 2.0 license as well as the 3-clause BSD license. See the LICENCE-BSD and the LICENCE-APACHE files for the licenses.

Contributing

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in numpress by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

No runtime deps