Local-first biological sequence search engine
Project description
bio-grep
bio-grep is a local-first biological search engine for fast iterative querying over FASTA, FASTQ, GFF3, GTF, BED, VCF, SAM/BAM, GenBank, and EMBL corpora.
Install
pip install "bio-grep[bam]"
or
uv tool install "bio-grep[bam]"
One-line installer (tag-pinned):
curl -fsSL https://raw.githubusercontent.com/ravishar313/bio-grep/v0.1.1/scripts/install.sh | bash
Quick Start
Index one or more files:
bio-grep index data/fasta/*.fasta --index-dir . --k 7
Run a motif search:
bio-grep search --motif "C..C" --top-k 20 --index-dir .
Search annotation formats:
bio-grep search --file-type gff --region "chr1:120-300" --feature-type-exact gene --top-k 20 --index-dir .
bio-grep search --file-type vcf --region "chr1:1-1000000" --filter-exact PASS --top-k 20 --index-dir .
bio-grep search --file-type sam --seqid-exact chr1 --mapq-gte 30 --top-k 20 --index-dir .
Fetch full sequence payload by ID:
bio-grep fetch s1 --index-dir .
Highlights
- Agent-first compact
jsonloutput by default. - Stable metadata keys (
nullwhen unavailable). - Rich filter support for sequence and annotation search.
--versionflag for CLI/version pinning workflows.
Python API
from pathlib import Path
from bio_grep.engine import BioGrep
bio = BioGrep(base_dir=Path("."), k=7)
bio.index([Path("data/fasta/uniprot_reviewed_human_250.fasta")])
rows = bio.search(motif="C..C", length_lt=200).top_k(10)
print(rows[0]["id"], rows[0]["score"])
Project Links
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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 bio_grep-0.1.1.post2.tar.gz.
File metadata
- Download URL: bio_grep-0.1.1.post2.tar.gz
- Upload date:
- Size: 57.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
159d19e470bc34ff56982e7bd40b326bdcbcd68b054c9b1b3e28211383d45f36
|
|
| MD5 |
7483ae1f9bc9f66ad7063e39d8e5bd26
|
|
| BLAKE2b-256 |
5cb52c80642dac0568eb13d682ae2afccfd73c4a013a7d010bc4be33c1dad63f
|
File details
Details for the file bio_grep-0.1.1.post2-py3-none-any.whl.
File metadata
- Download URL: bio_grep-0.1.1.post2-py3-none-any.whl
- Upload date:
- Size: 62.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7ee2c04374a23d77c9d3871ca8862087582aa63024c8a189f56e6946240debbd
|
|
| MD5 |
5d328dfd4000d422c366361c9533cec3
|
|
| BLAKE2b-256 |
9456ed286cfc984d1239d7ffe1669f39a45d64556ae8bdb1599400ffa053a473
|