/fastchaos

(Integer) chaos game representation for DNA sequences

Primary LanguageRustMIT LicenseMIT

fastchaos


About

fastchaos implement integer chaos game representation (iCGR) algorithm for DNA sequence encoding and decoding. fastchaos is the first complete implementation of the algorithm in a bioinformatic tool aiming at users. It also add to the original algorithm a output file format which is a zst compressed JSON file containing the 3 integers of 100bp subsequences of the supplied sequence. This allow fast encoding and decoding.

fastchaos also implements chaos game representation (CGR) of DNA sequence in a fast tool that draw the representation of a sequence and can compare the CGR image using the DSSIM algorithm.

Installation

git clone https://github.com/Ebedthan/fastchaos.git
cd fastchaos
cargo build --release

User guide

# Encoding DNA sequence into integer chaos game representation
fastchaos encode seq.fa

# Decoding integer chaos game representation into DNA sequence
fastchaos decode seq.icgr

# Draw chaos game representation of DNA sequence
fastchaos draw seq.fa

# Compare multiple chaos game representation image using DSSIM
fastchaos compare images_dir

For full details, do fastchaos -h.

Requirements

  • Rust in stable channel

Minimum Rust version policy

This crate's minimum supported rustc version is 1.74.1.

Note

fastchaos use colored output in help, nevertheless fastchaos honors NO_COLORS environment variable.

Bugs

Submit problems or requests to the Issue Tracker.

License

Licensed under the MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT).