xenon-core 🧬⚡
Xenon-Core v0.4.0: The Complete High-Performance Suite.
xenon-core is a blazingly fast bioinformatics extension that offloads computationally intensive tasks to Rust. It leverages manual parallel threading, zero-copy memory management, and optimized lookup tables to achieve speedups of up to ~500x over standard Python tools.
Why use Xenon-Core?
Stop waiting for Python loops to finish. Replace Biopython heavy lifting with Xenon-Core and get instant results.
🚀 Performance Benchmarks
All benchmarks performed on a standard Mac ARM chip (M1/M2/M3).
1. DNA Utility Functions
Vs Biopython (Sequences of 1M - 3M bases)
| Operation | Xenon-Core | Biopython | Speedup |
|---|---|---|---|
| GC Content | 0.17 ms | 3.64 ms | 21x 🚀 |
| Reverse Complement | 0.25 ms | 0.54 ms | 2.2x |
| Translate (3M bp) | 11.4 ms | 101.5 ms | 8.9x ⚡ |
| Trim Low Quality | 0.31 ms | 16.4 ms | 52x |
2. K-mer Counting
Vs Pure Python and Rayon-based Implementations (50MB dataset)
| Implementation | Time |
|---|---|
| Xenon-Core (Manual Parallel + Zero-Copy) | 0.08 s |
| Previous Rust Implementation (File I/O) | 0.22 s |
| Python Dictionary Loop | ~36.00 s |
> Xenon-Core is ~500x faster than pure Python loops.
✨ Features
- Advanced K-mer Counting:
- Zero-Copy architecture reads Python
bytesdirectly without cloning. - Manual threading utilizing all CPU cores.
- Returns efficient
KmerCountsobject (dict-like) to avoid massive allocation.
- Zero-Copy architecture reads Python
- Ultra-Fast Utilities:
gc_content: Direct byte scanning.reverse_complement: SIMD-friendly table lookup.translate: Standard Genetic Code translation with stop codon support.trim_low_quality: Phred+33 aware quality trimming.
- Sequence Filtering:
filter_reads: Rapidly parse and filter FASTA/FASTQ files by length.
📦 Installation
pip install xenon-core
Requires a Python 3.8+ environment.
Building from Source
git clone https://github.com/Dishant707/Xenon-core.git
cd Xenon-core
maturin develop --release
🛠 Usage
import xenon_core
# 1. High-Performance Translation
dna = "ATGCGT..."
protein = xenon_core.translate(dna)
# > "MR..." (Stops at Stop Codons)
# 2. Parallel K-mer Counting (Zero-Copy)
# Pass a list of byte objects for maximum speed
seqs = [b"ATCG...", b"GGTA..."]
counts = xenon_core.count_kmers_manual(seqs, k=5)
print(f"Count of 'AAAAA': {counts['AAAAA']}")
# Iterable like a dict
for kmer, count in counts.items():
print(kmer, count)
# 3. Filtering Reads
# Quickly get list of reads longer than threshold
long_reads = xenon_core.filter_reads("genome.fa", min_length=150)
# 4. Utilities
gc = xenon_core.gc_content("ATCG...")
rev = xenon_core.reverse_complement("ATCG...")
trimmed = xenon_core.trim_low_quality("ATCG...", "IIII#...", 20)
📄 License
MIT
Release files for xenon-core 0.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| xenon_core-0.4.0.tar.gz | 21.6 kB | Details |
Built distributions (wheels)
Total release size: 7.6 MB
Release files / xenon_core-0.4.0.tar.gz
| Download URL | xenon_core-0.4.0.tar.gz |
|---|---|
| Size | 21.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5e50f53959a311a72457d99d89b3d6f0aba719d44226525c3392648ed784f259
|
|
BLAKE2b-256 checksum How to use checksums |
ee3af56ada4e59f1fae2a239ad9cbf9aca8dd7e414be933519c5ad980cc1aaa4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / xenon_core-0.4.0-pp311-pypy311_pp73-manylinux_2_24_x86_64.whl
| Download URL | xenon_core-0.4.0-pp311-pypy311_pp73-manylinux_2_24_x86_64.whl |
|---|---|
| Size | 391.2 kB |
| Tags | Linux glibc 2.24+ x86-64 PyPy 3.11 PyPy 3.11 7.3 |
|
SHA-256 checksum How to use checksums |
79d15f8b32c2af45c20870f5aa218f1fd8bdd95cec29d0121be2a4a2d1484eed
|
|
BLAKE2b-256 checksum How to use checksums |
cd7bf04aa3233d45c3d921cd5c01763883112c5f02c7b1bce5a01de244c09944
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / xenon_core-0.4.0-cp314-cp314-win_amd64.whl
| Download URL | xenon_core-0.4.0-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 301.6 kB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
a233861a539f02256442d58f75668e44800bb4b9c0d17f9d37455699a6d376a2
|
|
BLAKE2b-256 checksum How to use checksums |
b07fa6d64802e085224db4d93ebe700baa3db83ed8a33c1212f8404dfbe761d4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / xenon_core-0.4.0-cp314-cp314-manylinux_2_24_x86_64.whl
| Download URL | xenon_core-0.4.0-cp314-cp314-manylinux_2_24_x86_64.whl |
|---|---|
| Size | 390.5 kB |
| Tags | CPython 3.14 Linux glibc 2.24+ x86-64 |
|
SHA-256 checksum How to use checksums |
de8c94cdef14256ce99536fbb019d4eaed1c4939d26caa46361edbb7246f8a21
|
|
BLAKE2b-256 checksum How to use checksums |
664db75b94b47c1654ab6cafa6ddb2f084be89f377ec2904aff40995ca3942a9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / xenon_core-0.4.0-cp314-cp314-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
| Download URL | xenon_core-0.4.0-cp314-cp314-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl |
|---|---|
| Size | 657.2 kB |
| Tags | CPython 3.14 macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
4975f73068a7a9a834fa0afab6844e4182d0beefcec33d53aebb500d8c884bea
|
|
BLAKE2b-256 checksum How to use checksums |
007482f5741e4349231c77d1c392305b75ae9acd966587f93af8aa279fc083e4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / xenon_core-0.4.0-cp313-cp313-win_amd64.whl
| Download URL | xenon_core-0.4.0-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 301.6 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
57def7413a0729cd25a87c55d298652e47baac43004cd259100f9e0134111558
|
|
BLAKE2b-256 checksum How to use checksums |
ddb8bd3b9fc9974876225099b1cbf8cbc4b08335c193c7eabbb0731583f89236
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / xenon_core-0.4.0-cp313-cp313-manylinux_2_24_x86_64.whl
| Download URL | xenon_core-0.4.0-cp313-cp313-manylinux_2_24_x86_64.whl |
|---|---|
| Size | 390.4 kB |
| Tags | CPython 3.13 Linux glibc 2.24+ x86-64 |
|
SHA-256 checksum How to use checksums |
cfd694b3f3d0ba2ad61f123661af5a64a4f7aa2d339b4c0531c8c4d758bce2d0
|
|
BLAKE2b-256 checksum How to use checksums |
d1eb8de3f390f423880ef4826330031134d5804d49e2a2674eb06c8d82bc4d01
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / xenon_core-0.4.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
| Download URL | xenon_core-0.4.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl |
|---|---|
| Size | 657.2 kB |
| Tags | CPython 3.13 macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
afea3c9c9f88c926126ffe9db33dad0f37191c1b7891586fd4b78cdb8205c216
|
|
BLAKE2b-256 checksum How to use checksums |
1b928540d0db9489e8c4558b85af0fdf8c2433034db5b91c2d85ec35912ce49a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / xenon_core-0.4.0-cp312-cp312-win_amd64.whl
| Download URL | xenon_core-0.4.0-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 301.6 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
a063ce52d11743bede237da5c2c65bfea552c8f7db210c6c605b9cda3d0d4860
|
|
BLAKE2b-256 checksum How to use checksums |
a6b4ac78e5cb88e6ee3fc72d30bab53192dcb7f1a551b450b14b83593b94ee79
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / xenon_core-0.4.0-cp312-cp312-manylinux_2_24_x86_64.whl
| Download URL | xenon_core-0.4.0-cp312-cp312-manylinux_2_24_x86_64.whl |
|---|---|
| Size | 390.4 kB |
| Tags | CPython 3.12 Linux glibc 2.24+ x86-64 |
|
SHA-256 checksum How to use checksums |
febb1625910f635b3f2ec9e901cd6c5744e232277c188ceb4b2eef5caf4578c4
|
|
BLAKE2b-256 checksum How to use checksums |
69bff68ddd1599a7934b36c4854cb819de36d6ff5d5fc79f6dc43c790150fc05
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / xenon_core-0.4.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
| Download URL | xenon_core-0.4.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl |
|---|---|
| Size | 657.2 kB |
| Tags | CPython 3.12 macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
f923696896ec22b7243d9c57e30f5de29b87b8389c58441f1ff51aef81063171
|
|
BLAKE2b-256 checksum How to use checksums |
99031792325bf4e92a323c51e900d2a2469be0ff6e7c430018bc136b516e5ae8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / xenon_core-0.4.0-cp311-cp311-win_amd64.whl
| Download URL | xenon_core-0.4.0-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 305.2 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
15227a09d7197833915f78c44baea7b99d181c91943151ad10e0588ca0c94ab1
|
|
BLAKE2b-256 checksum How to use checksums |
314a1ca247d9a1c25f00e7252ac68050014c2a0bc9aefd326355ea06b89755e4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / xenon_core-0.4.0-cp311-cp311-manylinux_2_24_x86_64.whl
| Download URL | xenon_core-0.4.0-cp311-cp311-manylinux_2_24_x86_64.whl |
|---|---|
| Size | 391.2 kB |
| Tags | CPython 3.11 Linux glibc 2.24+ x86-64 |
|
SHA-256 checksum How to use checksums |
8ea25c0479da76ebaace4cb0797a84b0996bbb8d3f866cf7d7e59b6f25ceeef7
|
|
BLAKE2b-256 checksum How to use checksums |
7408e82608344da1a04e1d52e1ca18dfceefb924d0abf4bbf46d17fa4299e216
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / xenon_core-0.4.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
| Download URL | xenon_core-0.4.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl |
|---|---|
| Size | 658.4 kB |
| Tags | CPython 3.11 macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
54bb073cac7264f864b18d8b4c9d8ec02c84bf61a08edcc350626c74cbac6db5
|
|
BLAKE2b-256 checksum How to use checksums |
2476fa4399acbdbc43b1a7352286f00ddf7e2d252544976a5f28e7e8e0ea47b8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / xenon_core-0.4.0-cp310-cp310-win_amd64.whl
| Download URL | xenon_core-0.4.0-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 305.2 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
730c68b0c85e3e49657715736fe5b7f663c4753a176b20aa150c0b4d2ad73e40
|
|
BLAKE2b-256 checksum How to use checksums |
32772a8c36612f807763d5e454dd7122272e1b56435cb8df0872fe799995a117
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / xenon_core-0.4.0-cp310-cp310-manylinux_2_24_x86_64.whl
| Download URL | xenon_core-0.4.0-cp310-cp310-manylinux_2_24_x86_64.whl |
|---|---|
| Size | 391.2 kB |
| Tags | CPython 3.10 Linux glibc 2.24+ x86-64 |
|
SHA-256 checksum How to use checksums |
f2846c114a3e07032e20e133c6b6b9634d9da0370bf5a334f77e240291c54f09
|
|
BLAKE2b-256 checksum How to use checksums |
a63cdcf9740eaa65be4ae22bca839c8acba184c13c5c797539226ce7368e086f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / xenon_core-0.4.0-cp39-cp39-win_amd64.whl
| Download URL | xenon_core-0.4.0-cp39-cp39-win_amd64.whl |
|---|---|
| Size | 305.4 kB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
5870fa1821c197044920e2c77ff43c908ffcd6e0557046b5eb3a86e58d68a8f2
|
|
BLAKE2b-256 checksum How to use checksums |
d335fc4b2cddef732294b074b0687c85f6e4f1be897a462971cd8633dd179736
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / xenon_core-0.4.0-cp39-cp39-manylinux_2_24_x86_64.whl
| Download URL | xenon_core-0.4.0-cp39-cp39-manylinux_2_24_x86_64.whl |
|---|---|
| Size | 391.3 kB |
| Tags | CPython 3.9 Linux glibc 2.24+ x86-64 |
|
SHA-256 checksum How to use checksums |
22663cffc87f759fd72397c2071e206f47db8ba1c380c1b48bffe9d830a6b416
|
|
BLAKE2b-256 checksum How to use checksums |
8be4f4b38083ac5d74fc943240f504c3c8967a6636f18f360c0f5a5a4cff55c4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / xenon_core-0.4.0-cp38-cp38-manylinux_2_24_x86_64.whl
| Download URL | xenon_core-0.4.0-cp38-cp38-manylinux_2_24_x86_64.whl |
|---|---|
| Size | 391.5 kB |
| Tags | CPython 3.8 Linux glibc 2.24+ x86-64 |
|
SHA-256 checksum How to use checksums |
ab08371a381f41ee822bde6350e12f7678ae23e328c242d1839afbf62f042d49
|
|
BLAKE2b-256 checksum How to use checksums |
c096de0aa5afd8c676bdf3f16a1deccbd3eb27bc201beeb300193e0b93e4e5a1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|