You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
`chaoscoder` implement [integer chaos game representation (iCGR) algorithm](https://www.liebertpub.com/doi/abs/10.1089/cmb.2018.0173) for DNA sequence encoding and decoding. `chaoscoder` 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.
9
+
---
10
+
11
+
## 🌟 Overview
12
+
13
+
`chaoscoder` is a high-performance Rust tool for transforming DNA sequences into visual or numerical formats using **Chaos Game Representation (CGR)** and its improved version, **Integer Chaos Game Representation (iCGR)**. It is the **first user-oriented implementation** of iCGR, supporting encoding, decoding, visualization, and comparison workflows.
14
+
15
+
### ✨ Features
16
+
17
+
- ✅ **iCGR Encoding/Decoding** of DNA sequences using a robust, lossless integer-based method
18
+
- ✅ **Efficient block-based encoding** for long sequences (100 bp windows)
19
+
- ✅ **CGR image generation** from DNA sequences
20
+
- ✅ **Similarity analysis** using the [DSSIM algorithm](https://github.com/kornelski/dssim) for comparing CGR images
21
+
22
+
---
23
+
24
+
## 🚀 Installation
25
+
26
+
You’ll need a [Rust](https://rust-lang.org/tools/install) toolchain (`stable` channel).
`chaoscoder` also implements [chaos game representation (CGR) of DNA sequence](https://academic.oup.com/nar/article-abstract/18/8/2163/2383530) in a fast tool that draw the representation of a sequence and can compare the CGR image using the [DSSIM algorithm](https://github.com/kornelski/dssim/).
16
34
17
35
## Installation
18
36
@@ -22,35 +40,42 @@ cd chaoscoder
22
40
cargo build --release
23
41
```
24
42
25
-
## User guide
43
+
## 🛠️ Usage
44
+
45
+
Here are the main commands available
26
46
27
47
```bash
28
-
#Encoding DNA sequence into integer chaos game representation
48
+
#Encode a FASTA sequence to iCGR format
29
49
chaoscoder encode seq.fa
30
50
31
-
#Decoding integer chaos game representation into DNA sequence
51
+
#Decode an iCGR file back to the original sequence
32
52
chaoscoder decode seq.icgr
33
53
34
-
#Draw chaos game representation of DNA sequence
54
+
#Generate a CGR image from a DNA sequence
35
55
chaoscoder draw seq.fa
36
56
37
-
# Compare multiple chaos game representation image using DSSIM
57
+
# Compare CGR images in a folder using DSSIM
38
58
chaoscoder compare images_dir
39
59
```
40
60
41
61
For full details, do `chaoscoder -h`.
42
62
43
-
### Requirements
44
-
-[Rust](https://rust-lang.org) in stable channel
63
+
## 📦 Requirements
64
+
65
+
Rust ≥ 1.82.0 (minimum supported version)
66
+
Optional: fontconfig and pkg-config (for CGR rendering, may require system dependencies)
45
67
46
68
47
69
### Minimum Rust version policy
48
70
This crate's minimum supported `rustc` version is `1.82.0`.
49
71
50
72
51
-
### Bugs
52
-
Submit problems or requests to the [Issue Tracker](https://github.com/Ebedthan/chaoscoder/issues).
73
+
### 🐛 Bugs & Feedback
74
+
75
+
Found a bug? Have a feature request?
76
+
Open an issue on the GitHub [Issue Tracker](https://github.com/Ebedthan/chaoscoder/issues).
53
77
54
78
55
-
### License
56
-
Licensed under the MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT).
79
+
### 📄 License
80
+
This project is licensed under the MIT License.
81
+
See [LICENSE-MIT](LICENSE-MIT) (or [http://opensource.org/licenses/MIT](http://opensource.org/licenses/MIT)) for details.
0 commit comments