- Clone this repo into eg
~/u-index-rs. - Also clone
sdsl-lite-fminto a sibling dir~/sdsl-lite-fm - Follow the instructions in the
sdsl-lite-fmto build that library. - Now do
cargo build -rin theu-index-rsdir. That should work.
Experiments are run from the u-index-rs dir using cargo run -r --example
bench. This writes ./stats.json.
That can be plotted using ./eval.py.
Input data is ./human-genome.fa, which should be (a symlink to) a (human)
genome. I use chm13v2.0.fa. Note that examples/bench.rs by default only
reads chromosome 1, or more generally the first sequence in the fasta file.
Note: If you have CMake >= 4.0 installed, you may have to explicitly set the
CMAKE_POLICY_VERSION_MINIMUM environment variable for divsufsort_rs to build.
You can do this like so:
CMAKE_POLICY_VERSION_MINIMUM=3.5 cargo b --release
U-Index: A Universal Indexing Framework for Matching Long Patterns
Lorraine A. K. Ayad, Gabriele Fici, Ragnar Groot Koerkamp, Grigorios Loukides, Rob Patro, Giulio Ermanno Pibiri, and Solon P. Pissis
SEA 2025, doi.org/10.4230/LIPIcs.SEA.2025.4