SEQAL is a global sequence alignment program on which different values for gap opening and extension can be added conserving a quadratic complexity.

The program is written in PERL, a non compilated programation lenguage. This can make it a little bit slower. Anyway, this time is constant and is less important as greather are the sequences

The basic steps which makes the program are:

  1. Sequence scaning:
    • Scan FASTA format sequences
    • Add a gap in the first position of the sequences
  2. Weigh matrix scaning:
    • It is saved in a HASH structure
  3. Creation of the alignment matrix:
    • A bidimensional matrix is created. The maximum values of each possible alineation refered to the previous maximum alineation are saved there.
    • Two tridimensional matrix are generated in which the maximum punctuations related to the number of sequencial GAPs in one or the other sequence are added. The third dimension is required to save the number of GAPs needed to achieve this punctuation. Those matrix make greather the memory requirements, but are esencial to avoid the growth of the algorithm complexity.
    • A bidimensional matrix is created. There will be saved the movements in diagonal 'D', upstream 'U' or leftstream 'L' needed to reconstruct the aligned sequences. The 'L' and 'U' symbols must be paired with the number of the third dimension of the GAPs matrix in order to guide correctly during the sequence reconstruction.
    • From the reconstruction matrix we can construct the two sequences with their new gaps. At the same time we create a symbol vector in wich the probability relations between the elements are shown.
    • We print the result in CLUSTAL format
  4. During the creation of the symbol vector we also calculate the identity, similarity and gap number of the aligned sequences.

For more information watch the ALGORISM.



Main Menu Footer