• Stars
    star
    252
  • Rank 161,312 (Top 4 %)
  • Language
    C
  • License
    MIT License
  • Created over 13 years ago
  • Updated almost 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

An efficient trie implementation.

Hat-Trie

Build Status

This a ANSI C99 implementation of the HAT-trie data structure of Askitis and Sinha, an extremely efficient (space and time) modern variant of tries.

The version implemented here maps arrays of bytes to words (i.e., unsigned longs), which can be used to store counts, pointers, etc, or not used at all if you simply want to maintain a set of unique strings.

For details see,

  1. Askitis, N., & Sinha, R. (2007). HAT-trie: a cache-conscious trie-based data structure for strings. Proceedings of the thirtieth Australasian conference on Computer science-Volume 62 (pp. 97โ€“105). Australian Computer Society, Inc.

  2. Askitis, N., & Zobel, J. (2005). Cache-conscious collision resolution in string hash tables. String Processing and Information Retrieval (pp. 91โ€“102). Springer.

Installation

git clone [email protected]:dcjones/hat-trie.git
cd hat-trie
autoreconf -i
./configure
make install

To use the library, include hat-trie.h and link using -lhat-trie.

Tests

Build and run the tests:

make check

Other Language Bindings

More Repositories

1

mk

make remade
Go
170
star
2

fastq-tools

Small utilities for working with fastq sequence files.
C
114
star
3

coitrees

A very fast interval tree data structure
Rust
111
star
4

quip

Compressing next-generation sequencing data with extreme prejudice.
C
78
star
5

Judo.jl

A Julia document generator
Julia
57
star
6

proseg

Probabilistic cell segmentation for in situ spatial transcriptomics
Rust
44
star
7

isolator

Rapid and robust analysis of RNA-Seq experiments.
C
32
star
8

colormake

colorize GNU make output
Python
30
star
9

polee

Analyzing RNA-Seq with approximate likelihood
Julia
26
star
10

subsample

Randomly sample lines from massive text files efficiently
C
17
star
11

RecursiveSparseBlocks.jl

julia interface to the librsb sparse matrix library
Julia
16
star
12

Skia.jl

Experimental skia bindings
Julia
11
star
13

seqbias

An R package to correct for sequence bias in RNA-Seq experiments.
C++
10
star
14

fastlog

A faster, reduced-precision logarithm function.
C
8
star
15

Switch.jl

A C-style switch statement for Julia
Julia
8
star
16

vanity

scRNA-Seq normalization for the vain
Python
7
star
17

cbgb

computational biology grab-bag: messy one-off scripts for a variety of tasks
C
6
star
18

Zlib.jl

zlib bindings for Julia
Julia
6
star
19

maxspin

Quantifying spatial information in spatial transcriptomics
Jupyter Notebook
5
star
20

PoleeClassifier.jl

Julia
5
star
21

color.jl

Pretty colors for Julia
Julia
5
star
22

sls

Stochastic L-Systems in Python
Python
5
star
23

Showoff.jl

Nicely format an array of n things for tables and plots
Julia
5
star
24

LazySequences.jl

Lazy sequences.
Julia
4
star
25

ragel-julia

A Julia backend for Ragel
C++
4
star
26

SpuriousCoexpression.jl

Benchmarking tool for spatial transcriptomics segmentation
Julia
3
star
27

ulam-death-spiral

Exposing the depravity of the natural numbers.
CoffeeScript
3
star
28

isolator-paper

The Isolator Paper
Jupyter Notebook
3
star
29

gtf-parse-off

Experiments with parsing gene transfer format
Ragel in Ruby Host
3
star
30

seqsim

A simplistic RNA-Seq simulator.
C++
2
star
31

vim-mk

Vim syntax for mk
Vim Script
2
star
32

AnnDatas.jl

Julia compatibility for the anndata python module
Julia
2
star
33

quip-paper

A paper describing and evaluating the quip compression algorithm.
C
2
star
34

HATTries.jl

julia hat-trie bindings
Julia
1
star
35

GatedLinearNetworks.jl

A gaussian gated linear networks implementation
Julia
1
star
36

gadfly-static-html

Static HTML documentation for Gadfly
JavaScript
1
star
37

dotfiles

Vim Script
1
star
38

peakolator

World's fastest genomic segmentation algorithm.
C
1
star
39

Stepwell.jl

Julia
1
star
40

quip-website

A very simple website for quip.
JavaScript
1
star
41

peakolator-legacy

Some old code.
C++
1
star
42

julia-minimalist-vim

Alternate vim syntax definitions for Julia
Vim Script
1
star