Skip to content

Commit 138f52f

Browse files
committed
docs: update readme
1 parent 94ea2ff commit 138f52f

File tree

1 file changed

+46
-21
lines changed

1 file changed

+46
-21
lines changed

README.md

Lines changed: 46 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,36 @@
1-
# chaoscoder
1+
# 🧬 chaoscoder
22

3-
*DNA Sequence encoding, decoding and analysis using (Integer) Chaos Game Representation*
3+
**DNA sequence encoding, decoding, and analysis using (Integer) Chaos Game Representation**
44

5-
[![Continuous Integration](https://github.com/Ebedthan/chaoscoder/actions/workflows/ci.yml/badge.svg)](https://github.com/Ebedthan/chaoscoder/actions/workflows/ci.yml)
5+
[![CI](https://github.com/Ebedthan/chaoscoder/actions/workflows/ci.yml/badge.svg)](https://github.com/Ebedthan/chaoscoder/actions/workflows/ci.yml)
66
[![codecov](https://codecov.io/gh/Ebedthan/chaoscoder/branch/main/graph/badge.svg?token=K7VN5TH6EZ)](https://codecov.io/gh/Ebedthan/chaoscoder)
7-
<a href="https://github.com/Ebedthan/chaoscoder/blob/master/LICENSE">
8-
<img src="https://img.shields.io/badge/license-MIT-blue?style=flat">
9-
</a>
10-
<br/>
7+
[![License: MIT](https://img.shields.io/badge/license-MIT-blue?style=flat)](https://github.com/Ebedthan/chaoscoder/blob/master/LICENSE)
118

12-
## 🗺️ Overview
13-
`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).
27+
28+
```bash
29+
git clone https://github.com/Ebedthan/chaoscoder.git
30+
cd chaoscoder
31+
cargo build --release
32+
```
1433

15-
`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/).
1634

1735
## Installation
1836

@@ -22,35 +40,42 @@ cd chaoscoder
2240
cargo build --release
2341
```
2442

25-
## User guide
43+
## 🛠️ Usage
44+
45+
Here are the main commands available
2646

2747
```bash
28-
# Encoding DNA sequence into integer chaos game representation
48+
# Encode a FASTA sequence to iCGR format
2949
chaoscoder encode seq.fa
3050

31-
# Decoding integer chaos game representation into DNA sequence
51+
# Decode an iCGR file back to the original sequence
3252
chaoscoder decode seq.icgr
3353

34-
# Draw chaos game representation of DNA sequence
54+
# Generate a CGR image from a DNA sequence
3555
chaoscoder draw seq.fa
3656

37-
# Compare multiple chaos game representation image using DSSIM
57+
# Compare CGR images in a folder using DSSIM
3858
chaoscoder compare images_dir
3959
```
4060

4161
For full details, do `chaoscoder -h`.
4262

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)
4567

4668

4769
### Minimum Rust version policy
4870
This crate's minimum supported `rustc` version is `1.82.0`.
4971

5072

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).
5377

5478

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

Comments
 (0)