Skip to main content

k-mer tools

Project description

oxli

Author: C. Titus Brown (@ctb), ctbrown@ucdavis.edu

oxli is a simple Rust library + Python interface for counting k-mers in genomic sequencing data.

Installation

oxli is available on conda-forge for Linux, Mac OS X, and Windows for Python versions 3.10, 3.11, and 3.12:

conda install oxli

This will install the oxli library. Right now there is only a library interface.

For developers

You can also try building it yourself and using it in development mode:

mamba env create -f environment.yml -n oxli
pip install -e .

Documentation

Please see the API documentation.

Is there anything I should know about oxli?

Two things -

First, oxli is channeling khmer, a package written by @ctb and many others. You shouldn't be too surprised to see useful functionality from khmer making an appearance in oxli.

Second, it's written on top of the sourmash rust library, and the underlying code for dealing with sequence data is pretty well tested.

What's the history here?

The history is a bit convoluted:

  • the khmer package was useful for inspecting large collections of k-mers, but was hard to maintain and evolve.

  • in ~2016 @ctb's lab more or less switched over to developing sourmash, which was initially built on a similar tech stack to khmer (Python & C++).

  • at some point, @luizirber rewrote the sourmash C++ code into Rust.

  • this forced @ctb to learn Rust to maintain sourmash.

  • @ctb then decided he liked Rust an awful lot, and missed some of the khmer functionality.

  • voila, oxli was born.


(Sep 2024)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

oxli-0.2.3.tar.gz (132.6 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page