Repository navigation
Tags: ZimaBlueAI/SegPE
Tags
SegPE v0.2.0
Rebuilt around byte arenas and a precomputed adapter variant index.
Performance, 2.5M read pairs (1.67 GB), 384 anchored 16 bp adapters,
against v0.1.16 on the same data and machine:
Windows x86-64, 32 threads 2.31 s -> 0.68 s
Linux x86-64, 32 threads 7.85 s -> 0.41 s
Linux aarch64 (GB10), 20 6.60 s -> 0.34 s
macOS aarch64 (M5), 10 cores 0.33 s
Output is byte-identical across all four platforms. Compressed input:
BGZF 0.48 s, ordinary gzip 1.45 s. Against cutadapt 5.2 on the same task,
7.43M vs 1.95M reads/s with zero conflicting classifications.
Behaviour changes that affect existing pipelines:
- --error-tolerance now means edit distance <= e. It was a score cutoff
that admitted fewer than e/2 mismatches, so the default e=1 accepted
only exact matches. Runs will classify more reads than before.
- Multi-member gzip is read in full. v0.1.x stopped at the first member,
so bgzip input was silently truncated to roughly its first block.
Re-run anything processed from bgzip files with v0.1.x.
- Write failures now reach the exit code instead of being logged while
the run reported success.
- Ambiguous demultiplexing is counted and warned about; --ambiguous
controls whether those reads are kept, separated or rejected.
New: BGZF block-parallel decompression, bzip2 and zstd input, --max-mem,
optional wgpu GPU backend (off by default, and slower end to end).
Dependencies cut from 15 to 8. 25 unit tests, run on x86-64 and aarch64.