Skip to content

Commit 7f36f31

Browse files
authored
merge: Merge pull request #3 from St4NNi/feat/compare
[0.1.0-beta.1] Feat/compare
2 parents 86e799b + b03a302 commit 7f36f31

12 files changed

+372
-64
lines changed

.github/workflows/release.yaml

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
name: automatic_test_build_publish
2+
on:
3+
release:
4+
types: [created]
5+
workflow_dispatch: {}
6+
jobs:
7+
build:
8+
runs-on: ubuntu-latest
9+
steps:
10+
- name: Checkout repository with submodules
11+
uses: actions/checkout@v3
12+
with:
13+
submodules: recursive
14+
- name: Cargo publish
15+
run: cargo publish --token ${CRATES_TOKEN}
16+
env:
17+
CRATES_TOKEN: ${{ secrets.CRATES_TOKEN }}

Cargo.lock

+7-29
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
[package]
22
name = "jam-rs"
3-
version = "0.1.0"
3+
version = "0.1.0-beta.1"
44
edition = "2021"
55
repository = "https://github.com/St4NNi/jam-rs"
66
license = "MIT"
7-
description = "Just another minhash (Jam) implementation in Rust"
7+
description = "Just another (genomic) minhash (Jam) implementation in Rust"
88

99
[dependencies]
1010
anyhow = "1.0.75"
1111
bincode = "1.3.3"
12-
flate2 = "1.0.27"
12+
flate2 = "1.0.28"
1313
needletail = "0.5.1"
14-
rayon = "1.7.0"
14+
rayon = "1.8.0"
1515
xxhash-rust = { version = "0.8.7", features = ["xxh3"]}
1616
bytemuck = "1.14.0"
1717
serde = { version = "1", features = ["derive"] }

README.md

+14
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,20 @@ Implements parts of the ScaledMinHash / FracMinHash algorithm described in [sour
1111

1212
Unlike traditional implementations like [sourmash](https://joss.theoj.org/papers/10.21105/joss.00027) or [mash](https://doi.org/10.1186/s13059-016-0997-x) this version tries to specialise more on estimating the containment of small sequences in large sets. This is intended to be used to screen terabytes of data in just a few seconds / minutes.
1313

14+
### Installation
15+
16+
A pre-release is published via [crates.io](https://crates.io/) to install it use (you need to have `cargo` and the `rust-toolchain` installed, the easiest way is via [rustup.rs](https://rustup.rs/)):
17+
18+
```bash
19+
cargo install jam-rs
20+
```
21+
22+
If you want the bleeding edge development release you can install via git:
23+
24+
```bash
25+
cargo install --git https://github.com/St4NNi/jam-rs
26+
```
27+
1428
### Comparison
1529

1630
- [xxhash3](https://github.com/DoumanAsh/xxhash-rust) or [ahash-fallback](https://github.com/tkaitchuck/aHash/wiki/AHash-fallback-algorithm) (for kmer < 32) instead of [murmurhash3](https://github.com/mhallin/murmurhash3-rs)

src/cli.rs

+11-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ use std::path::PathBuf;
55
#[derive(Debug, Parser)]
66
#[command(name = "jam")]
77
#[command(bin_name = "jam")]
8-
#[command(version = "0.1.0")]
8+
#[command(version = "0.1.0-beta.1")]
99
#[command(
1010
about = "Just another minhasher, obviously blazingly fast",
1111
long_about = "A heavily optimized minhash implementation that focuses less on accuracy and more on quick scans of large datasets."
@@ -93,13 +93,22 @@ pub enum Commands {
9393
input: PathBuf,
9494
/// Database sketch(es)
9595
#[arg(short, long)]
96-
database: PathBuf,
96+
database: Vec<PathBuf>,
9797
/// Output to file instead of stdout
9898
#[arg(short, long)]
9999
#[arg(value_parser = clap::value_parser!(std::path::PathBuf))]
100100
output: Option<PathBuf>,
101101
/// Cut-off value for similarity
102102
#[arg(short, long, default_value = "0.0")]
103103
cutoff: f64,
104+
/// Use the Stats params for restricting results
105+
#[arg(long)]
106+
stats: bool,
107+
/// Use GC stats with an upper bound of x% and a lower bound of y%
108+
#[arg(long)]
109+
gc_lower: Option<u8>,
110+
/// Use GC stats with an upper bound of x% and a lower bound of y%
111+
#[arg(long)]
112+
gc_upper: Option<u8>,
104113
},
105114
}

0 commit comments

Comments
 (0)