BimberLab / nimble

nimble — execute lightweight, flexible alignments on arbitrary reference libraries

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

nimble

nimble is a fast, accurate, and configurable RNA sequence alignment tool that executes lightweight alignments on arbitrary reference libraries. It uses pseudo-alignment to rapidly generate supplemental calls to complement a data pipeline's primary alignment. It does this with low overhead, making it possible to run supplemental alignments on almost any machine.

Installation

nimble requires Python 3 and samtools. It supports the following operating systems:

  • Ubuntu
  • CentOS 7
  • Manjaro

To install nimble, run the following command:

pip install git+https://github.com/BimberLab/nimble

There is also a docker image.

Usage

Here's an example of generating a library and using it in an alignment, for both .bam and .fastq.gz inputs:

nimble generate --file lib.csv --opt-file lib.fasta --output_path lib.json

nimble align --reference lib.json,lib2.json,lib3.json --output out.tsv --input data.bam --alignment_path log.tsv.gz --log log.txt --num_cores 8 --strand_filter fiveprime

nimble align --reference lib.json,lib2.json,lib3.json --output out.tsv --input data_r1_fastq.gz data_r2_fastq.gz --alignment_path log.tsv.gz --log log.txt --num_cores 8 --strand_filter unstranded

A library is comprised of an input csv or fasta, or both. nimble align can take one or more libraries via the --reference flag in a CSV string. Every other file will be generated per-library, and the library name will be appended to the filename root. For instance, in this case, the --output files will be out-lib.tsv, out-lib2.tsv, and out-lib3.tsv.

Documentation

Detailed documentation can be found at the wiki.

The source code for the backend aligner can be found here.

Issues

To report a bug, ask a question, or request support for a new operating system, please create an issue in this repository.

References

Köster, J. (2016). Rust-Bio: a fast and safe bioinformatics library. Bioinformatics, 32(3), 444-446.

rust-pseudoaligner

About

nimble — execute lightweight, flexible alignments on arbitrary reference libraries

License:MIT License


Languages

Language:Python 95.7%Language:Dockerfile 3.2%Language:HTML 1.1%