Skip to main content

kackle

PyPI Tests PyPI Downloads

Kmer Artifact Correction (KACkle) -- A small python utility for eliminating k-mer artifacts caused by primer mismatching.

Installation

Install with pip:

pip install kackle
kackle --help

Or with uv:

uv add kackle
uv run kackle --help

Execution

Run with precomputed BED6 motif sites:

kackle -i plus.bw -I minus.bw -b sites.bed6 -o out.plus.bw -O out.minus.bw -c chrom.sizes

Or let kackle locate the original artifact motifs directly from FASTA. By default, FASTA mode corrects exact TGG matches first, then TGGAA matches with up to one mismatch:

kackle -i plus.bw -I minus.bw -f genome.fa -o out.plus.bw -O out.minus.bw -c chrom.sizes

FASTA mode locates motif sites one chromosome at a time to avoid materializing whole-genome BED tables for common short motifs. It uses indexed pyfastx FASTA access and ahocorasick-rs multi-pattern matching by default:

kackle -i plus.bw -I minus.bw -f genome.fa \
  --fasta-backend pyfastx --motif-match-backend ahocorasick \
  -o out.plus.bw -O out.minus.bw -c chrom.sizes

Custom motif order can be supplied with repeated --motif KMER[:MISMATCHES] flags.

Benchmarking

To reproduce motif-backend timings:

uv run python benchmarks/motif_backends.py

Download files

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

Source Distribution

kackle-0.1.0.tar.gz (39.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kackle-0.1.0-py3-none-any.whl (13.7 kB view details)

Uploaded Python 3

File details

Details for the file kackle-0.1.0.tar.gz.

File metadata

  • Download URL: kackle-0.1.0.tar.gz
  • Upload date:
  • Size: 39.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for kackle-0.1.0.tar.gz
Algorithm Hash digest
SHA256 321b84ff9d1bbb26f3be8606fc113c5d8e679c124cafcacfdbc9c334f2ffe0d1
MD5 afd270ce0578826e0f8985e63c43140d
BLAKE2b-256 78ff53ba5c130756d314099e99646e79cc4c219d28bc4912b158b1c2d096b5c1

See more details on using hashes here.

File details

Details for the file kackle-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: kackle-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 13.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for kackle-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6d46df8c4f5e90af9cb4ade10896f45d937cdb196c1ce621982fb1d7a0353669
MD5 10f00f3d34f77a19be8a83371f93d795
BLAKE2b-256 bc2aee2ac5f9c74ff10a3b9f15a84de2b578cf3d9a012325dbae1124765c29a6

See more details on using hashes here.

Release history Release notifications | RSS feed

0.2.0

2 files

This release

0.1.0 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page