An open API service indexing awesome lists of open source software.

https://github.com/shencangsheng/pg_bedtools_rs

A PostgreSQL plugin for bedtools, implemented in Rust.
https://github.com/shencangsheng/pg_bedtools_rs

bed bedtools pgrx plugin position postgresql rust

Last synced: 13 days ago
JSON representation

A PostgreSQL plugin for bedtools, implemented in Rust.

Awesome Lists containing this project

README

        

[![MIT licensed](https://img.shields.io/badge/license-MIT-blue.svg)](./LICENSE.md)

# pg_bedtools_rs

A `PostgreSQL` plugin for `bedtools`, implemented in `Rust`.

## 🌟 Features

- [x] `bed_merge`

## 🛠️ Installer

![Local Machine](https://img.shields.io/badge/local%20machine-blue?logo=computer&logoColor=white)

```bash
cargo install cargo-pgrx --version 0.11.4 --locked
cargo pgrx install --pg-config [PATH]
```

### ![Docker](https://img.shields.io/badge/docker-blue?logo=docker&logoColor=white)

```bash
docker run --rm -v $(pwd):/usr/src/app shencangsheng/pgrx:13
cp target/release/pg_bedtools_rs-pg13/root/.pgrx/13.18/pgrx-install/lib/postgresql/pg_bedtools_rs.so ${POSTGRESQL_PATH}/lib/
cp target/release/pg_bedtools_rs-pg13/root/.pgrx/13.18/pgrx-install/share/postgresql/extension/pg_bedtools_rs--0.1.0.sql ${POSTGRESQL_PATH}/extension/
cp target/release/pg_bedtools_rs-pg13/root/.pgrx/13.18/pgrx-install/share/postgresql/extension/pg_bedtools_rs.control ${POSTGRESQL_PATH}/extension/
```

```sql
CREATE EXTENSION pg_bedtools_rs
```

## 📦 Supports

- PostgreSQL 13

## 💡 Trying

Basic example:

```sql
create table tube_probe_bed (
id SERIAL PRIMARY KEY,
chromosome varchar NOT NULL,
pos_start integer NOT NULL,
pos_end integer NOT NULL
);

INSERT INTO
TUBE_PROBE_BED (CHROMOSOME, POS_START, POS_END)
VALUES
('chr1', 5, 10),
('chr1', 10, 14),
('chr1', 7, 15),
('chr1', 22, 30),
('chr1', 25, 35),
('chr2', 5, 10),
('chr2', 7, 15);

select * from bed_merge('tube_probe_bed');
```

Returns:

| CHROMOSOME | POS_START | POS_END |
|------------|-----------|---------|
| chr1 | 5 | 15 |
| chr1 | 22 | 35 |
| chr2 | 5 | 15 |

## 👍 Libraries Used

* [noamteyssier/bedrs](https://github.com/noamteyssier/bedrs)
* [shencangsheng/pgrx-docker](https://github.com/shencangsheng/pgrx-docker)

## 📝 License

A short snippet describing the license (MIT)

MIT © Cangsheng Shen