msa(1.0)

NAME
msa - multiple sequence alignment

SYNOPSIS

msa [-m] [-g] [-b] [-o] [-d<int>] [-e <filename>]
[-c <filename>] [-f <filename>] <input filename>

DESCRIPTION

Functionally, msa will read a file containing several protein sequences and attempt to produce a multiple alignment of these sequences, which it will write to standard output.

OPTIONS

-m  Turns off the optimal multiple alignment segment of the program. This allows the user to see the heuristic alignment and other data produced by the program before the it attempts to produce an optimal multiple alignment.

-g  Charges terminal gaps the same as internal gaps. As a default, no charge is made for the existance of a terminal gap.

-b  The cost of a multiple alignment is taken to be the unweighted sum of all the pairwise alignments. In the absense of this flag,
     the program estimates an evolutionary tree and uses it to assign weights to each pairwise alignment using either rationale-1 or rational-2 as described in Altschul et al., J. Molec. Biol. 208 (1989). Which of these rationales is used depends on a flag set in "defs.h" at compilation time.

-o  Suppresses output to standard error concerning the progress of the program.

-d<int>
    Specifies the maximum score of an optimal multiple alignment. Default is calculated from the scores of the optimal pairwise alignments, the weights, and the epsilons.

-e <filename>
    User specified epsilons for each pairwise alignment. As a default, the program calculates an heuristic multiple alignment and uses it to set epsilons for each pairwise alignment. Frequently the "optimal multiple alignment" will be found to have observed epsilons exceeding those supplied or calculated. When this is the case, it is advisable to rerun the program using suitably augmented epsilons. The file named here should have integers separated by spaces or newlines or both, with one integer for each pair of sequences in the order 1-2, 1-3, ... , 1-N, 2-3, ... , (N-1)-N.

-c <filename>
    Allows the user to specify the cost for a gap, as well as the cost for aligning any pair of letters or a letter with a null. The default is PAM-250 costs for protein sequences, using the one-letter code. The format of this file is an integer, followed by all possible pairs of alligned symbols followed by their cost. For example, the file might begin as follows:
    	3
    	- - 0
    	- A 1
    	A C 2
    This would specify a cost of 0 for aligning a null symbol with another null symbol, a cost of 1 for aligning an A with a null symbol, etc., and an additional cost of 3 for the existence of a gap. The program assumes the costs are symmetric, so that there is no need to have a line for C A as well as for A C. All costs must be non-negative integers.

-f <filename>
    Allows the user to force the alignment of certain residues. The file referred to must have one or more lines of the following format:
    	seqs.| "S" precedes block start | "L" precedes block length
    For example, the line
    	2 3 5  	S 22 21 25 	L 10  	S 35 36 41 	L 1
    would force positions 22 to 31 of sequence 2 to be aligned with positions 21 to 30 of sequence 3 and positions 25 to 34 of sequence 5; it would alse force position 35 of sequence 2 to be aligned with position 36 of sequence 3 and position 41 of sequence 5. Needless to say, all positions forced into alignment must be mutually consistent.

<input filename>
    This is a file containing the sequences to be aligned. Each sequence must have a title line beginning with the character ">", followed by or more lines specifying the sequence. For example, the first several lines of this file could be:
    >Human hemoglobin alpha chain fragment
    PTTKTYFPHF DLSHGSAQVK GHGKKVADAL TNAVAHVDDM
    PNALSALSDL HAHKLRVDPV NFKLLSHCLL VT
    >Human myoglobin fragment
    PETLEKFDKF KHLKSEDEMK ASEDLKKHGA TVLTALGGIL
    KKKGHHEAEI KPLAQSHATK HKIPVKYLEF IS
    Note that spaces and punctuation marks are ignored.

COMMENTS

A few tips on using the program:
1. When the output shows that some "epsilons" are greater than the respective "maximum epsilons", a better alignment usually can be found by increasing the "maximum epsilon" in question. This can be done by using the "e" flag, as described above. For example, if the output includes the following:
Sequences  Proj. Cost  Pair. Cost  Epsilon  Max. Epsi.
  1   2        2342        2341        1        10
  1   3        2393        2367       26        15
  2   3        2538        2516       22        30
you might try rerunning the program with the flag "-e epsi" in the command line, where "epsi" is the name of a file containing the numbers "10 30 30". Note that you must include a "maximum epsilon" for every pair of sequences. If all the observed epsilons are smaller than or equal to their respective maximum epsilons, then the alignment found is optimal subject to these constraints. It is usually the case that increasing the epsilons further leads to no improvement in the alignment, so that the alignment found is truly optimal (i.e. it has minimal cost).
2. If the program bogs down while computing the optimal alignment, you might try dividing the problem into several smaller ones, either by aligning fewer sequences, or by dividing the sequences in two or more pieces at points you are fairly certain align. When doing this it is sometimes advisable to use the "g" flag, because "terminal gaps" can in fact be internal gaps.
3. Do not let the program run without supervision on a computer system which requires you to pay for cpu time; you may get a huge bill. Use this program on such systems only at your own risk!

BUGS

This is a fairly new program and may contain some bugs. We would appreciate hearing about any you find.

AUTHORS
John Kececioglu, Stephen Altschul, David Lipman & Robert Miner
Please send correspondence to: altschul@tech.nlm.nih.gov or
Stephen F. Altschul
National Center for Biotechnology Information
National Library of Medicine
Bldg. 38A, Room 8N-811
Bethesda, MD  20894
(301) 496-2475

REFERENCES
Carrillo & Lipman, "The Multiple Sequence Alignment Problem in Biology",
	SIAM J. Appl. Math. 48 (1988) 1073-1082;
Altschul & Lipman, "Trees, Stars, and Multiple Biological Sequence
	Alignment", SIAM J. Appl. Math. 49 (1989) 197-209;
Altschul, "Gap Costs for Multiple Sequence Alignment",
	J. Theor. Biol. 138 (1989) 297-309;
Altschul, Carroll & Lipman, "Weights for Data Related by a Tree",
	J. Molec. Biol. 208 (1989) in press;
Altschul, "Leaf Pairs and Tree Dissections",
	SIAM J. Discrete Math. 2 (1989) in press;
Lipman, Altschul & Kececioglu, "A Tool for Multiple Sequence Alignment",
	Proc. Natl. Acad. Sci. USA 86 (1989) 4412-4415.