Fast queries of BESD (Binary Efficient Sequential Data) eQTL summary statistics. Supports direct file access and an optimised SQLite index for repeated queries.
- No database server required — queries run directly against BESD files or a local SQLite index
- SMR-compatible output — drop-in replacement for SMR query workflows
- 10–200× faster than direct BESD access when using the SQLite index for repeated queries
- Compact storage — index is 50–70% the size of the original BESD files
See docs/performance-westra.md for benchmarks.
git clone https://github.com/explodecomputer/besdq.git
cd besdq
pip install -e .Query BESD files directly (no setup):
besdq --beqtl-summary data/westra_eqtl_hg19 \
--snp-chrpos 1:100000-2000000 \
--probe-chrpos 1:1000000-2000000 \
--out results/outputQuery via SQLite index (faster for repeated queries):
# One-time index creation
besdq --beqtl-summary data/westra_eqtl_hg19 --index data/westra_eqtl_hg19.db
# Query the index
besdq --besd-index data/westra_eqtl_hg19.db \
--snp-chrpos 1:100000-2000000 \
--probe-chrpos 1:1000000-2000000 \
--out results/outputFull usage reference: docs/usage.md
| Audience | Document |
|---|---|
| Analysts | docs/usage.md — installation, all query modes, Python API |
| Developers | docs/developer.md — architecture, file format, design decisions |
| Evaluators | docs/performance.md — benchmarks |
Built on the BESD format from the SMR software by Jian Yang's group.
MIT