#bio #tools #bioinformatics

app rust-bio-tools

A set of fast and robust command line utilities for bioinformatics tasks based on Rust-Bio

59 releases (21 breaking)

0.24.1 Jul 16, 2021
0.23.0 Jul 7, 2021
0.20.3 Mar 31, 2021
0.16.0 Nov 17, 2020
0.2.4 Mar 6, 2018

#26 in Science

Download history 55/week @ 2021-04-06 114/week @ 2021-04-13 87/week @ 2021-04-20 28/week @ 2021-04-27 67/week @ 2021-05-04 5/week @ 2021-05-11 70/week @ 2021-05-18 2/week @ 2021-05-25 1/week @ 2021-06-01 71/week @ 2021-06-08 1/week @ 2021-06-15 2/week @ 2021-06-22 3/week @ 2021-06-29 22/week @ 2021-07-06 26/week @ 2021-07-13 68/week @ 2021-07-20

126 downloads per month

Custom license and GPL-3.0+

3MB
7.5K SLoC

Rust 6.5K SLoC // 0.0% comments Tera 823 SLoC // 0.0% comments JavaScript 304 SLoC // 0.1% comments

Gitpod Ready-to-Code Bioconda downloads Bioconda version install with bioconda Licence GitHub Workflow Status

Rust-Bio-Tools

A set of ultra fast and robust command line utilities for bioinformatics tasks based on Rust-Bio. Rust-Bio-Tools provides a command rbt, which currently supports the following operations:

  • a linear time implementation for fuzzy matching of two vcf/bcf files (rbt vcf-match)
  • a vcf/bcf to txt converter, that flexibly allows to select tags and properly handles multiallelic sites (rbt vcf-to-txt)
  • a linear time round-robin FASTQ splitter that splits a given FASTQ files into a given number of chunks (rbt fastq-split)
  • a linear time extraction of depth information from BAMs at given loci (rbt bam-depth)
  • a utility to quickly filter records from a FASTQ file (rbt fastq-filter)
  • a tool to merge BAM or FASTQ reads using marked duplicates respectively unique molecular identifiers (UMIs) (rbt collapse-reads-to-fragments bam|fastq)
  • a tool to generate interactive HTML based reports that offer multiple plots visualizing the provided genomics data in VCF and BAM format (rbt vcf-report)
  • a tool to generate an interactive HTML based report from a csv file including visualizations (rbt csv-report)
  • a tool for splitting VCF/BCF files into N equal chunks, including BND support (rbt vcf-split)
  • a tool to generate visualizations for a specific region of one or multiple BAM files with a given reference contained in a single HTML file (rbt plot-bam)

Further functionality is added as it is needed by the authors. Check out the Contributing section if you want contribute anything yourself. For a list of changes, take a look at the CHANGELOG.

Installation

Bioconda

Rust-Bio-Tools is available via Bioconda. With Bioconda set up, installation is as easy as

conda install rust-bio-tools

Cargo

If the Rust compiler and associated Cargo are installed, Rust-Bio-Tools may be installed via

cargo install rust-bio-tools

Source

Download the source code and within the root directory of source run

cargo install

Usage and Documentation

Rust-Bio-Tools installs a command line utility rbt. Issue

rbt --help

for a summary of all options and tools.

Contributing

Any contributions are highly welcome. If you plan to contribute we suggest installing pre-commit hooks. To do so:

  1. Install pre-commit as explained here
  2. Run pre-commit install in the rust-bio-tools base directory

This should format, check and lint your code when committing.

Authors

Dependencies

~65MB
~1.5M SLoC