This repository contains an implementation of the Smith-Waterman algorithm for local sequence alignment. The Smith-Waterman algorithm is used in bioinformatics to identify similarities and alignments between biological sequences such as DNA or protein sequences. It is used to infer structural, functional and evolutionary relationship between the sequences.
-
Choose to manually enter the two sequences to be aligned. (here, random initiation for sample)
-
Enter the match and mismatch score for the alignment.
-
The program runs on the data to generate a alignment matrix.
-
Traceback is done to find the alignment.
-
The result along with the trace back map is returned
To use this program, follow the instructions below:
-
Clone the repository to your local machine or download the source code files.
-
Make sure you have Python 3 installed on your machine.
-
Install the required dependencies by running the following command:
pip install numpy -
Run the program using the following command:
python sequence_alignment.py -
You will be prompted to choose between manually entering two sequences or generating random sequences. If you choose manual input, enter the sequences when prompted. Otherwise, the program will generate random sequences for you.
-
The program will display the input sequences, perform the Smith-Waterman algorithm for local sequence alignment, and output the aligned sequences along with a visual representation of the optimal alignment path.
Feel free to use, modify, and distribute this code. Contributions are welcome! If you have any suggestions, bug reports, or feature requests, please open an issue or submit a pull request.
This implementation is based on the Smith-Waterman algorithm and is inspired by bioinformatics applications. The algorithm was developed by Temple F. Smith and Michael S. Waterman.

