BioSeqAlign is a Java-based tool for aligning DNA sequences using Dynamic Programming.
It identifies the Longest Common Subsequence (LCS) between two DNA strands, highlighting similarities that may indicate functional or evolutionary relationships.
- Implements the Longest Common Subsequence (LCS) algorithm.
- Efficient sequence alignment using dynamic programming.
- Clear console output with subsequence and length.
-
Clone this repository:
git clone https://github.com/Dakarplay/BioSeqAlign.git cd BioSeqAlign -
Compile the project
javac -d bin src/lib/LCS.java src/App.java
-
Run the program:
java -cp bin App
The input DNA sequences are defined in App.java. Modify the variables X and Y to test different alignments.
Input:
- Sequence 1: ACTGAAAAATTTTTTTTTTTTTCCGGGGGGGGGGAAAAAAA
- Sequence 2: TCAAGGGGGTCAAAAAAAAAAACGTGA
Output:
- Longest Common Subsequence: TAAGGGGGAAAAAAA
- Length of the LCS: 15
- Time Complexity: O(m * n)
- Space Complexity: O(m * n)
Where m and n are the lengths of the input sequences.
Developed by Dago Palmera