Skip to content

Commit c390d76

Browse files
Update to verison 0.3.0 for publishing to Cargo
List @Keats, @GSGerritsen, and @boydgreenfield as maintainers.
1 parent 683ae1a commit c390d76

File tree

2 files changed

+16
-3
lines changed

2 files changed

+16
-3
lines changed

Cargo.toml

+13-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,19 @@
11
[package]
22
name = "bfield"
3-
version = "0.2.1"
4-
authors = ["Roderick Bovee <roderick@onecodex.com>"]
3+
description = "B-field datastructure implementation in Rust"
4+
version = "0.3.0"
5+
authors = ["Vincent Prouillet <vincent@onecodex.com>", "Gerrit Gerritsen <gerrit@onecodex.com>", "Nick Greenfield <nick@onecodex.com>"]
6+
homepage = "https://github.com/onecodex/rust-bfield/"
7+
repository = "https://github.com/onecodex/rust-bfield/"
8+
readme = "README.md"
9+
keywords = ["B-field", "probabilistic data structures"]
10+
categories = ["data-structures"]
511
edition = "2018"
12+
license = "Apache 2.0"
13+
exclude = [
14+
".github/*",
15+
"docs/*",
16+
]
617

718
[dependencies]
819
bincode = "1"

README.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
# `rust-bfield`, an implementation of the B-field probabilistic key-value data structure
22

3+
[![Crates.io Version](https://img.shields.io/crates/v/bfield.svg)](https://crates.io/crates/bfield)
4+
35
The B-field is a novel, probabilistic data structure for storing key-value pairs (or, said differently, it is a probabilistic associative array or map). B-fields support insertion (`insert`) and lookup (`get`) operations, and share a number of mathematical and performance properties with the well-known [Bloom filter](https://doi.org/10.1145/362686.362692).
46

57
At [One Codex](https://www.onecodex.com), we use the `rust-bfield` crate in bioinformatics applications to efficiently store associations between billions of $k$-length nucleotide substrings (["k-mers"](https://en.wikipedia.org/wiki/K-mer)) and [their taxonomic identity](https://www.ncbi.nlm.nih.gov/taxonomy) _**using only 6-7 bytes per `(kmer, value)` pair**_ for up to 100,000 unique taxonomic IDs (distinct values) and a 0.1% error rate. We hope others are able to use this library (or implementations in other languages) for applications in bioinformatics and beyond.
68

7-
> _Note: In the [Implementation Details](#implementation-details) section below, we detail the use of this B-field implementation in Rust and use `code` formatting and English parameter names (e.g., we discuss the B-field being a data structure for storing `(key, value)` pairs). In the following [Formal Data Structure Details](#formal-data-structure-details) section, we detail the design and mechanics of the B-field using mathematical notation (i.e., we discuss it as an associate array mapping a set of_ $(x, y)$ _pairs). The generated Rust documentation includes both notations for ease of reference._
9+
> _Note: In the [Implementation Details](#implementation-details) section below, we detail the use of this B-field implementation in Rust and use `code` formatting and English parameter names (e.g., we discuss the B-field being a data structure for storing `(key, value)` pairs). In the following [Formal Data Structure Details](#formal-data-structure-details) section, we detail the design and mechanics of the B-field using mathematical notation (i.e., we discuss it as an associate array mapping a set of_ $(x, y)$ _pairs). The [generated Rust documentation](https://docs.rs/bfield/latest/bfield/) includes both notations for ease of reference._
810
911
## Implementation Details
1012

0 commit comments

Comments
 (0)