implementation of mash (genomic minhash algorithm) in Go
Charles Reid e5cc53cdff fix minhash test 5 months ago
.gitignore add project readme and .gitignore 5 months ago
LICENSE add license 5 months ago
MashSketches.md update readme, add quickstart and mash sketch summ 5 months ago
QuickStart.md update readme, add quickstart and mash sketch summ 5 months ago
Readme.md update readme, add quickstart and mash sketch summ 5 months ago
mash_json.go add functionality to load/save mash minhashes from json file 5 months ago
mash_json_test.go add functionality to load/save mash minhashes from json file 5 months ago
minhash.go fix minhash test 5 months ago
minhash_test.go fix minhash test 5 months ago

Readme.md

gopher-smash

gopher-smash is a simple, lightweight re-implementation of core MinHash data structures and algorithms from Mash and sourmash in Go (Golang).

gopher-smash is implemented as an importable Go module with an accompanying command line tool.

Specifically, the long-term aim of gopher-smash is to provide:

  • Go objects for loading, manipulating, debugging, and saving MinHash sketches from both Mash and sourmash
  • Go objects for sourmash’s scaled MinHash data structures (containment MinHashes)
  • Go data structures for efficiently storing and querying collections of MinHash sketches (using locally sensitive hash functions)

Quick Start

Installing

You can use go get to install gopher-smash:

go get git.charlesreid1.com/charlesreid1/gopher-smash

This will make gopher-smash importable from Go program

Using

Use gopher-smash from your Go program like so (we use gosh to make the import name shorter):

package main

import (
    gosh "git.charlesreid1.com/charlesreid1/gopher-smash"
)

func main() {
    ...
}