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.
- Host: GitHub
- URL: https://github.com/shencangsheng/pg_bedtools_rs
- Owner: shencangsheng
- License: mit
- Created: 2024-11-27T03:05:07.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-03-27T14:15:40.000Z (about 2 months ago)
- Last Synced: 2025-03-27T15:27:23.654Z (about 2 months ago)
- Topics: bed, bedtools, pgrx, plugin, position, postgresql, rust
- Language: Rust
- Homepage:
- Size: 12.7 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](./LICENSE.md)
# pg_bedtools_rs
A `PostgreSQL` plugin for `bedtools`, implemented in `Rust`.
## 🌟 Features
- [x] `bed_merge`
## 🛠️ Installer

```bash
cargo install cargo-pgrx --version 0.11.4 --locked
cargo pgrx install --pg-config [PATH]
```### 
```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