MULTIPLE SEQUENCE ALIGNMENT
7.1.	Cluster alignments
Alignment of several related sequences, maximising the display of homology, is used to highlight conserved and diverging regions. This can be done using GAP/out several times, until no more pairs of comparisons introduce new gaps.

That method takes a lot of time, and can introduce some spectacular errors. Some sequences happen to be arranged so that repeated gapping in pairs always introduces new gaps.

To avoid these problems, sequences are best aligned in pairs, and the resulting groups aligned by a "cluster method". The programs PILEUP and GCLUSTALV both use the cluster method to align all the sequences.

7.1.1.	PILEUP
We first define the set of sequences we wish to align. One way is to make a file of sequence names (FOSN) using the VAX editor. For this exercise we shall align three Ig heavy chain proteins that are in the PIR1 database:
$Edit prot.fil
*Change
pir1:avms67
pir1:evrtr2
pir1:hvcqg4
<ctrl-Z>
*exit

If you prefer to do the exercise with RRNA sequences, try it with the following five entries in the EMBL database: BA5SRR, BE5SRR, CC5SRR, GC5SRR, HF5SRR.

Check the FOSN file is correct before starting the alignment, then:
$ Pileup
 PileUp of what sequences ?  @prot.fil
   1          Avms67   144 aa
   2          Evrtr2   142 aa
   3          Hvcqg4   117 aa
 What is the gap weight (* 3.00 *) ?  
 What is the gap length weight (* 0.10 *) ?  
{accept defaults}
 What should I call the output file name (* PileUp.MSF *) ? 
 Submit Pileup job to which batch queue (* LONG *) ? short

You will receive a message when the job is completed, or you might log off and come back later. Always check the LOG file to see if the job ran correctly.

The files created are : PILEUPMSF.LOG, PILEUP.MSF and PILEUP.FIGURE

PILEUP.MSF shows the multiple alignment, with gaps added. Run the program FIGURE to see how the clusters were aligned.
$ Figure Pileup.figure

7.1.2.	GCLUSTALV
GCLUSTALV converts GCG sequence files to PIR format, then runs a non-GCG program ClustalV. ClustalV aligns the PIR format sequences and writes out the alignments into the required format such as a GCG MSF file.

As in the previous exercise, you must first make a FOSN. We will do it a different way this time. First - copy the PIR1 entries using FETCH and pretend they are your own sequence files:

FETCH the relevant files:
$ FETCH @PROT.FIL

The sequences copied from the PIR1 database are now in files called avms67.pir1, evrtr2.pir1 and hvcgg4.pir1. Now, using the VAX editor, create a file of sequence names called CLUST.FIL (Enter the names of the files, ending .PIR1, just fetched)
$ Edit CLUST.FIL
*Change
avms67.pir1
evrtr2.pir1
hvcqg4.pir1
<ctrl-Z>
*ex

To run GCLUSTALV:
$ GCLUSTALV
GCLUSTALV with what LINEUP file ? @CLUST.FIL
Choose output format:
       [GCG] GCG MSF format
       [PHY] PHYLIP format
       [PIR] PIR format 
       [CLU] Clustal format
Which format (* GCG *) ?
Are the sequences (P)rotein or (D)NA (* P *) ?
Choose weight matrix:
       [250] PAM 250
       [100] PAM 100
       [ID] Identity matrix
Which matrix, or give filename (* 250 *) ? 
What fixed gap penalty [1-500] (* 10 *) ? 
What floating gap penalty [1-500] (* 10 *) ? 
Submit to which batch queue (* LONG *) ? Short 
Job GCLUSTALV (queue ARCB$SHORT, entry 164) started on ARCB$SHORT 
Your output files should be CLUST.MSF and CLUST.DND
Logfile created as CLUST.LOG;

When the batch job has completed, the new files are:

CLUST.MSF - The alignment results.
CLUST.DND - The dendrogram for use with the interactive program ICLUSTALV.
CLUST.LOG - The log file.

CLUSTALV provides more than one symbol comparison table. The choice of table can influence the alignment!

7.2.	Manual alignment
LINEUP allows you to arrange and edit the sequence part of several files simultaneously. Programs like PILEUP, GCLUSTALV and GAP only align using symbol data (the sequence). LINEUP allows you to to align the sequences to reflect structural and functional relationships.

Each sequence is displayed on a separate line. The program works in a similar way to the VAX editor - enter ctrl-Z to get to the command mode. Exit is used to leave LINEUP
$ Lineup/msf
LINEUP of what sequence group ?  clust.msf

1) You will now create room for a consensus sequence. The command NEW creates an empty file. AUTOCONSENSUS writes the consensus sequence to a new line in the MSF file.
Ctrl-Z
New

Create a NEW sequence. Enter name (nine letter max): CLUST (the same name as the group)

2) Move the cursor down to an empty line, press return.

3) You are still in the command mode, as the cursor is in the bottom left of the screen, so enter: Autoconsensus

The program writes the consensus sequence to the new line. Any changes made to the other sequences will be reflected in the consensus. NB: The consensus is by character matching, and a majority-decision.

4) Press return. Use the up-down arrows keys to move up one line.

5) Move to position 81 by typing 81 (you won't see it) and press return. (position 33 if using the RNA example).

6) Delete the gap (dot character).

7) Add and delete the dot - watch the consensus sequence change.

8) Return to position 1 (CTRL-H). Enter /LV (/CCAT if editing RNA)

9) Enter / to find the next occurence of LV. You can find any given sequence pattern, using /

10) Make sure that all sequences are the same length if you wish to use PROFILE. Use Ctrl-z and write to save the (edited) files. The consensus sequence is written to a line in the MSF file called CLUST.

11) Try the following commands (after CTRL-Z): ROWMOVE, MOVE, RENAME. REMOVE deletes a fragment, and GET (as in SEQED) reads in a new fragment.

CTRL-Z
EXIT when finished.

7.3.	Alignments displays
For a text file of the completed lineup and consensus use PRETTY.
$ Pretty
 PRETTY format what sequence(s) ?  chn.msf{*}
 What should I call the output file (* Pretty.Pretty *) ?  

Type chn.pretty to see the output. We can use PRETTY in other ways to show the differences between the contributing sequences and the consensus.
$ Pretty/case/consensus chn.msf{*}
 What should I call the output file (* Pretty.Pretty *) ?  

Type the file CASE.PRETTY. The consensus is calculated using a comparison table. All symbols that disagree with the consensus are shown in lower case. Symbols that agree are shown in upper case. Or do they? - look closely. (HINT: W's).

$ PRETTY/diff/consensus chn.msf{*}
 What should I call the output file (* pretty.pretty *)? diff.pretty

Type the file DIFF.PRETTY. This shows ONLY the consensus and the differences from the consensus. But you should be aware of the default threshold value of 1.00

$ PRETTY/case/Consensus/Threshold=1.3 chn.msf{*}
 What should I call the output file (* pretty.pretty *)? thr.pretty

Type THR.PRETTY. Only at this threshold level can we see the difference between the V (valine) and I (isoleucine) symbols. W/Y are also different, but F/Y remain "identical" as their comparison value is 1.4. The L/M comparison is exactly 1.3

7.3.1.	Threshold, plurality and weightings
The "threshold" value determines whether, or not, an identity can "vote". "Plurality" sets the number of votes to be attained for a consensus to be decided. For each contributing symbol, its number of votes can be increased or decreased by setting a "weighting" see the top of the file CHN.MSF

PRETTY/UGLY extracts sequences from a PRETTY file, giving them the extension .UGLY, and a .FIL (file of sequence name) to match.

7.4.	Boxed graphic displays
Two programs which are additions to the GCG package draw boxes around conserved regions. PRETTYPLOT draws lines to include the conserved regions, and can be produced on any plotting device. PRETTYBOX draws shaded boxes, but ONLY gives Postscript output. The output from PRETTYBOX must be sent to the correct type of printer to see the full display.

7.4.1.	PRETTYPLOT
$ PRETTYPLOT/Consensus chn.msf{*}

7.4.2.	PRETTYBOX
On Agrenet PRETTYBOX  sends output to a file called PRETTYBOX.PS by default.
$ PRETTYBOX/case chn.msf{*}
 .
 .
$ Print/q=laserxxx prettybox.ps