genemancer-0.2.2 is not a library.

Genemancer
Genemancer is a Rust CLI toolkit for genomics file processing, built primarily on the noodles ecosystem, with optional GPU acceleration (wgpu) for target-based variant aggregation.
Toolkit
Current subcommands:
merge-bam(implemented): merge multiple coordinate-sorted, indexed BAM files into one BAM, with optional BED filtering (all|strict|trim), read-group filtering, output index writing, and configurable compression level.gff-to-gtf(implemented): convert GFF3 annotations to GTF (stdin/stdout supported).call-targets(implemented): call simple SNVs from BAM inputs over BED target intervals and write bgzipped VCF output (.vcf.gz) with index (csidefault, optionaltbi).call-targets-gpu(implemented): same pipeline ascall-targets, but attempts GPU initialization and falls back to CPU unless--require-gpuis set.split-bam(implemented): split one or more coordinate-sorted BAM files into per-region BAMs from a BED file, with optional unassigned-read output and optional output indexing.
Global options:
-v/--verbose(repeatable) for log verbosity.-t/--threadsto control worker threads.
Installation
Install from crates.io:
Or install from the local repository checkout:
Build And Run
- Install a Rust toolchain with edition 2024 support.
- Build:
- Show CLI help:
You can inspect any command with:
Usage Examples
Examples below assume you provide your own inputs. In this repository, *.bam and /test_data are gitignored.
Merge two BAMs into one BAM with index output:
Convert GFF3 to GTF:
Call SNVs on target regions (CPU/streaming path):
Run the GPU-enabled path (falls back to CPU by default):
Split multiple BAMs by BED regions into an output folder:
Repository Data
references: helper scripts and a tracked sample RG map (references/rg_map.txt).tests/data: tracked.baifiles only.- Local working datasets are expected under
test_data/(ignored by git).
Ignored Paths
Notes
call-targetsmay prepare a sorted/indexed BGZF FASTA companion (*.sorted.fa.gzplus indexes) when the provided reference is not already in an indexed form suitable for random access.
TODO
| Area | Task | Status | Notes |
|---|---|---|---|
split-bam |
Add end-to-end fixture coverage for overlap edge cases | TODO | Validate multi-overlap and boundary behavior |
call-targets |
Add end-to-end integration tests on small fixture set | TODO | Validate VCF content + index generation |
call-targets-gpu |
Expand GPU backend validation matrix | TODO | Cover Vulkan/Metal/DX12 fallback behavior |
merge-bam |
Add CRAM input/output support | TODO | Current implementation is BAM-focused |
| Docs | Add example outputs and expected file artifacts per command | TODO | Make quick verification easier for users |