https://github.com/alejandrogzi/packbed

pack a .bed into overlapping components

https://github.com/alejandrogzi/packbed

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.8%) to scientific vocabulary

Keywords

bed bioinformatics overlapping transcript
Last synced: 5 months ago · JSON representation

Repository

pack a .bed into overlapping components

Basic Info
  • Host: GitHub
  • Owner: alejandrogzi
  • License: mit
  • Language: Rust
  • Default Branch: main
  • Homepage:
  • Size: 303 KB
Statistics
  • Stars: 2
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 5
Topics
bed bioinformatics overlapping transcript
Created over 1 year ago · Last pushed 11 months ago
Metadata Files
Readme License

README.md

packbed

Version Badge Crates.io Version GitHub License Crates.io Total Downloads

pack a .bed into overlapping components

Features

  • pack any number of .bed files into overlapping components through a binary, Rust library or Python module
  • write a unique overlapping-component-colorized bed file out of any number of .bed files through a binary, Rust library or Python module
  • split components into separate .bed files through a binary, Rust library or Python module
  • write serialized components to a binary file through a binary and Rust library
  • read serialized components from a binary file through a Rust library or Python module
  • write specific components each to a different .bed file through a Rust library or Python module

What's new on packbed v0.0.7!

  • Implements a new query range algorithm to pack components
  • Reduces time by more than x25 when working with more than 1 million reads

Usage

Binary

``` bash Usage: packbed [OPTIONS] --bed ... --output

Arguments: -b, --bed ... Paths to BED12 files delimited by comma -o, --output Path to output BED12 file [not required if -c flag is set]

Options: -t, --threads Number of threads [default: 8] --type Type of output [default: bed] [possible values: bin, comp, bed] --overlap_type Type of overlap [default: exon] -s, --subdirs Flag to split components into separate BED files in subdirectories --colorize Flag to colorize components in output BED(s) file -h, --help Print help --version: Print version ```

[!TIP] If you want to get components in separate .bed files use: bash packbed -b path/to/b1.bed,path/to/b2.bed -o path/to/output --type comp in case you want to send each component to a different subdirectory (good to parallelize processes): bash packbed -b path/to/b1.bed,path/to/b2.bed -o path/to/output --type comp -s if you want to colorize the components but send them all to just 1.bed file [default]: bash packbed -b path/to/b1.bed,path/to/b2.bed -o path/to/output --colorize

Library

``` rust use packbed::packbed;

fn main() {

let bed1 = PathBuf::new("/path/to/b1.bed");
let bed2 = PathBuf::new("/path/to/b2.bed");
let beds = vec![bed1, bed2];

let overlap_type = OverlapType::Exon;
let colorize = true;

let comps: HashMap<String, Vec<Vec<Arc<GenePred>>>> = packbed(
    beds,
    overlap_type,
    colorize)
.unwrap();

} ```

Python

build the port to install it as a pkg: bash git clone https://github.com/alejandrogzi/packbed.git && cd packbed/py-packbed hatch shell maturin develop --release use it: ``` python from packbed import pack

beds = ["path/to/bed1.bed", "path/to/bed2.bed"] comps = pack(beds) ```

crate: https://crates.io/crates/packbed

Owner

  • Name: Alejandro Gonzales-Irribarren
  • Login: alejandrogzi
  • Kind: user

GitHub Events

Total
  • Release event: 6
  • Watch event: 2
  • Push event: 18
  • Create event: 5
Last Year
  • Release event: 6
  • Watch event: 2
  • Push event: 18
  • Create event: 5

Packages

  • Total packages: 1
  • Total downloads:
    • cargo 5,870 total
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 8
  • Total maintainers: 1
crates.io: packbed

pack a .bed into overlapping components

  • Versions: 8
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 5,870 Total
Rankings
Dependent repos count: 25.2%
Dependent packages count: 33.4%
Average: 51.7%
Downloads: 96.4%
Maintainers (1)
Last synced: 6 months ago