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.
nimble requires Python 3 and samtools. It supports the following operating systems:
To install nimble, run the following command:
pip install git+https://github.com/BimberLab/nimble
There is also a docker image.
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
.
Detailed documentation can be found at the wiki.
The source code for the backend aligner can be found here.
To report a bug, ask a question, or request support for a new operating system, please create an issue in this repository.
Köster, J. (2016). Rust-Bio: a fast and safe bioinformatics library. Bioinformatics, 32(3), 444-446.