High-performance computational biology library in Rust.
Project description
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
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
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file xenon_core-0.4.0.tar.gz.
File metadata
- Download URL: xenon_core-0.4.0.tar.gz
- Upload date:
- Size: 21.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5e50f53959a311a72457d99d89b3d6f0aba719d44226525c3392648ed784f259
|
|
| MD5 |
75ddc85404913a0e231724597a30c559
|
|
| BLAKE2b-256 |
ee3af56ada4e59f1fae2a239ad9cbf9aca8dd7e414be933519c5ad980cc1aaa4
|
File details
Details for the file xenon_core-0.4.0-pp311-pypy311_pp73-manylinux_2_24_x86_64.whl.
File metadata
- Download URL: xenon_core-0.4.0-pp311-pypy311_pp73-manylinux_2_24_x86_64.whl
- Upload date:
- Size: 391.2 kB
- Tags: PyPy, manylinux: glibc 2.24+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
79d15f8b32c2af45c20870f5aa218f1fd8bdd95cec29d0121be2a4a2d1484eed
|
|
| MD5 |
1638de50e31431b04f0047d7d0981086
|
|
| BLAKE2b-256 |
cd7bf04aa3233d45c3d921cd5c01763883112c5f02c7b1bce5a01de244c09944
|
File details
Details for the file xenon_core-0.4.0-cp314-cp314-win_amd64.whl.
File metadata
- Download URL: xenon_core-0.4.0-cp314-cp314-win_amd64.whl
- Upload date:
- Size: 301.6 kB
- Tags: CPython 3.14, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a233861a539f02256442d58f75668e44800bb4b9c0d17f9d37455699a6d376a2
|
|
| MD5 |
e82a31c415e7b63a826235c2daa9f864
|
|
| BLAKE2b-256 |
b07fa6d64802e085224db4d93ebe700baa3db83ed8a33c1212f8404dfbe761d4
|
File details
Details for the file xenon_core-0.4.0-cp314-cp314-manylinux_2_24_x86_64.whl.
File metadata
- Download URL: xenon_core-0.4.0-cp314-cp314-manylinux_2_24_x86_64.whl
- Upload date:
- Size: 390.5 kB
- Tags: CPython 3.14, manylinux: glibc 2.24+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
de8c94cdef14256ce99536fbb019d4eaed1c4939d26caa46361edbb7246f8a21
|
|
| MD5 |
dce64fe8c17c0108a13433eb3b459042
|
|
| BLAKE2b-256 |
664db75b94b47c1654ab6cafa6ddb2f084be89f377ec2904aff40995ca3942a9
|
File details
Details for the file xenon_core-0.4.0-cp314-cp314-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.
File metadata
- Download URL: xenon_core-0.4.0-cp314-cp314-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
- Upload date:
- Size: 657.2 kB
- Tags: CPython 3.14, macOS 10.12+ universal2 (ARM64, x86-64), macOS 10.12+ x86-64, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4975f73068a7a9a834fa0afab6844e4182d0beefcec33d53aebb500d8c884bea
|
|
| MD5 |
ef45cd0c99ff05765e35d00952cbd4ef
|
|
| BLAKE2b-256 |
007482f5741e4349231c77d1c392305b75ae9acd966587f93af8aa279fc083e4
|
File details
Details for the file xenon_core-0.4.0-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: xenon_core-0.4.0-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 301.6 kB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
57def7413a0729cd25a87c55d298652e47baac43004cd259100f9e0134111558
|
|
| MD5 |
87bf8d37fa4202973f56273decff0e1f
|
|
| BLAKE2b-256 |
ddb8bd3b9fc9974876225099b1cbf8cbc4b08335c193c7eabbb0731583f89236
|
File details
Details for the file xenon_core-0.4.0-cp313-cp313-manylinux_2_24_x86_64.whl.
File metadata
- Download URL: xenon_core-0.4.0-cp313-cp313-manylinux_2_24_x86_64.whl
- Upload date:
- Size: 390.4 kB
- Tags: CPython 3.13, manylinux: glibc 2.24+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cfd694b3f3d0ba2ad61f123661af5a64a4f7aa2d339b4c0531c8c4d758bce2d0
|
|
| MD5 |
db888633b21550a1f9b83dca22ee3166
|
|
| BLAKE2b-256 |
d1eb8de3f390f423880ef4826330031134d5804d49e2a2674eb06c8d82bc4d01
|
File details
Details for the file xenon_core-0.4.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.
File metadata
- Download URL: xenon_core-0.4.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
- Upload date:
- Size: 657.2 kB
- Tags: CPython 3.13, macOS 10.12+ universal2 (ARM64, x86-64), macOS 10.12+ x86-64, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
afea3c9c9f88c926126ffe9db33dad0f37191c1b7891586fd4b78cdb8205c216
|
|
| MD5 |
0bb2346b83e4f1fc91660f22c0a14e22
|
|
| BLAKE2b-256 |
1b928540d0db9489e8c4558b85af0fdf8c2433034db5b91c2d85ec35912ce49a
|
File details
Details for the file xenon_core-0.4.0-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: xenon_core-0.4.0-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 301.6 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a063ce52d11743bede237da5c2c65bfea552c8f7db210c6c605b9cda3d0d4860
|
|
| MD5 |
70725260b3be6d3f3286ec29112ff115
|
|
| BLAKE2b-256 |
a6b4ac78e5cb88e6ee3fc72d30bab53192dcb7f1a551b450b14b83593b94ee79
|
File details
Details for the file xenon_core-0.4.0-cp312-cp312-manylinux_2_24_x86_64.whl.
File metadata
- Download URL: xenon_core-0.4.0-cp312-cp312-manylinux_2_24_x86_64.whl
- Upload date:
- Size: 390.4 kB
- Tags: CPython 3.12, manylinux: glibc 2.24+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
febb1625910f635b3f2ec9e901cd6c5744e232277c188ceb4b2eef5caf4578c4
|
|
| MD5 |
ad455f85859a1c6efbe14223789115c4
|
|
| BLAKE2b-256 |
69bff68ddd1599a7934b36c4854cb819de36d6ff5d5fc79f6dc43c790150fc05
|
File details
Details for the file xenon_core-0.4.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.
File metadata
- Download URL: xenon_core-0.4.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
- Upload date:
- Size: 657.2 kB
- Tags: CPython 3.12, macOS 10.12+ universal2 (ARM64, x86-64), macOS 10.12+ x86-64, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f923696896ec22b7243d9c57e30f5de29b87b8389c58441f1ff51aef81063171
|
|
| MD5 |
ffb4a8bd62df6707fa34ed19c33f4ffd
|
|
| BLAKE2b-256 |
99031792325bf4e92a323c51e900d2a2469be0ff6e7c430018bc136b516e5ae8
|
File details
Details for the file xenon_core-0.4.0-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: xenon_core-0.4.0-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 305.2 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
15227a09d7197833915f78c44baea7b99d181c91943151ad10e0588ca0c94ab1
|
|
| MD5 |
31091a6080c2225b638de9acf5f77984
|
|
| BLAKE2b-256 |
314a1ca247d9a1c25f00e7252ac68050014c2a0bc9aefd326355ea06b89755e4
|
File details
Details for the file xenon_core-0.4.0-cp311-cp311-manylinux_2_24_x86_64.whl.
File metadata
- Download URL: xenon_core-0.4.0-cp311-cp311-manylinux_2_24_x86_64.whl
- Upload date:
- Size: 391.2 kB
- Tags: CPython 3.11, manylinux: glibc 2.24+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8ea25c0479da76ebaace4cb0797a84b0996bbb8d3f866cf7d7e59b6f25ceeef7
|
|
| MD5 |
1773221f45343e1f9d607db908c8ea53
|
|
| BLAKE2b-256 |
7408e82608344da1a04e1d52e1ca18dfceefb924d0abf4bbf46d17fa4299e216
|
File details
Details for the file xenon_core-0.4.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.
File metadata
- Download URL: xenon_core-0.4.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
- Upload date:
- Size: 658.4 kB
- Tags: CPython 3.11, macOS 10.12+ universal2 (ARM64, x86-64), macOS 10.12+ x86-64, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
54bb073cac7264f864b18d8b4c9d8ec02c84bf61a08edcc350626c74cbac6db5
|
|
| MD5 |
ea71bc7c4b1d9188671a5e2fd8a960f6
|
|
| BLAKE2b-256 |
2476fa4399acbdbc43b1a7352286f00ddf7e2d252544976a5f28e7e8e0ea47b8
|
File details
Details for the file xenon_core-0.4.0-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: xenon_core-0.4.0-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 305.2 kB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
730c68b0c85e3e49657715736fe5b7f663c4753a176b20aa150c0b4d2ad73e40
|
|
| MD5 |
b32515a2a935b73a80cdb932f4bb797d
|
|
| BLAKE2b-256 |
32772a8c36612f807763d5e454dd7122272e1b56435cb8df0872fe799995a117
|
File details
Details for the file xenon_core-0.4.0-cp310-cp310-manylinux_2_24_x86_64.whl.
File metadata
- Download URL: xenon_core-0.4.0-cp310-cp310-manylinux_2_24_x86_64.whl
- Upload date:
- Size: 391.2 kB
- Tags: CPython 3.10, manylinux: glibc 2.24+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f2846c114a3e07032e20e133c6b6b9634d9da0370bf5a334f77e240291c54f09
|
|
| MD5 |
b210a075c75f94c836d9760337ad782c
|
|
| BLAKE2b-256 |
a63cdcf9740eaa65be4ae22bca839c8acba184c13c5c797539226ce7368e086f
|
File details
Details for the file xenon_core-0.4.0-cp39-cp39-win_amd64.whl.
File metadata
- Download URL: xenon_core-0.4.0-cp39-cp39-win_amd64.whl
- Upload date:
- Size: 305.4 kB
- Tags: CPython 3.9, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5870fa1821c197044920e2c77ff43c908ffcd6e0557046b5eb3a86e58d68a8f2
|
|
| MD5 |
595f5a7bb3be6383d772693496756881
|
|
| BLAKE2b-256 |
d335fc4b2cddef732294b074b0687c85f6e4f1be897a462971cd8633dd179736
|
File details
Details for the file xenon_core-0.4.0-cp39-cp39-manylinux_2_24_x86_64.whl.
File metadata
- Download URL: xenon_core-0.4.0-cp39-cp39-manylinux_2_24_x86_64.whl
- Upload date:
- Size: 391.3 kB
- Tags: CPython 3.9, manylinux: glibc 2.24+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
22663cffc87f759fd72397c2071e206f47db8ba1c380c1b48bffe9d830a6b416
|
|
| MD5 |
379318873368f9fc5639ad797b6f3eff
|
|
| BLAKE2b-256 |
8be4f4b38083ac5d74fc943240f504c3c8967a6636f18f360c0f5a5a4cff55c4
|
File details
Details for the file xenon_core-0.4.0-cp38-cp38-manylinux_2_24_x86_64.whl.
File metadata
- Download URL: xenon_core-0.4.0-cp38-cp38-manylinux_2_24_x86_64.whl
- Upload date:
- Size: 391.5 kB
- Tags: CPython 3.8, manylinux: glibc 2.24+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ab08371a381f41ee822bde6350e12f7678ae23e328c242d1839afbf62f042d49
|
|
| MD5 |
a0aa5a2bd2af7f77093b7674571f7354
|
|
| BLAKE2b-256 |
c096de0aa5afd8c676bdf3f16a1deccbd3eb27bc201beeb300193e0b93e4e5a1
|