Crates.io | packbed |
lib.rs | packbed |
version | 0.0.8 |
source | src |
created_at | 2024-10-04 08:39:09.917962 |
updated_at | 2024-12-02 15:36:55.160149 |
description | pack a .bed into overlapping components |
homepage | https://github.com/alejandrogzi/packbed |
repository | https://github.com/alejandrogzi/packbed |
max_upload_size | |
id | 1396289 |
size | 57,598 |
pack a .bed into overlapping components
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: packbed [OPTIONS] --bed <PATHS>... --output <PATH>
Arguments:
-b, --bed <PATHS>... Paths to BED12 files delimited by comma
-o, --output <PATH> Path to output BED12 file [not required if -c flag is set]
Options:
-t, --threads <THREADS> Number of threads [default: 8]
--type <TYPE> Type of output [default: bed] [possible values: bin, comp, bed]
--overlap_cds Flag to overlap only cds regions
--overlap_exon Flag to overlap only exon regions
-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:
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):
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]:
packbed -b path/to/b1.bed,path/to/b2.bed -o path/to/output --colorize
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_cds = true;
let overlap_exon = false;
let colorize = true;
let comps: HashMap<String, Vec<Vec<Arc<GenePred>>>> = packbed(
beds,
overlap_cds,
overlap_exon,
colorize)
.unwrap();
}
build the port to install it as a pkg:
git clone https://github.com/alejandrogzi/packbed.git && cd packbed/py-packbed
hatch shell
maturin develop --release
use it:
from packbed import pack
beds = ["path/to/bed1.bed", "path/to/bed2.bed"]
comps = pack(beds)