This repository includes the implementations of the following Algorithms:
Global Sequence Alignment of two input sequences using affine gap penalty function. (Needleman-Wunch dynamic programming algorithm)
Sequence Alignment of the input sequences using the Star progressive alignment algorithm.
Given the number of input sequences, followed by a column gaps threshold θ, followed by a multiple sequence alignment (either Protein or DNA sequences), followed by a test sequence,
- The transition and emission probabilities of the profile HMM(Alignment, θ) are initiated.
- The forward and backward algorithms are implemented.
- The Hidden Markov model is trained using the Baum-Welch learning algorithm and the input MSA.
- The most likely sequence of hidden states (Viterbi path) is found using the Viterbi algorithm and the aligned output sequence is finally returned.
Using Biopython Phylo Package to work with Phylogenetic trees. It includes the generation of the following trees:
- UPGMA constructed tree
- Neighbor Joining constructed tree
- Maximum Parsimony constructed tree