| More docs on the ARB website. See also index of helppages. Last update on 24. Jun 2017 .

Main topics:

- ARB: a Short Introduction
- Glossary
- External tools used by ARB (doc)

Related topics:

# fastDNAml.doc

- DISCLAIMER
- DOCUMENTATION

## DISCLAIMER

### This file has been automatically converted from the original documentation for easy use inside the ARB help system. Differences compared with the original documentation are unintentionally caused by the conversion process. In doubt please refer to the original documentation!

## DOCUMENTATION

### fastDNAml 1.2

### Gary J. Olsen, Department of Microbiology University of Illinois, Urbana, IL gary@phylo.life.uiuc.edu

### Ross Overbeek, Mathematics and Computer Science Argonne National Laboratory, Argonne, IL overbeek@mcs.anl.gov

### Citing fastDNAml

### If you publish work using fastDNAml, please cite the following publications:

Olsen, G. J., Matsuda, H., Hagstrom, R., and Overbeek, R. 1994. fastDNAml: A tool for construction of phylogenetic trees of DNA sequences using maximum likelihood. Comput. Appl. Biosci. 10: 41-48.
Felsenstein, J. 1981. Evolutionary trees from DNA sequences: A maximum likelihood approach. J. Mol. Evol. 17: 368-376.

### What is fastDNAml

### fastDNAml is a program derived from Joseph Felsenstein's version 3.3 DNAML (part of his PHYLIP package). Users should consult the documentation for DNAML before using this program.

### fastDNAml is an attempt to solve the same problem as DNAML, but to do so faster and using less memory, so that larger trees and/or more bootstrap replicates become tractable. Much of fastDNAml is merely a recoding of the PHYLIP 3.3 DNAML program from PASCAL to C.

### DNAML includes the following notice:

### version 3.3. (c) Copyright 1986, 1990 by the University of Washington and Joseph Felsenstein. Written by Joseph Felsenstein. Permission is granted to copy and use this program provided no fee is charged for it and provided that this copyright notice is not removed.

### Why is fastDNAml faster?

### Some recomputation of values has been eliminated (Joe Felsenstein has done much of this in version 3.4 DNAML).

### The optimization of branch lengths has been accelerated by changing from an EM method to Newton's method (Joe Felsenstein has done much of this in version 3.4 DNAML).

### The strategy for simultaneously optimizing all of the branches on the tree has been modified to spend less time getting an individual branch right before improving the other branches.

### Other new features in fastDNAml

### fastDNAml includes a checkpoint feature to regularly save its progress toward finding a large tree. If the program is interrupted, a minor change to the input file and adding the R (restart) option permits the work to be resumed from the last checkpoint.

### The new R {restart) option can also be used for more rapid addition of new sequences to a previously computed tree (when new sequences are added to the alignment, it is best if the relative alignment of the previous sequences is not altered).

### The G (global) option has been generalized to permit crossing any number of branches during tree rearrangements. In addition, it is possible to modify the extent of rearrangement explored during the sequential addition phase of tree building.

### The G U (global and user tree) option combination instructs the program to find the best of the user trees, and then look for rearrangements that are better still.

### The number of available rate categories has been raised from 9 to 35.

### The weighting mask accepts values from 0 through 35.

### The new B (bootstrap) option causes generation of a bootstrap sample, drawn from the input data.

### The program includes "P4" code for distributing the problem over multiple processors (either within one machine, or across multiple machines).

### Do DNAML and fastDNAml give the same answer?

### Generally yes, though there are some reservations:

### One or the other might find a better tree due to minor changes in the ways trees are searched. When sequence addition is replicated with different values of the jumble random number seed, they have about the same probability of finding the best tree, but any given seed might give different trees.

### The likelihoods and branch lengths sometimes differ very slightly due to different criteria for stopping the optimization process.

### Little has been done to check the confidence limits on branch lengths. There seem to be some instances in which they disagree, and we think that fastDNAml is correct. However, do not take the "significantly greater than zero" too seriously.

### If you are concerned, you can supply a tree inferred by fastDNAml as a user tree to DNAML and let it (1) reoptimize branch lengths, (2) tell you the confidence limits and (3) tell you the tree likelihood.

### Changes and new features in version 1.2

### The program can now calculate the likelihood of extremely large user trees. The largest tree we have tested had 3200 taxa. Generally, you will run out of computer memory before you excede an intrinsic limitation. (With this, it is possible to compare trees found by whatever your favorite methods are under the likelihood criterion.)

### The computation has been changed to permit ease of implimenting new models of evolution and analysis of amino acid sequences (though these have not yet been done). This has slowed down the program 5-10%.

### Changes and new features in version 1.1

### The quickadd option is now the default. This has the ugly effect of reversing the meaning of putting a Q on the option line. (Sorry, about this, and the next note, but in the long run it it is the better behavior.)

### Use of empirical base frequencies is now the default. This reverses the meaning of the F option, making the default behavior more like that of PHYLIP.

### The tree output file is now generated by default and should be more compatible with the files written and read by the PHILIP programs. In particular, the comments with information about the tree, its likelihood, etc. are removed, and there are no quotation marks around names unless there are unusual characters within the name. (There are two things to be very careful about in names: there is no completely consistent way to handle both blanks and underscores in names without quotation marks, and when a name is spaced in from the margin in the input file, there are leading blank spaces in the name, which can be very hard to make compatible with some programs.)

### Maintaining a list of the several best trees, not just the (single) best. In particular, when evaluating user-supplied trees, the program tries to same information about all of the trees and provides a Hasegawa and Kashino type test of whether each tree is better than optimum. Note, the current version of the program prints the report in the order of tree likelihood, NOT in the order the trees are supplied to the program. The best way (at present) to figure out which tree is which is to look at the likelihoods. This is the same test used in PHILIP, but I had removed access in version 1.0 of fastDNAml due to differences in how the programs handle multiple trees. The difference is that fastDNAml can maintain nearly optimal trees all the time, so you can get a list of the N best trees found by using the new K option (below).

### The program should accept rooted trees (strictly bifurcating), as well as unrooted trees (with a trifurcation at the deepest level). This is not fully tested, but it seems to work.

### Features in the works

### Test subtree exchanges (as well as moving a single subtree) in the search for better trees.

### Allowing the program to optimize any user-defined subset of branches when user lengths are supplied.

### Input and Options

### Basics

### The input to fastDNAml is similar to that used by DNAML (and the other PHYLIP programs). The user should consult the PHYLIP documentation for a basic description of the format.

### This version of fastDNAml expects to get its input from stdin (standard input) and writes its output to stdout (standard output). (There are compile time options to modify this, for those who care to get into such things.)

### On a UNIX or DOS system, it is a simple matter to redirect input from a file and output to a file:

fastDNAml < infile > outfile

### On a VMS system it is only slightly more difficult. Immediately before running the program, one includes two commands that define the input and output files:

    $ Define/User  Sys$Input   infile
    $ Define/User  Sys$Output  outfile
    $ Run fastDNAml

### The default input data format is Interleaved (see I option). To help get data from a GenBank or similar format, the interleaved option can be switched off with the I option. Numbers in the sequence data (i.e., sequence position numbers) will be ignored, so they need not be stripped out.

### (Note that the program also writes a file called checkpoint.PID. See the R option below for more description.)

### 1 -- Print Data

### By default, fastDNAml does not echo the sequence data to the output file. Option 1 reverses this.

### 3 -- Do Not Print Tree

### By default, fastDNAml prints the final tree to the output file. Option 3 reverses this.

    4 -- Do Not Write Tree to File  (*****  Changed in version 1.1 *****)

### By default, fastDNAml versions 1.1 and 1.2 write a machine readable (Newick format) copy of the final tree to an output file. Option 4 reverses this. The tree output file will be called treefile.PID (where PID is the process ID under which fastDNAml is running). Look at the Y option below for more information on alternative tree formats.

### B -- Bootstrap

### Generates a bootstrap sample of the input data. Requires auxiliary data line of the form:

    B  random_number_seed

### Example:

    5  114  B
    B  137
    Sequence1   ACACGGTGTCGTATCATGCTGCAGGATGCTAGACTGCGTCANATGTTCGTACTAACTGTG
    ...

    If the W option is used, only positions that have nonzero weights are used in
    computing the bootstrap sample.  Warning:  For a given random number seed, the
    sample will always be the same.

### PHYLIP DNAML does not include a bootstrap option. (Use the SEQBOOT program.)

### C -- Categories

### Requires auxiliary data of the form:

    C  number_of_categories  list_of_category_rates

### The maximum number of categories is 35. This line is followed by a list of the rates for each site:

    Categories  list_of_categories  [per site, one or more lines]

### Category "numbers" are ordered: 1, 2, 3, ..., 9, A, B, ..., Y, Z. Category zero (undefined rate) is permitted at sites with a zero in a user-supplied weighting mask.

### Example:

    5  114  C
    C  12  0.0625  0.125  0.25  0.5  1  2  4  8  16  32  64  128
    Categories  5111136343678975AAA8949995566778888889AAAAAA9239898629AAAAA9
                633792246624457364222574877188898132984963499AA9899975
    Sequence1   ACACGGTGTCGTATCATGCTGCAGGATGCTAGACTGCGTCANATGTTCGTACTAACTGTG
    ...

### PHYLIP DNAML is limited to categories 1 through 9. Also, in PHYLIP version 3.3, the categories data came after all the other auxiliary data, but before the user-supplied base frequencies and sequence data. If you make the C line your last auxiliary data line, the programs will behave the same.

    F -- Empirical Frequencies  (*****  Changed in version 1.1 *****)

### By default (starting with version 1.1), the program uses base frequencies derived from the sequence data (called emperical base frequencies). Therefore the input file should normally NOT include a base frequencies line preceding the data. If you want to include your own base freqency data, it is now necessary to use the F option, and add a line to the input file that supplies the frequency data:

### Instructs the program to use user-supllied base frequencies derived from the sequence data. Therefore the input file should not include a base frequencies line IMMEDIATELY preceding the data:

    5  114  F
    0.25  0.30  0.20  0.25
    Sequence1   ACACGGTGTCGTATCATGCTGCAGGATGCTAGACTGCGTCANATGTTCGTACTAACTGTG
    ...

### There is an alternative format: the frequencies can be anywhere in the list of auxilliary data lines if they are preceded by an F in the first column:

    5  114  F C W
    F 0.25  0.30  0.20  0.25
    C ...
      ...
    W ...
    Sequence1   ACACGGTGTCGTATCATGCTGCAGGATGCTAGACTGCGTCANATGTTCGTACTAACTGTG
    ...

### G -- Global

### If the global option is specified, there may also be an [optional] auxiliary data line of form:

    G  N1

### or

    G  N1  N2

### N1 is the number of branches to cross in rearrangements of the completed tree. The value of N2 is the number of branches to cross in testing rearrangements during the sequential addition phase of tree inference.

    N1 = 1:            local rearrangement (default without G option)

    1 < N1 < numsp-3:  regional rearrangements (crossing N1 branches)

    N1>= numsp-3:      global rearrangements (default with G option)

    N2 <= N1           the default N2 is 1, local rearrangements.

### The G option can also be used to force branch swapping on user trees, that is, a combination of G and U options.

### If the auxiliary line is supplied, it cannot be the last line of auxiliary data. (It may be necessary to add the T option with an auxiliary data line of

T 2.0

### if no other auxiliary data are used.)

### Examples:

### Do local rearrangements after each addition, and global after last addition:

    5  114  G
    Sequence1   ACACGGTGTCGTATCATGCTGCAGGATGCTAGACTGCGTCANATGTTCGTACTAACTGTG
    ...

### Do local rearrangements after each addition, and regional (crossing 4 branches) after last addition:

    5  114  G T
    G  4
    T  2.0
    Sequence1   ACACGGTGTCGTATCATGCTGCAGGATGCTAGACTGCGTCANATGTTCGTACTAACTGTG
    ...

### Do no rearrangements after each addition, and local after last addition:

    5  114  G T
    G  1 0
    T  2.0
    Sequence1   ACACGGTGTCGTATCATGCTGCAGGATGCTAGACTGCGTCANATGTTCGTACTAACTGTG
    ...

### PHYLIP DNAML does not support the auxiliary data line or branch swapping on a user tree.

### I -- Not Interleaved

### By default, fastDNAml 1.2 expects data lines for the various sequences in an interleaved format (as did PHYLIP 3.3 DNAML). The I option reverses the expected format (to non-interleaved data, in which all the data lines for one sequence before the next sequence begins). This is particularly useful for editing a GenBank or equivalent format into a valid input file (note that numbers within the sequence data are ignored, so it is not necessary to remove them).

    If all the data for each sequence are on one line, then the interleaved  and
    non-interleaved formats are degenerate.  (This is the way David Swofford's
    PAUP program writes PHYLIP format output files.)  The drawback is that many
    programs do not handle long lines of text.  This includes the vi and EDT text
    editors, many electronic mail programs, and some versions of FTP for VAX/VMS
    systems.

### PHYLIP 3.3 DNAML expects interleaved data, and does not include an I option to alter this. PHYLIP 3.4 DNAML accepts an I option, but the default format is reversed.

### J -- Jumble

### Randomize the sequence addition order. Requires an auxiliary input line of the form:

    J  random_number_seed

### Example:

    5  114  J
    J  137
    Sequence1   ACACGGTGTCGTATCATGCTGCAGGATGCTAGACTGCGTCANATGTTCGTACTAACTGTG
    ...

### Note that fastDNAml explores a very small number of alternative tree topologies relative to a typical parsimony program. There is a very real chance that the search procedure will not find the tree topology with the highest likelihood. Altering the order of taxon addition and comparing the trees found is a fairly efficient method for testing convergence. Typically, it would be nice to find the same best tree at least twice (if not three times), as opposed to simply performing some fixed number of jumbles and hoping that at least one of them will be the optimum.

    K -- Keep multiple best trees  (***** New in version 1.1 *****)

### The program can keep a list of the best trees that it has found. When the program is done, it prints a list of these, from best to worst, and print a Hasegawa and Kishino type test as to which trees are significantly worse than the best tree found. When evaluating user-supplied trees, the program automatically keeps all trees. In other situations, the program keeps only the best tree that it has found. The K option, and associate auxilliary data line, can be used to define an alternative number:

### Example, to keep the 15 best trees found:

    5  114  K
    K  15
    Sequence1   ACACGGTGTCGTATCATGCTGCAGGATGCTAGACTGCGTCANATGTTCGTACTAACTGTG
    ...

### Example, to keep only the one best tree of possibly numerous user-supplied trees:

    5  114  K  U
    K  1
    Sequence1   ACACGGTGTCGTATCATGCTGCAGGATGCTAGACTGCGTCANATGTTCGTACTAACTGTG
    ...

### L -- User Lengths

### Causes user trees to be read with branch lengths (and it is an error to omit any of them). Without the L option, branch lengths in user trees are not required, and are ignored if present.

### Example:

    5  114  U L
    Sequence1   ACACGGTGTCGTATCATGCTGCAGGATGCTAGACTGCGTCANATGTTCGTACTAACTGTG
    ...

### (The U is for user tree and the L for user lengths)

### O -- Outgroup

### Use the specified sequence number for the outgroup. Requires an auxiliary data line of the form:

    O  outgroup_number

### Example:

    5  114  O
    O 5
    Sequence1   ACACGGTGTCGTATCATGCTGCAGGATGCTAGACTGCGTCANATGTTCGTACTAACTGTG
    ...

### This option only affects the way the tree is drawn (and written to the treefile).

    Q -- Quickadd  (***** Changed in version 1.1 *****)

### The quickadd feature greatly decreases the time in initially placing a new sequence in the growing tree (but does not change the time required to subsequently test rearrangements). The overall time savings seems to be about 30%, based on a number of test cases. Its downside, if any, is unknown. This is now (starting in version 1.1) the default program behavior.

    If the analysis is run with a global option of "G 0 0", so that no
    rearrangements are permitted, the tree is build very approximately, but very
    quickly.  This may be of greatest interest if the question is, "Where does
    this one new sequence fit into this known tree?  The known tree is provided
    with the restart option (below).

### PHYLIP DNAML does not include anything comparable to the quickadd feature.

### The quickadd feature can be turned OFF by adding a Q to the first line of the input file.

### R -- Restart

### The R option causes the program to read a user-supplied tree with less than the full number of taxa as the starting point for sequential addition of the remaining taxa. Thus, the sequence data must be followed by a valid (Newick format) tree. (The phylip_tree/2, prolog fact format, is now also supported.)

### The restart option can also be used to increase the range of the search for alternative (better) trees. For example, you can take a tree produced with only "local" tree rearrangements, and increase the rearrangements to "regional" or "global" by combining the appropriate global option with the restart option. If the starting tree was written by fastDNAml, then the extent of rearrangements is saved with the tree, and will be used as the starting point for the additional search. If the tree was already globally optimized, then no additional searching will be performed.

### To support the R option, after each taxon is added to the growing tree, and after each round of rearrangements, the program appends a checkpoint tree to a file called checkpoint.PID, where PID is the process number of the running fastDNAml program. The last line of this file needs to be appended to the input file when the R option is used. (This should not be confused with the U (user tree) option, which expects a number followed by that number of trees. No additional taxa are added to user trees.)

### The UNIX utility tail can be used to remove the last tree from the checkpoint file, and the utility cat can be used to append it to the input. For example, the following script can be used to add a starting tree and the R option to a data file, and restart fastDNAml:

    #! /bin/sh
    if test $# -ne 1
      then echo "Usage:  restart checkpoint_file"
      exit
    fi
    read first_line             # first line of data file
    echo "$first_line R"        # add restart option
    cat -                       # rest of data file
    tail -1 $1                  # append last tree in checkpoint file

### If this shell script is in the file called restart, then one might use the command:

    restart  checkpoint.21312  < infile  | fastDNAml  > new_outfile
     ^script  ^checkpoint tree    ^data     ^dnaml program  ^output_file

### If this is too opaque, don't worry about it, or talk with your local unix wizard. In the mean time, this and other useful shell scripts are provided with the program.

### PHYLIP DNAML does not write checkpoint trees and does not have a restart option.

### T -- Transition/transversion ratio

### Use a user-specified ratio of transition to transversion type substitutions. Without the T option, a value of 2.0 is used. Requires an auxiliary data line of the form:

    T  ratio

### Example:

    5  114  T
    T  1.0
    Sequence1   ACACGGTGTCGTATCATGCTGCAGGATGCTAGACTGCGTCANATGTTCGTACTAACTGTG
    ...

### (Note that a T option with a value of 2.0 does nothing, but it can provide a last auxiliary data line following optional auxiliary data. See the examples for G and Y.)

### U -- User Tree(s)

### Read an input line with the number of user-specified trees, followed by the specified number of trees. These data immediately follow the sequence data.

### The trees must be in Newick format, and terminated with a semicolon. (The program also accepts a pseudo_newick format, which is a valid prolog fact.)

### The tree reader in this program is more powerful than that in PHYLIP 3.3. In particular, material enclosed in square brackets, [ like this ], is ignored as comments; taxa names can be wrapped in single quotation marks to support the inclusion of characters that would otherwise end the name (i.e., '(', ')', ':', ';', '[', ']', ',' and ' '); names of internal nodes are properly ignored; and exponential notation (such as 1.0E-6) for branch lengths is supported.

### W -- Weights

### Read user-specified column weighting information. This option requires auxiliary data of the form:

    Weights     list_of_weight_values    [per site, one or more lines]

### Example:

    5  114  W
    Weights     111111111111001100000100011111100000000000000110000110000000
                111101111111111111111111011100000111001011100000000011
    Sequence1   ACACGGTGTCGTATCATGCTGCAGGATGCTAGACTGCGTCANATGTTCGTACTAACTGTG
    ...

### It is necessary that the weight values not start before the 11'th character in the line, or some of them will be lost. Weights from 0 to 35 are indicated by the series: 0, 1, 2, 3, ..., 9, A, B, ..., Y, Z.

### PHYLIP DNAML does not support user weights with values other than 1 or 0. This limit has been removed in fastDNAml to permit the use of user weights as a mechanism for representing a bootstrap sample (that is, only the auxiliary data lines change, not the body of the data file).

    Y -- Write Tree  (*****  Changed in version 1.1  *****)

### fastDNAml writes the final tree to an output file called treefile.PID. By default the tree is in PHYLIP format. The Y option allows turning this off, or changing the format of the tree.

### The Y option by itself toggles the saving of the tree, on or off. If there is also an auxiliary input line of the form:

Y number

### where number can be 1, 2, or 3, the number selects one of three tree output formats:

    1  Newick
    2  Prolog
    3  PHYLIP (default)

### Newick is the tree standard used by PAUP, MacClade, and serveral other programs. The tree includes a comment about the analysis that the tree is based upon. fastDNAml uses this comment when it reads a tree. In addition, the names of the taxa are enclosed in quotation marks. Both of these features of the file make it incompatible with the PHYLIP package.

### PHYLIP is the subset of the Newick tree standard used by programs in the PHYLIP package. There are no comments and no quotations marks around names. (If a name includes unusual characters, such as a comma, fastDNAml will put it in quotation marks, making it a valid tree, but it cannot be read by the PHYLIP programs.)

### The Prolog format very similar to the Newick format, but it is a valid prolog fact that permits direct loading into some sequence analysis tools that we use. The structure of the term is:

pseudo_newick([Comment], (Subtree1, Subtree2, Subtree3): Length).

### where each subtree is either

(Subtree1,Subtree2): Length

### or

Label: Length

### The comment is a valid prolog term when && is defined as a unary operator. Label is a prolog atom (it is a valid Newick label, with single quotation marks). Length is a number.

### Because the Y auxiliary input line is optional, it cannot be the last auxiliary data line.

### Examples. To turn of the saving of the tree,

    5  114  Y
    Sequence1   ACACGGTGTCGTATCATGCTGCAGGATGCTAGACTGCGTCANATGTTCGTACTAACTGTG
    ...

### or, to change the output to the full Newick format,

    5  114  Y T
    Y 1
    T 2.0
    Sequence1   ACACGGTGTCGTATCATGCTGCAGGATGCTAGACTGCGTCANATGTTCGTACTAACTGTG
    ...

### PHYLIP DNAML does not append the PID (process ID) to the tree file name and does not support the full Newick standard or the prolog format output.

### =============================================================================

### Acknowledgements:

### The origin and development of fastDNAml as a program to extend the use of maximum likelihood phylogenetic inference to larger sets of DNA sequences was encouraged by Carl Woese. Through the development and evolution of the program, Joseph Felsenstein has been extremely helpful and encouraging.

### Numerous users have made suggestions and/or reported program bugs:

Gary Nunn Tom Schmidt Ross Overbeek Hideo Matsuda Mitchell Sogin Brenden Rielly

### =============================================================================

### Examples:

### Data file with empirical frequencies (generic analysis) (notice that blank lines are permitted in the data):

    5  114
    Sequence1   ACACGGTGTCGTATCATGCTGCAGGATGCTAGACTGCGTCANATGTTCGTACTAACTGTG
    Sequence2   ACGCGGTGTCGTGTCATGCTACATTATGCTAGACTGCGTCGGATGCTCGTATTGACTGCG
    Sequence3   ACGCGGTGCCGTGTNATGCTGCATTATGCTCGACTGCGRCGGATGCTAGTATTGACTGCG
    Sequence4   ACGCGCTGCCGTGTCATCCTACACGATGCYAGACAGCGTCAGCTGCTAGTACTGGCTGAG
    Sequence5   ACGCGCTGTCGTGTCATACTGCAGGATGCTAGACTGCGTCAGCTGCTAGTACTGGCTGAG

AGCTCGATGATCGGTGACGTAGACTCAGGGGCCATGCCGCGAGTTTGCGATGCG AGCACGGTGATCAATGACGTAGNCTCAGGRTCCACGCCGTGACTTTGTGATNCG AGCACGATGACCGATGACGTAGACTGAGGGTCCGTGCCGCGACTTTGTGATGCG ACCTCGGTGATTGATGACGTAGACTGCGGGTCCATGCCGCGATTTTGCGRTGCG ACCTCGATGCTCGATGACGTAGACTGCGGGTCCATGCCGTGATTTTGCGATGCG

### Data file with empirical frequencies and a random addition order:

    5  114  J
    J 137
    Sequence1   ACACGGTGTCGTATCATGCTGCAGGATGCTAGACTGCGTCANATGTTCGTACTAACTGTG
    Sequence2   ACGCGGTGTCGTGTCATGCTACATTATGCTAGACTGCGTCGGATGCTCGTATTGACTGCG
    Sequence3   ACGCGGTGCCGTGTNATGCTGCATTATGCTCGACTGCGRCGGATGCTAGTATTGACTGCG
    Sequence4   ACGCGCTGCCGTGTCATCCTACACGATGCYAGACAGCGTCAGCTGCTAGTACTGGCTGAG
    Sequence5   ACGCGCTGTCGTGTCATACTGCAGGATGCTAGACTGCGTCAGCTGCTAGTACTGGCTGAG

AGCTCGATGATCGGTGACGTAGACTCAGGGGCCATGCCGCGAGTTTGCGATGCG AGCACGGTGATCAATGACGTAGNCTCAGGRTCCACGCCGTGACTTTGTGATNCG AGCACGATGACCGATGACGTAGACTGAGGGTCCGTGCCGCGACTTTGTGATGCG ACCTCGGTGATTGATGACGTAGACTGCGGGTCCATGCCGCGATTTTGCGRTGCG ACCTCGATGCTCGATGACGTAGACTGCGGGTCCATGCCGTGATTTTGCGATGCG

### Data file with empirical frequencies and a bootstrap resampling:

    5  114  B
    B 137
    Sequence1   ACACGGTGTCGTATCATGCTGCAGGATGCTAGACTGCGTCANATGTTCGTACTAACTGTG
    Sequence2   ACGCGGTGTCGTGTCATGCTACATTATGCTAGACTGCGTCGGATGCTCGTATTGACTGCG
    Sequence3   ACGCGGTGCCGTGTNATGCTGCATTATGCTCGACTGCGRCGGATGCTAGTATTGACTGCG
    Sequence4   ACGCGCTGCCGTGTCATCCTACACGATGCYAGACAGCGTCAGCTGCTAGTACTGGCTGAG
    Sequence5   ACGCGCTGTCGTGTCATACTGCAGGATGCTAGACTGCGTCAGCTGCTAGTACTGGCTGAG

AGCTCGATGATCGGTGACGTAGACTCAGGGGCCATGCCGCGAGTTTGCGATGCG AGCACGGTGATCAATGACGTAGNCTCAGGRTCCACGCCGTGACTTTGTGATNCG AGCACGATGACCGATGACGTAGACTGAGGGTCCGTGCCGCGACTTTGTGATGCG ACCTCGGTGATTGATGACGTAGACTGCGGGTCCATGCCGCGATTTTGCGRTGCG ACCTCGATGCTCGATGACGTAGACTGCGGGTCCATGCCGTGATTTTGCGATGCG

### Data with weighting mask and rate categories:

    5  114  W C
    Weights     111111111111001100000100011111100000000000000110000110000000
                111101111111111111111111011100000111001011100000000011
    C  10  0.0625  0.125  0.25  0.5  1  2  4  8  16  32
    Categories  5111136343678975AAA8949995566778888889AAAAAA9239898629AAAAA9
                633792246624457364222574877188898132984963499AA9899975
    Sequence1   ACACGGTGTCGTATCATGCTGCAGGATGCTAGACTGCGTCANATGTTCGTACTAACTGTG
    Sequence2   ACGCGGTGTCGTGTCATGCTACATTATGCTAGACTGCGTCGGATGCTCGTATTGACTGCG
    Sequence3   ACGCGGTGCCGTGTNATGCTGCATTATGCTCGACTGCGRCGGATGCTAGTATTGACTGCG
    Sequence4   ACGCGCTGCCGTGTCATCCTACACGATGCYAGACAGCGTCAGCTGCTAGTACTGGCTGAG
    Sequence5   ACGCGCTGTCGTGTCATACTGCAGGATGCTAGACTGCGTCAGCTGCTAGTACTGGCTGAG

AGCTCGATGATCGGTGACGTAGACTCAGGGGCCATGCCGCGAGTTTGCGATGCG AGCACGGTGATCAATGACGTAGNCTCAGGRTCCACGCCGTGACTTTGTGATNCG AGCACGATGACCGATGACGTAGACTGAGGGTCCGTGCCGCGACTTTGTGATGCG ACCTCGGTGATTGATGACGTAGACTGCGGGTCCATGCCGCGATTTTGCGRTGCG ACCTCGATGCTCGATGACGTAGACTGCGGGTCCATGCCGTGATTTTGCGATGCG

### Data with three user-specified tree branching orders:

    5  114  U
    Sequence1   ACACGGTGTCGTATCATGCTGCAGGATGCTAGACTGCGTCANATGTTCGTACTAACTGTG
    Sequence2   ACGCGGTGTCGTGTCATGCTACATTATGCTAGACTGCGTCGGATGCTCGTATTGACTGCG
    Sequence3   ACGCGGTGCCGTGTNATGCTGCATTATGCTCGACTGCGRCGGATGCTAGTATTGACTGCG
    Sequence4   ACGCGCTGCCGTGTCATCCTACACGATGCYAGACAGCGTCAGCTGCTAGTACTGGCTGAG
    Sequence5   ACGCGCTGTCGTGTCATACTGCAGGATGCTAGACTGCGTCAGCTGCTAGTACTGGCTGAG

                AGCTCGATGATCGGTGACGTAGACTCAGGGGCCATGCCGCGAGTTTGCGATGCG
                AGCACGGTGATCAATGACGTAGNCTCAGGRTCCACGCCGTGACTTTGTGATNCG
                AGCACGATGACCGATGACGTAGACTGAGGGTCCGTGCCGCGACTTTGTGATGCG
                ACCTCGGTGATTGATGACGTAGACTGCGGGTCCATGCCGCGATTTTGCGRTGCG
                ACCTCGATGCTCGATGACGTAGACTGCGGGTCCATGCCGTGATTTTGCGATGCG
    3
    (Sequence1,(Sequence2,Sequence3),(Sequence4,Sequence5));
    (Sequence2,(Sequence1,Sequence3),(Sequence4,Sequence5));
    (Sequence3,(Sequence1,Sequence2),(Sequence4,Sequence5));

### Data with transition/transversion ratio and base frequencies to simulate Jukes & Cantor model:

    5  114  T F
    T 0.501
    F 0.25 0.25 0.25 0.25
    Sequence1   ACACGGTGTCGTATCATGCTGCAGGATGCTAGACTGCGTCANATGTTCGTACTAACTGTG
    Sequence2   ACGCGGTGTCGTGTCATGCTACATTATGCTAGACTGCGTCGGATGCTCGTATTGACTGCG
    Sequence3   ACGCGGTGCCGTGTNATGCTGCATTATGCTCGACTGCGRCGGATGCTAGTATTGACTGCG
    Sequence4   ACGCGCTGCCGTGTCATCCTACACGATGCYAGACAGCGTCAGCTGCTAGTACTGGCTGAG
    Sequence5   ACGCGCTGTCGTGTCATACTGCAGGATGCTAGACTGCGTCAGCTGCTAGTACTGGCTGAG

AGCTCGATGATCGGTGACGTAGACTCAGGGGCCATGCCGCGAGTTTGCGATGCG AGCACGGTGATCAATGACGTAGNCTCAGGRTCCACGCCGTGACTTTGTGATNCG AGCACGATGACCGATGACGTAGACTGAGGGTCCGTGCCGCGACTTTGTGATGCG ACCTCGGTGATTGATGACGTAGACTGCGGGTCCATGCCGCGATTTTGCGRTGCG ACCTCGATGCTCGATGACGTAGACTGCGGGTCCATGCCGTGATTTTGCGATGCG

### Non-interleaved data:

    5  114  I
    Sequence1   ACACGGTGTCGTATCATGCTGCAGGATGCTAGACTGCGTCANATGTTCGTACTAACTGTG
                AGCTCGATGATCGGTGACGTAGACTCAGGGGCCATGCCGCGAGTTTGCGATGCG
    Sequence2   ACGCGGTGTCGTGTCATGCTACATTATGCTAGACTGCGTCGGATGCTCGTATTGACTGCG
                AGCACGGTGATCAATGACGTAGNCTCAGGRTCCACGCCGTGACTTTGTGATNCG
    Sequence3   ACGCGGTGCCGTGTNATGCTGCATTATGCTCGACTGCGRCGGATGCTAGTATTGACTGCG
                AGCACGATGACCGATGACGTAGACTGAGGGTCCGTGCCGCGACTTTGTGATGCG
    Sequence4   ACGCGCTGCCGTGTCATCCTACACGATGCYAGACAGCGTCAGCTGCTAGTACTGGCTGAG
                ACCTCGGTGATTGATGACGTAGACTGCGGGTCCATGCCGCGATTTTGCGRTGCG
    Sequence5   ACGCGCTGTCGTGTCATACTGCAGGATGCTAGACTGCGTCAGCTGCTAGTACTGGCTGAG
                ACCTCGATGCTCGATGACGTAGACTGCGGGTCCATGCCGTGATTTTGCGATGCG

### Non-interleaved data by editing a GenBank format (make sure that the names are padded to at least ten characters with blanks):

    5  114  I
    Sequence1
            1 ACACGGTGTC GTATCATGCT GCAGGATGCT AGACTGCGTC ANATGTTCGT ACTAACTGTG
           61 AGCTCGATGA TCGGTGACGT AGACTCAGGG GCCATGCCGC GAGTTTGCGA TGCG
    Sequence2
            1 ACGCGGTGTC GTGTCATGCT ACATTATGCT AGACTGCGTC GGATGCTCGT ATTGACTGCG
           61 AGCACGGTGA TCAATGACGT AGNCTCAGGR TCCACGCCGT GACTTTGTGA TNCG
    Sequence3
            1 ACGCGGTGCC GTGTNATGCT GCATTATGCT CGACTGCGRC GGATGCTAGT ATTGACTGCG
           61 AGCACGATGA CCGATGACGT AGACTGAGGG TCCGTGCCGC GACTTTGTGA TGCG
    Sequence4
            1 ACGCGCTGCC GTGTCATCCT ACACGATGCY AGACAGCGTC AGCTGCTAGT ACTGGCTGAG
           61 ACCTCGGTGA TTGATGACGT AGACTGCGGG TCCATGCCGC GATTTTGCGR TGCG
    Sequence5
            1 ACGCGCTGTC GTGTCATACT GCAGGATGCT AGACTGCGTC AGCTGCTAGT ACTGGCTGAG
           61 ACCTCGATGC TCGATGACGT AGACTGCGGG TCCATGCCGT GATTTTGCGA TGCG

### Data analysis restarted from a four-taxon tree (which happens to be wrong, but it will be corrected by local rearrangements after the tree is read):

    5  114  R
    Sequence1   ACACGGTGTCGTATCATGCTGCAGGATGCTAGACTGCGTCANATGTTCGTACTAACTGTG
    Sequence2   ACGCGGTGTCGTGTCATGCTACATTATGCTAGACTGCGTCGGATGCTCGTATTGACTGCG
    Sequence3   ACGCGGTGCCGTGTNATGCTGCATTATGCTCGACTGCGRCGGATGCTAGTATTGACTGCG
    Sequence4   ACGCGCTGCCGTGTCATCCTACACGATGCYAGACAGCGTCAGCTGCTAGTACTGGCTGAG
    Sequence5   ACGCGCTGTCGTGTCATACTGCAGGATGCTAGACTGCGTCAGCTGCTAGTACTGGCTGAG

                AGCTCGATGATCGGTGACGTAGACTCAGGGGCCATGCCGCGAGTTTGCGATGCG
                AGCACGGTGATCAATGACGTAGNCTCAGGRTCCACGCCGTGACTTTGTGATNCG
                AGCACGATGACCGATGACGTAGACTGAGGGTCCGTGCCGCGACTTTGTGATGCG
                ACCTCGGTGATTGATGACGTAGACTGCGGGTCCATGCCGCGATTTTGCGRTGCG
                ACCTCGATGCTCGATGACGTAGACTGCGGGTCCATGCCGTGATTTTGCGATGCG
    (Sequence4:0.1,Sequence2:0.1,(Sequence1:0.1,Sequence5:0.1):0.1):0.0;

### Data analysis restarted from a four-taxon tree (which is wrong, and which will not be corrected after the tree is read due to the suppression of all rearrangements by the global 0 0 option):

    5  114  R G T
    G 0 0
    T 2.0
    Sequence1   ACACGGTGTCGTATCATGCTGCAGGATGCTAGACTGCGTCANATGTTCGTACTAACTGTG
    Sequence2   ACGCGGTGTCGTGTCATGCTACATTATGCTAGACTGCGTCGGATGCTCGTATTGACTGCG
    Sequence3   ACGCGGTGCCGTGTNATGCTGCATTATGCTCGACTGCGRCGGATGCTAGTATTGACTGCG
    Sequence4   ACGCGCTGCCGTGTCATCCTACACGATGCYAGACAGCGTCAGCTGCTAGTACTGGCTGAG
    Sequence5   ACGCGCTGTCGTGTCATACTGCAGGATGCTAGACTGCGTCAGCTGCTAGTACTGGCTGAG

                AGCTCGATGATCGGTGACGTAGACTCAGGGGCCATGCCGCGAGTTTGCGATGCG
                AGCACGGTGATCAATGACGTAGNCTCAGGRTCCACGCCGTGACTTTGTGATNCG
                AGCACGATGACCGATGACGTAGACTGAGGGTCCGTGCCGCGACTTTGTGATGCG
                ACCTCGGTGATTGATGACGTAGACTGCGGGTCCATGCCGCGATTTTGCGRTGCG
                ACCTCGATGCTCGATGACGTAGACTGCGGGTCCATGCCGTGATTTTGCGATGCG
    (Sequence4:0.1,Sequence2:0.1,(Sequence1:0.1,Sequence5:0.1):0.1):0.0;