This Rust project aims to provide a robust and efficient solution for basic DNA sequence analysis, including sequence alignments and mutation detection. Leveraging the power of Rust's performance and safety features.
-
Pairwise Sequence Alignment: Utilize the Smith Waterman algorithm for global, semiglobal, and local pairwise sequence alignments.
-
Partial Order Alignment (POA): It is particularly useful when dealing with sequences that exhibit significant variations or insertions and deletions (indels). POA extends traditional pairwise alignment methods to handle multiple sequences simultaneously.
-
Mutation Detection: Detect mutations in DNA sequences, allowing for the identification of variations and differences between sequences.
- Rust: Ensure that Rust is installed on your system. If not, you can install it from https://www.rust-lang.org/tools/install.
- Clone the repository:
git clone https://github.com/rustdelhi/DNASequenceAnalysis.git
- Navigate to the project directory:
cd DNASequenceAnalysis
- Build the project:
cargo build --release
- Run the project with 2 FASTA files that contains only 1 sequence each (Example files included in assets folder):
cargo run --release -- --reference ./assets/SARS-beta.fasta --query ./assets/SARS-delta.fasta --print
Example output:
Score:
+---------+------------+--------------+------------+-----------+-------+
| match | miss_match | substitution | insertions | deletions | total |
+---------+------------+--------------+------------+-----------+-------+
| 29707 | 156 | 85 | 13 | 58 | 30019 |
+---------+------------+--------------+------------+-----------+-------+
time taken: 11.037773246s
Run cargo run --release -- --help
to know more about CLI usage