Crates.io | iirs |
lib.rs | iirs |
version | 0.9.2 |
source | src |
created_at | 2024-05-05 22:03:57.161342 |
updated_at | 2024-05-08 22:24:55.332545 |
description | Inverted repeats finder |
homepage | |
repository | |
max_upload_size | |
id | 1230579 |
size | 6,029,769 |
IIRS is an Iupac Inverted RepeatS finder written in rust (rs).
That is, an exact tool for efficient identification of Inverted Repeats (IRs) in IUPAC-encoded DNA sequences as substrings of a large text, allowing also for potential mismatches and gaps.
This is a port of IUPACpal, result of their work on this paper.
Compared to the original this version is faster, platform-independent and modular, facilitating the creation of customized format outputs. It does not require cmake
, libdivsufsort
nor sdsl
.
TODO - but mainly it works much like the original with an extra flag for the type of output format.
There are many examples in the justfile.
This also works as a library: The find_irs
function is exported (think of crates.io).
Download the latest binary from releases and extract it somewhere on your $PATH
.
$ git clone https://github.com/daxida/iirs
$ cd iirs
$ cargo build --release
$ // The binary will be located at `target/release/iirs`
$ git clone https://github.com/daxida/iirs
$ cargo install --path=.
TODO
cargo test
for unit tests.bench.rs
benches against a single file. To use together with just bench
after modifying the parameters in bench.rs
.logs.rs
benches against the cpp binary. You will need a IUPACpal binary (and they only support Linux). The binary is expected to be in the bench folder, but that can be changed in logs.rs
and validate.py
.just printlogs
. You can also modify the steps
in which the binaries are compared. A heatmap will be created per size_seq
(size of sequence). NOTE: There is a requirements.txt
that needs to be previously installed, with libraries like plotly to be able to print the heatmaps.