Skip to main content

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 (latest):

curl -fsSL https://raw.githubusercontent.com/ravishar313/bio-grep/main/scripts/install.sh | bash

Optional version pin:

curl -fsSL https://raw.githubusercontent.com/ravishar313/bio-grep/main/scripts/install.sh | bash -s -- --version 0.1.5

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 jsonl output by default.
  • Stable metadata keys (null when unavailable).
  • Rich filter support for sequence and annotation search.
  • --version flag 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bio_grep-0.1.5.tar.gz (69.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bio_grep-0.1.5-py3-none-any.whl (72.0 kB view details)

Uploaded Python 3

File details

Details for the file bio_grep-0.1.5.tar.gz.

File metadata

  • Download URL: bio_grep-0.1.5.tar.gz
  • Upload date:
  • Size: 69.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","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

Hashes for bio_grep-0.1.5.tar.gz
Algorithm Hash digest
SHA256 853d00d659fbbf2fc9e9953d2cb680af616696fc65cd061ca0880a25fbdca444
MD5 8a099e996d9797d665896f000dbf8d26
BLAKE2b-256 e0fad0c4e51857eafbaabb72551f13382cede9cdd11e3f3f59db0a7d61ce9428

See more details on using hashes here.

File details

Details for the file bio_grep-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: bio_grep-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 72.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","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

Hashes for bio_grep-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 6e83cd8c79532356e4b93003c7c7be17f20622e4b1d38f22970ad045941e297e
MD5 e70eb0a7d0a3c76fbd72204d00b92b3d
BLAKE2b-256 94bfb72bbe6475d257f25e58ea3c7eeb26bb560a98826461012a78a0ea5ddf79

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page