https://github.com/applicativesystem/rust-suffix-lcp-arrays
rust suffix lcp arrays
https://github.com/applicativesystem/rust-suffix-lcp-arrays
algorithms-and-data-structures algorithms-bioinformatics bioinformatics genome-algorithms-bioinformatics genome-bioinformatics genome-sequencing
Last synced: about 1 month ago
JSON representation
rust suffix lcp arrays
- Host: GitHub
- URL: https://github.com/applicativesystem/rust-suffix-lcp-arrays
- Owner: applicativesystem
- License: mit
- Created: 2024-12-19T18:33:30.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-12-19T18:39:06.000Z (10 months ago)
- Last Synced: 2024-12-19T19:34:42.662Z (10 months ago)
- Topics: algorithms-and-data-structures, algorithms-bioinformatics, bioinformatics, genome-algorithms-bioinformatics, genome-bioinformatics, genome-sequencing
- Language: Rust
- Homepage:
- Size: 3.27 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# rust-lcp-arrays
- rust lcp arrays. kasai algorithm says that use a inverse suffix tree but that is cost consuming. Instead, i implemented a string compression way so that it estimates the proportion of the
match based on the ith offset for the i+1 offset. Also dropped two offset, as the string lower than the pre-string will not have a suffix match thus enabling faster search.
- general note: Incase of Golang and RUST, please see the last commit message and if it says compiled binary then it is completed or else still in development version.```
cargo build
```
```
➜ gauravsablok rust-suffix-lcp git:(main) ✗ ./target/debug/rust-lcp-arrays -h
Usage: rust-lcp-arraysArguments:
please provide the path to the fastq fileOptions:
-h, --help Print help
-V, --version Print version
```
- to run the binary
```
./rust-lcp-arrays ./sample-files/sample.fasta
{[28, 19, 24, 15, 11, 7, 21, 4, 0, 20, 3, 25, 16, 12, 8, 27, 18, 23, 14, 10, 6, 2, 26, 17, 22, 13, 9, 5, 1]: LCPArray { suffixindex: [28, 19, 24, 15, 11, 7, 21, 4, 0, 20, 3, 25, 16, 12, 8, 27, 18, 23, 14, 10, 6, 2, 26, 17, 22, 13, 9, 5, 1], suffixarray: ["A", "ACATGACTGA", "ACTGA", "ACTGACATGACTGA", "ACTGACTGACATGACTGA", "ACTGACTGACTGACATGACTGA", "ATGACTGA", "ATGACTGACTGACTGACATGACTGA", "ATGCATGACTGACTGACTGACATGACTGA", "CATGACTGA", "CATGACTGACTGACTGACATGACTGA", "CTGA", "CTGACATGACTGA", "CTGACTGACATGACTGA", "CTGACTGACTGACATGACTGA", "GA", "GACATGACTGA", "GACTGA", "GACTGACATGACTGA", "GACTGACTGACATGACTGA", "GACTGACTGACTGACATGACTGA", "GCATGACTGACTGACTGACATGACTGA", "TGA", "TGACATGACTGA", "TGACTGA", "TGACTGACATGACTGA", "TGACTGACTGACATGACTGA", "TGACTGACTGACTGACATGACTGA", "TGCATGACTGACTGACTGACATGACTGA"], lcparray: [1, 0, 5, 0, 0, 0, 8, 0, 0, 9, 0, 4, 0, 0, 0, 2, 0, 6, 0, 0, 0, 0, 3, 0, 7, 0, 0, 0, 0] }}```
Gaurav Sablok