Computational methods in bioinformatics (2015-2016)

Practical 1

Pairwise sequence alignment

Aims

Objectives

After this practical you will be able to:

Exercises

Copy the example programs from directory /chalmers/users/kemp/TDA507/practical1 (also available online).
Compile and run these programs.

  1. Modify the program global_alignment.c (or GlobalAlignment.java) so that an extra line of output is printed between the two aligned sequence, indicating exact matches with the character "|", e.g.

        AT-CGAT
        || || |
        ATACG-T
        
  2. Modify the program global_alignment.c (or GlobalAlignment.java) so that the percent identity between the two sequences is written out.
    Add a comment to your program explaining how you have decided to calculate the percent identity.

  3. Modify the program global_alignment.c (or GlobalAlignment.java) to output the Hamming distance between the aligned sequence strings.

  4. Copy the program global_alignment.c (or GlobalAlignment.java) to the file local_alignment.c (or LocalAlignment.java). Modify this program so that it implements the Smith-Waterman algorithm for finding an optimal local alignment.
    Test your program with the sequences "PAWHEAE" and "HDAGAWGHEQ".

  5. Copy the program global_alignment.c (or GlobalAlignment.java) to the file levenshtein.c (or Levenshtein.java). Modify this program so that it calculates the Levenshtein distance (edit distance) between the two sequence.

  6. Modify the program global_alignment.c (or GlobalAlignment.java) so that it counts the total number of optimal alignments for the two sequences.
    Test your program with the sequences "ATTA" and "ATTTTA".

  7. Modify the program global_alignment.c (or GlobalAlignment.java) so that it writes out all of the optimal alignments for the two sequences.

What to submit

You should submit your solutions via the Fire system. More details to follow soon.

Everyone should do questions 1, 2, 3 and 4. Those aiming for a higher grade should also attempt questions 5, 6 and 7.

Test your programs with suitable test data. Upload the following to the Fire system:


Last Modified: 3 November 2015 by Graham Kemp