Sign inSign up

styczynski/bioseqdb

By styczynski

•Updated 4 days ago

Genomic sequence storage, indexing and alignment inside PostgreSQL

Image
Developer tools
Data science
Databases & storage
0

2.0K

styczynski/bioseqdb repository overview

BioseqDB logo

BioseqDB is a PostgreSQL extension for storing, indexing and searching biological sequences with SQL. Combine genomic matches with relational data using compact sequence types and columnar storage!

Experimental, unsigned alpha packages are provided for ARM64 and x86-64 Linux distributions and MacOS on SourceForge here⁠.

The docker images depend on the Linux distribution and Postgres major version, so please check which PG version you want.

⁠Docker quick start

Ubuntu 26.04 + PostgreSQL 19 (prerelease), for amd64 or arm64. Pull the image:

docker pull styczynski/bioseqdb:0.1.0-alpha.1-pg19-ubuntu26.04

Now run the container:

docker run -d --name bioseqdb-demo -e POSTGRES_PASSWORD=demo-change-me \
  -p 127.0.0.1:55432:5432 styczynski/bioseqdb:0.1.0-alpha.1-pg19-ubuntu26.04

Wait for startup:

until docker exec bioseqdb-demo pg_isready -h 127.0.0.1 -U postgres; do sleep 1; done

Now execute client inside the container:

docker exec -it -u postgres bioseqdb-demo psql -U postgres -d postgres

At the psql prompt:

SELECT version();
CREATE TABLE demo (id integer, seq bioseq.seq('dna4', 64)) USING bioseq;
INSERT INTO demo
SELECT 1, string_agg(translate(md5(i::text), '0123456789abcdef', 'ACGTACGTACGTACGT'), '' ORDER BY i)::bioseq.seq('dna4', 64)
FROM generate_series(1, 32) AS i;
SELECT id, bioseq.cigar(seq), bioseq.score(seq) FROM demo WHERE public.mmsearch(seq, seq);

Tag summary

Content type

Image

Digest

sha256:b43689fc1…

Size

231 MB

Last updated

4 days ago

docker pull styczynski/bioseqdb:0.1.0-alpha.1-pg20-arch