Multiple sequence alignments are usually done between sequences of similar length, which resembles best a global alignment. However, I'm not sure at all what the algorithmic background would be in such case. Is it essentially a global or a local alignment when one performs a multiple sequence alignment?
It is dangerous to generalize, as different multiple sequence alignment (MSA) programs may well employ different algorithms. However as the objective is to align many sequences along their whole length, and all MSA programs of which I am aware present the results as such, it is difficult to envisage anything other than global alignment being employed.
For the widely used Clustal W and X, this is certainly the case. Clustal employs a progressive alignment algorithm which involves the heuristic assumption that the most closely aligned sequences by pairwise alignment are a valid basis for the order in which progressive multiple alignment is performed. The initial pairwise alignments (which are used to produce a guide tree) use dynamic global alignment, as does each progressive alignment step, although this alignment is to a profile of previously aligned sequences, and uses context-dependent scoring.
There is an extensive Wikipedia article on MSA and one of the original Clustal papers is freely available on-line. The excellent book by Durbin et al., Biological Sequence Analysis, contains a chapter on the topic.
Multiple sequence alignment is a very complex task and there are several approaches depending on what you are looking for.
A global alignment might find the overall closest region. However, it is a well known problem with the lengths. If sequences lengths are very different this can be generate bad alignments.
Local alignment is seeking for the best matching regions along sequences.
It is well known that some genomic regions tend to accumulate more mutations than others. For this the idea of domains is suggested. The main idea behind (and to make it simpler) is like performing several local alignemnts in order to get the optimum alignments for different regions of you sequences.
There are many algorithms that implemented very different methods to do so: from pairwise alignments to HMM profiles.
I would recommend to read this article.
Just as James said these terms are not mutaully exclusive.
you statement is not correct:
Multiple sequence alignments are usually done between sequences of similar length
It really depends on what you want to achive with your MSA (multiple seqeunce alignment). First some brief explanation about local and global alignment(the difference between these two is described previously in this question):
local alingment: trying to match a portion of your sequence of interest with another sequence, this could be done with MSA think about BLAST. Using BLAST you are performing a local sequence alignment with all the sequences in the database. When using this local alignment you are focusing on parts which overlap between your sequence with those in the database --> clue about domains e.g.
global alginemnt: the matching of the whole sequence with another sequence, which DON'T have to be equal in size. When using a global alignment with sequences of different length e.g. what will happen is that depending on the algorithm that is being used (Needleman–Wunsch), there will be gaps inserted to match those sequences over the whole length.
Some practical examples when to use which alignment:
- Making profiles of a group of proteins --> global alignment
- Intersted in homologous proteins --> most of the time you use a local sequence alignment especially when you know the homologs are quite distance, so there is not much sequence similarity.
- searching proteins which could have simillair function --> local alignment, BLAST will give you the proteins which have same domains e.g. or the same structure when blasting againt the PDB database, which can give you major clues about the function of the protein of interest.
NOTE that these suggestions are just some examples, some people will prefer an other option.