Index for COMPONENT help
Index to COMPONENT Help

Error Messages

How do I...?

Input Files

Importing files

NEXUS Format

Menus

Trees

Windows

Edit window

Log window

Tree window


Edit window

The Edit window allows you to create text files for input into COMPONENT, as well as correct any errors when processing a file.

See also

Edit menu


Tree window

The Tree window displays a profile of trees.

See also

Trees menu


Agreement subtree

Definition

An agreement subtree of two trees is a subtree that can be obtained from both trees by pruning leaves. Finden and Gordon (1985) refer to these trees as "common pruned trees." The greatest agreement subtree (GAS) is the subtree that results from pruning the fewest number of leaves. For example:

There may be more than one greatest agreement subtree. In the example above, (2,(3,4)) is also an agreement subtree.

Dissimilarity

Given two trees, T1 and T2, we can define the distance dGAS (T1, T2) as the number of leaves removed to obtain a GAS.

Algorithm

COMPONENT uses an unpublished algorithm by Kibicka et al. (1991) to find a greatest agreement subtree for two binary trees, and hence, dGAS(T1, T2).

Given two unrooted binary trees, such as T1 and T2 above, Kibicka et al's (1991) algorithm uses a recursive procedure AGREE (T1, T2, a) to find the greatest agreement subtree for T1 and T2 that contains the leaf a:

This procedure is repeated for each remaining leaf, resulting in a collection of subtrees. The largest of these is the greatest agreement subtree for T1 and T2. Note that this algorithm finds just one subtree; there may be others of equal size.

Restrictions

The trees being compared must be binary.

Rooted versus unrooted trees

If the two trees are unrooted then COMPONENT computes AGREE (T1, T2, i) for all  1 <=i <= n, as described above.

A rooted tree can be visualised as an unrooted tree with an additional leaf ("x") that has been "pulled down" to root the tree. Consequently, to find a greatest agreement subtree for two rooted trees we need only compute  AGREE (T1, T2, x). As a result, finding the agreement subtree for two trees takes less time if the trees are rooted rather than unrooted.

When comparing two profiles, unless the trees in both profiles are rooted COMPONENT will treat both sets of trees as unrooted.

References

Finden, C. R., and A. D. Gordon. 1985. Obtaining common pruned trees. J. Classif. 2: 255-276.

Kubicka, E., G. Kubicki, and F. R. McMorris. 1991. Greatest agreement subtrees. Unpublished proposal.


Binary tree

A tree is binary if none of its internal nodes has degree greater than three. A binary tree is full if it has at most one internal node of degree two (the root). These terms are illustrated by these three rooted trees:

Unless otherwise stated, the binary trees referred to in the COMPONENT documentation are full binary tree.


Centroid

A node of an unrooted tree is a centroid if none of its incident edges lead to more than half the leaves of the tree (Furnas, 1984:217). Any tree has at least one and at most two centroids.

Reference

Furnas, G. W. 1984. The generation of random, binary unordered trees. J. Classif. 1: 187-233.


Character sets

By default COMPONENT uses characters from the IBM PC extended character set (referred to in Windows documentation as the "OEM character set") to draw trees in the display buffer. These characters make for nice tree drawings, but they are not part of the ANSI character set used by Windows, and so will not be correctly interpreted by Windows editors such as Notepad or Write.  If you load the COMPONENT display buffer into an editor window (using the Edit | Edit display buffer

 command), the OEM characters will be replaced by their nearest ANSI equivalents.


Cluster

The set of leaves that ultimately descend from a given node.


Cluster table

The clusters of a profile are shown using a cluster table, such as

             1

    1234567890

    ----------

  1 **........    20

  2 ..***.....    16

 25 .*..*.....     2

The clusters are listed in the order in which they are encountered by the program. The elements of each cluster are represented by an asterix "*" so that, for example, the cluster {1, 2} is represented by

    **........

The number of trees each cluster occurs in is listed to the right of each cluster.

Cluster tables are produced by the Trees | Consensus command when you select a cluster-based consensus method.

See also

Cluster

Consensus

Trees | Consensus


Compatible

Definition

Two clusters A and B are compatible iff one is a subset of the other, or they are disjoint.

Examples

Compatible clusters

{1, 2} and {1, 2, 3}

{1, 2} and {4, 5}

Incompatible clusters

{1, 2} and {2, 3}


Compatibility matrix

A compatibility matrix shows the pairwise compatibilities for all clusters in a profile.  If two clusters are compatible the matrix contains a "1", otherwise it contains a ".".  Below the matrix is a line showing which clusters (marked by "*") are compatible with every other cluster in the profile.

2| 1

3| 11

4| 1.1

5| 1111

6| 1..11

 +--------

   123456

   *...*.

In this example, clusters 1 and 2 are compatible, but clusters 2 and 4 are not.  Clusters 1 and 5 are compatible with every other cluster in the profile.

Compatibility matrices are produced by the Trees | Consensus  command when either the semi-strict or the Nelson consensus trees are computed.

See also

Consensus

Semi-strict consensus

Nelson consensus

Trees | Consensus


Degree

The degree of a node is the number of edges incident on that node. For example, given this tree

node x has degree 3, and nodes a, b, and c each have degree 1.

See also

Internal node

Leaf


Dendrogram

A dendrogram is a rooted tree with the internal nodes ranked on the basis of their relative distance to the root (e.g., Lapointe and Legendre, 1991).

Example

These two dendrograms both have the topology ((a,b),(c,d)) and are identical as n-trees, but because the ranks of their internal nodes differ, they are distinct dendrograms.

Reference

Lapointe, F.-J., and P. Legendre. 1991. The generation of random ultrametric matrices representing dendrograms. J. Classif 8: 177-200.


Display buffer

COMPONENT uses a 32K circular text buffer to store its output. The buffer is displayed in the Log window. Once the buffer is full it starts to overwrite itself, so that output from earlier analyses become lost.

You can avoid loosing your output by either periodically saving the buffer to disk using the File | Save display buffer command or, better still, opening a log file with the File | Output file command and directing output to that file with the File | Echo output to disk command.

You can use the Edit | Clear display buffer command to clear the contents of the display buffer and start afresh.

You can also load the contents of the display buffer into an external editor (Windows Notepad) for editing and printing using the Edit | Edit display buffer command.


Edge

An edge connects two nodes in a tree. Edges are also referred to as branches.


iff

iff is an abbreviation of "if and only if."


Incident

An edge connected to a node is incident on that a node.


Internal node

A node with degree greater than one.

See also

Leaf


Leaf

A node with degree one. Synonymous with terminal node.

See also

Internal node


LLC ordering
Left-Light Centred ordering

Definition

The Left-Light Centred (LLC) ordering of unrooted unlabelled binary trees is a unique ordering of centre-rooted trees (Furnas, 1984:217).

A centre-rooted tree is an unrooted tree T that has been rooted using the tree's centroid. Unrooted trees with one centroid (*) can be rooted at that node (^) to produce a centre-rooted tree with three principal subtrees, called a "triple-trunk tree" trptr(T):

An unrooted tree T with two centroids can be rooted along the edge (^) connecting the two centroids to produce a centre-rooted tree with two principal subtrees called a "double-trunk tree," dbltr(T):

If each subtree of the centre-rooted tree is in LLR form, and "lighter" ones are to the left of the "heavier" ones, then the LLC ordering of unrooted trees is defined recursively as follows (Furnas, 1984:218). For two trees T' and T, T' < T iff

1.	trptr(T') and trptr(T) and either

T'L < TL, or

T'L = TL and T'M <= TM, or

T'L = TL and T'M = TM and T'R < TR

or,

2.	trptr(T') and dbltr(T), or

3.	dbltr(T') and dbltr(T) and T' < T.

where TL, TM, and TR are the principal left, middle, and right subtrees of the tree T. If dbltr(T) then TM is undefined.

Notation

The rank of an unrooted topology in an LLC ordering of trees can be used as a shorthand description of that topology.

See also

LLR ordering

Reference

Furnas, G. W. 1984. The generation of random, binary unordered trees. J. Classif. 1: 187-233.


LLR ordering
Left-Light Rooted ordering

Definition

The Left-Light Rooted (LLR) ordering of rooted unlabelled binary trees is defined recursively as follows (Furnas, 1984:212). For two trees T' and T, T' < T if and only iff

1.	|T'| < |T|, or

2.	|T'| = |T| and T'L < TL, or

3.	|T'| = |T| and T'L = TL and T'R < TR.

where TL and TR are the principal left and right subtrees of the tree T. A rooted unlabelled tree T is in LLR form iff its left subtree is no "heavier" than its right subtree (i.e. TL <= TR), and both subtrees are themselves in LLR form.

Example

These three rooted 5-trees are in LLR form:

Notation

The three trees above are also in LLR order, that is, LLR(T1) < LLR(T2) < LLR(T3). If we assign to each tree its rank in this ordering, then we can use that number as a shorthand description of that topology. For example, any tree with the same topology as T1 has topology 1, and so on.

See also

LLC ordering

Reference

Furnas, G. W. 1984. The generation of random, binary unordered trees. J. Classif. 1: 187-233.


Log Window

The log window shows the contents of the display buffer. This window is the first window you see when you start COMPONENT. All COMPONENT's output goes to the log window. To see your output you must  first make the log window active (for example by clicking the mouse on the window).


nearest neighbour interchange
Nearest neighbour interchange (NNI)

A Nearest Neighbour Interchange (NNI) is the interchanging of two of the subtrees incident to an internal edge in a binary. Two such interchanges are possible for each internal edge. For example, given the tree

nodes X and Y are adjacent to edge e; nodes A and B are incident to node X, and nodes C and D are incident to node Y. Interchanging nodes A and D (or B and C) results in the tree

Similarly, interchanging nodes A and C (or B and D) results in the tree

See also

Nearest neighbor interchange metric


nearest neighbour interchange metric
Nearest Neighbor Interchange Metric (dNNI)

Definition

Given two unrooted binary trees T1 and T2, the distance dNNI(T1, T2) between those trees as the smallest number of nearest neighbor interchanges (NNI) required to transform one tree into another (Waterman and Smith, 1978).

Algorithm

The computational complexity of computing dNNI(T1, T2) for labelled trees is unknown, although for unlabelled trees the problem is NP-complete (Krivanek, 1986).  Brown and Day (1984) have developed an efficient approximation which is implemented in COMPONENT.

Brown and Day (1984) describe three approximations to dNNI (T1, T2):

1.	dra(T1, T2, m), which is an upper bound on the minimal number of NNI required to transform T1 into T2, where both trees are arbitrarily rooted at leaf m. This measure is asymmetric since dra(T1, T2, m) does not always equal dra(T2, T1, m).

2.	drs(T1, T2, m), which is simply the smaller of dra(T1, T2, m) and dra(T2, T1, m). This measure is symmetrical by definition.

3.	dus (T1, T2), which is smallest value of drs(T1, T2, m) for all m.

COMPONENT implements all three measures. The trees being compared are treated as unrooted trees (regardless of their current rooting).  When computing dra(T1, T2, m) or drs(T1, T2, m), T1 and T2 are arbitrarily rooted with their first leaves (i.e., m = 1).

Restrictions

The trees being compared must be binary.

Rooted versus unrooted trees

COMPONENT treats the trees being compared as unrooted trees, regardless of whether they are rooted.

References

Brown, E. K., and W. H. E. Day. 1984. A computationally efficient approximation to the nearest neighbor interchange metric. J. Classif. 1:93-124.

Krivanek, M. 1986. Computing the nearest neighbor interchange metric for unlabelled binary trees is NP-complete. J. Classif. 3: 55-60.

Waterman, M. S., and T. F. Smith. 1978. On the similarity of dendrograms. J. theor. Biol. 73: 789-800.

See also

nearest neighbor interchanges


Node

A tree consists of a set of nodes connected by edges. The terminal nodes (the leaves) of the tree may represent extant taxa, genes, or areas. The internal nodes represent hypothetical ancestral entities.


Ordered trees

In an ordered tree the nodes are assigned a fixed order (such as their left-right position on a page). Ordered trees may have the same topology and labels but still considered distinct on the basis of this order. For example, these two trees are different ordered trees but the same unordered trees.

Ordering rarely has biological meaning. Its principal use is to improve the appearance of a tree for output, or in algorithms for generating random trees.

See also

LLC ordering

LLR ordering


Profile

A set of trees


Profile All Trees Dialog Box
All Trees Dialog Box

The All Trees dialog box lists the various options you have for generating all trees of a particular kind.

Tree Type Options

The Tree Type group controls the kinds of trees generated.

Labelled	When the Labelled check box is checked all terminally labelled binary trees are generated; otherwise all unlabelled binary trees are generated.  Note that because COMPONENT requires all trees to be labelled, the "unlabelled" trees generated are arbitrarily labelled with letters.

Rooted	When the Rooted check box is checked then all rooted binary trees (either labelled or unlabelled) are generated; otherwise unrooted trees are generated.

Leaves

Using either the input box or the spin button you can specify the size of the trees generated.  The permissible values are:

Labelled 	Unlabelled

Rooted	3-7	3-15

Unrooted	4-8	4-19

The size of the labelled trees is limited by tree buffer storage space, the size of unlabelled trees by the limitations of integer arithmetic.

Output

The unlabelled trees are output in LLR(or LLC)  form (depending whether they are rooted or unrooted), and the order in which the trees are generated corresponds to each tree's LLR  (or LLC rank).

Restrictions

COMPONENT can only generate random binary trees.

See also

Random Trees Dialog

Random Trees


Profile Random Trees Dialog Box
Random Trees Dialog Box

The Random Trees dialog box lists the various options you have for generating random trees.  You can specify the number, size, and type of random tree.

Topology Options

The topology group has three radio buttons and one check box that control the kinds of random trees COMPONENT generates.

Labelled	When Labelled is selected the trees generated are drawn from the uniform distribution of labelled binary trees.

unlabelled	When Unlabelled is selected the trees generated are drawn from the uniform distribution of unlabelled binary trees.

Dendrogram	When Labelled dendrogram is selected the trees generated are drawn from the uniform distribution of labelled binary dendrograms.

Rooted	Check Rooted to generate rooted trees (the default); otherwise the trees are unrooted. Because dendrograms are by definition rooted trees this option does not apply to dendrograms. The Labelled dendrogram check box is disabled if the Rooted check box is not checked.

Number of trees

You can specify the number of trees generated, ranging from 1 to 10,000.

Number of leaves

You can specify the number of leaves the random trees have, up to the maximum of 100.  Rooted trees must have at least three leaves, unrooted trees require at least four leaves.

Seed Options

By default the seed for the random number generator is taken from the system clock (the seed used is shown in the display buffer).  By selecting the User value button you can enter your own seed, between 1 and 2,147,483,647.  profiles of random trees generated with the same seed will be identical.

Restrictions

COMPONENT can only generate random binary trees.

Examples

Using various options you can generate random binary trees corresponding to most distributions found in the literature.  For example, the three distributions discussed by Simberloff et al. (1981) can be generated as follows:

HD	All labelled binary rooted trees are equiprobable.  Select Labelled topologies and check the Rooted check box.

HE	Labelled cladograms with unlabelled topologies equiprobable. Select Unlabelled topologies and check the Rooted check box.

HM	Trees generated by a simple dichotomous branching process.  Select Labelled dendrograms (see Page, 1991).

See also

All Trees Dialog Box

Random number generator

Random Trees

References

Page, R. D. M. 1991. Random dendrograms and null hypotheses in cladistic biogeography. Syst. Zool. 40: 54-62.

Simberloff, D., K. L. Heck, E. D. McCoy, and E. F. Connor. 1981. There have been no statistical tests of cladistic biogeographical hypotheses. Pages 40-63 in Vicariance biogeography: A critique (G. Nelson and D. E. Rosen, eds.). Columbia Univ. Press, New York.


Quartet

Definition

A quartet is the smallest possible informative subtree of an unrooted tree. The two possible topologies are

Type I topologies are only found in nonbinary (i.e., incompletely resolved) trees.

An unrooted tree with n leaves contains Q = n(n-1)(n-2)(n-3)/24 quartets. Each quartet ( a, b, c, d) will be one of four possible types:

See also

Quartet dissimilarity measures


Quartet Dissimilarity Measures

An unrooted tree can be thought of as a set of quartets. Hence one way to measure the similarity of two unrooted trees, T1 and T2, is to compare their quartets (Estabrook, et al., 1985).

Definitions

Each pair of quartets from two trees belongs to one of five classes:

s	resolved and identical

d	resolved an different

r1	resolved in T1 but not in T2

r2	resolved in T2 but not T1

u	unresolved in both T1 and T2

Note that Q = s + d + r1 + r2 + u, and that for two binary trees, r1 = r2 = u = 0.

From these classes of quartets Estabrook et. al (1985) and Day (1986) derived a number of dissimilarity values, including:

Do not Conflict (DC)	= d

Explicitly Agree (EA)	= d + r1 + r2 + u

Strict Joint Assertions (SJA)	= d / (d + s)

Symmetric Difference (SD)	= (2d + r1 + r2)/(2d + 2s + r1 + r2)

Algorithm

COMPONENT uses an algorithm based on Douchette (1985) to compute quartet dissimilarity measures.

See also

Quartet

References

Day, W. H. E. 1986. Analysis of quartet dissimilarity measures between undirected phylogenetic trees. Syst. Zool. 35: 325-333.

Douchette, C. R. 1985. An efficient algorithm to compute quartet dissimilarity measures. Unpubl. BSc(Hons) dissertation, Memorial Univ. Newfoundland, 58pp.

Estabrook, G. F., F. R. McMorris, and C. A. Meacham. 1985. Comparison of undirected phylogenetic trees based on subtrees of four evolutionary units. Syst. Zool. 34: 193-200.


Rooted tree

A tree is rooted if there is a special node (the root) that imparts a direction to the tree, such that nodes on the path between the root and any other node are ancestors of (ancestral to) nodes in the path that are further from the root and descendants of (descendant from) nodes closer to the root.

A rooted tree can be visualised as an unrooted tree with an additional leaf that has been "pulled down" to root the tree:

Note that in some programs (e.g., PAUP 3.0) this additional leaf ("x" in the above example) is itself regarded as the root.


Triplet

Definition

A triplet is the smallest possible informative subtree of an rooted tree. A triplet is the rooted analogue of a quartet.  The two possible topologies are

Type I topologies are only found in nonbinary (i.e., incompletely resolved) trees.

A rooted tree with n leaves contains Q = n(n-1)(n-2)/6 triplets. Each triplet (a, b, c) will be one of four possible types:

Analogously with quartets, we can use the frequencies of the four possible triplets in two trees as a measure the similarity their similarity.

See also

Quartets

Quartet dissimilarity measures


Random Number Generator

COMPONENT uses a uniform random number generator based on Schrage's (1979) FORTRAN implementation of the linear congruential method.  The sequence of random numbers, X, is generated using the recursion

Xn+1 = a Xn mod p

where p = 231-1 = 2147483647 and a = 75 = 16807.  The seed X0 is supplied either by the user or by the system clock.

Reference

Schrage, L. 1979. A more portable FORTRAN random number generator. ACM Trans. Math. Software. 5: 132-138.


Random Trees

A random tree is a tree drawn at random from a set of possible trees.

See also

Random Trees Dialog

Random number generator


Root

The basal node of a tree.

See also

Rooted tree


Star Tree

A tree with just one internal node.

Synonyms: bush, completely unresolved tree.


Subtree

A subtree of a tree is any tree formed by pruning one or more leaves from that tree (and removing any internal nodes that have degree two as a result of pruning a leaf). For example:

See also

Agreement subtree

Quartet


tree
Trees

See

Binary tree

Consensus

Cluster

Dendrogram

Ordered trees

Random tree

Root

Rooted tree

Shape

Star tree

Subtree

Tree comparison measures


Tree Comparison Measures

COMPONENT implements the following tree comparison measures:

Agreement subtree

Nearest neighbor interchange metric

Partition metric

Quartet dissimilarity measures

Triplets


Tree Shape

The shape of a tree is its unlabelled topology.  For example, when their labels are removed, all 105 rooted binary trees for five taxa have one of these three shapes:

Numbers of shapes

The number of shapes is considerably less than the number of labelled cladograms; rooted trees have more possible shapes than unrooted trees.

Rooted	Unrooted

n	Labelled	Unlabelled	Labelled	Unlabelled

1	1	1	1	1

2	1	1	1	1

3	3	1	1	1

4	15	2	3	1

5	105	3	15	1

6	945	6	105	2

7	10 395	11	945	2

8	135 135	23	10 395	4

9	2 027 025	46	135 135	6

10	34 459 425	98	2 027 025	11

Generating all possible tree shapes

By using the Generate | All trees command, you can generate the set of all possible rooted tree shapes for up 15 leaves, and all possible unrooted shapes for up to 19 leaves.


Trees Compare With Dialog Box

Using the Trees Compare With dialog box you can select a tree in the profile to compare with the current tree displayed in the tree window.  You have a variety of methods to choose from.

See also

Agreement subtree

Nearest neighbor interchange metric

Partition metric

Quartet dissimilarity measures

Triplets


Trees Consensus Dialog Box

For details on the various consensus methods see below.

See also

Consensus

Adams consensus

Majority rule consensus

Nelson consensus

Strict consensus

Semi-strict consensus


Trees Order Dialog Box

The Trees Order dialog box lets you specify the ordering COMPONENT uses when it displays trees. This ordering has no effect on any tree comparison or consensus operations, but can improve the appearance of the trees.

You have four options to choice from:

1.	Input (the default) orders the leaves on the tree to match the input order as closely as possible.

2.	Ladderize left sorts the descendants of each internal node so that the leftmost node is the "heaviest" (i.e. it has the largest cluster).

3.	Ladderize right is equivalent to ladderize left, except that the sorting is performed in the opposite direction.

4.	LLR is similar to ladderize right, except that nodes of equal weight are ordered by the rank of their subtrees in a Left-Light Rooted (LLR) ordering. This method is only defined for binary trees with fewer than 20 leaves.

See also

LLR ordering

Ordered trees


Trees Print Dialog Box

The Trees Print dialog box lets you print one or more trees from the current Tree window on the current printer.  All the trees in the Tree window (whether active or not) can be printed.  The size, ordering, and rooting of the trees depends on the current settings you have chosen.

Page size and orientation

The dialog box displays a preview of how the printed page will look. The size and orientation of the page depend on the current printer settings.  To change these from within COMPONENT you must use the File | Printer setup command.

Viewing and printing pages

The Last and Next buttons let you view the pages immediately prior to and after the current page, respectively.

You can print either the current page (the Print Page button), or all pages (Print All button).  Printing can be interrupted by clicking on the Cancel button in the printer dialog box.

Fonts

Clicking on the Fonts button opens a dialog box that lets you change the font used to

print the labels on the trees.  The fonts available depend on the capabilities of your printer.

Style

Clicking on the Style button opens a dialog box that lets you change the style of tree drawing, and the thickness of the lines used to draw the trees.

Layout

Clicking on the Layout lets you specify how many trees will be placed on each page.

Copying a picture to the clipboard or to a file

A picture of the printed page can be copied to the Windows Clipboard as a Windows metafile picture by clicking on the Copy button. You can then paste this picture into other Windows applications, such as a word processor or a drawing program.

Alternatively, you can save the picture to a disk file by clicking on the WMF file... button. This creates a Windows metafile format file which can be read by most Windows drawing programs and word processors.


Trees Select Dialog Box

The Trees Select dialog box lets you select a range of trees to work with. All subsequent tree operations (with the exception of printing) will use only the trees you have selected.

The trees selected are termed active, while the remaining trees are termed inactive. Note that all the trees in the profile remain in memory, hence they can be made active again by using the Trees | Select command again.


Trees Show Dialog Box

The Trees Show dialog box lets you specify which trees you want to display in COMPONENT's display buffer, and in what format.

Selecting Trees

You can choose to display all the trees or a just a selection. If you have previously selected a set of trees using the Trees | Select command, then COMPONENT will display only the active trees within the range you select. If you want to ignore the current tree activities, check the Include inactive trees check box.

Drawing Styles

You have two styles of tree diagram to choose from. The default style requires one line for each node (both terminal and internal) in the tree. The compressed style (used if you check the Compress vertically check box) requires one line for each terminal node only, and hence uses less space. (Hint: compressed trees look better if right ordered.)


Menus
COMPONENT Menus

The following topics describe the COMPONENT menus.

File

Edit

Generate

Trees

Window


NEXUS Format

The following topics describe the NEXUS file format used by COMPONENT.

Overview

BlocksCommands


Partition Metric

Definition

Given two trees, T1 and T2, the partition metric is the number of clusters found in one or other, but not both trees (Penny and Hendy, 1985).

Algorithm

COMPONENT uses Day's (1985) algorithm.

Rooted versus unrooted trees

If the trees being compared are unrooted COMPONENT arbitrarily roots the trees with the first leaf in the profile. The choice of leaf does not affect the result.

References

Day, W. H. E. 1985. Optimal algorithms for comparing trees with labelled leaves. J. Classif. 1:7-28.

Penny, D., and M. D. Hendy. 1985. The use of tree comparison metrics. Syst. Zool. 34:75-82.


NNI dialog box
Nearest Neighbor Interchange (NNI) Dialog Box

This dialog box lists the three choices you have of approximations to the NNI metric. The order of accuracy  dra < drs < dru (in other words, dru is the most accurate). Not surprisingly, the order of speed of execution is the reverse. Computing drs takes twice as long as dra. Given trees with n leaves, computing dru takes n times longer than drs.

See also

Nearest neighbor interchange metric


Quartets Dialog Box

When comparing trees using quartet dissimilarity measures you can choose which measures you want COMPONENT to output. If you select d, s, SD, or SJA, then the program will output the lower left triangle of the appropriate pairwise distance matrix. If you select All then the program outputs all the statistics (including d, s, r1, r2, and u), and each tree comparison takes up a whole line. Since COMPONENT calculates all the statistics anyway, your choice will not affect the speed of computation.

See also

Quartet dissimilarity measures


Triplets Dialog Box

When comparing trees using triplets you can choose which measures you want COMPONENT to output. If you select d, s, SD, or SJA, then the program will output the lower left triangle of the appropriate pairwise distance matrix. If you select All then the program outputs all the statistics (including d, s, r1, r2, and u), and each tree comparison takes up a whole line. Since COMPONENT calculates all the statistics anyway, your choice will not affect the speed of computation.

See also

Quartet dissimilarity measures


File Menu

The commands in the file menu allow you to open, create, print, and execute input files, as well as save or print the display buffer, and exit from COMPONENT.

Commands

New

Open

Import

Save

Save as

Print

Print selection

Print display buffer

Printer setup

File | Save display buffer

File | Output file

File | Echo output to diskfile

Execute

Exit


File | New Command

The File | New command opens an empty edit window and gives it a temporary name.


File | Open Command

With File | Open command you can open a file you have edited and saved previously, or you can create a new file with a specific name.

If you open an existing file COMPONENT will ask whether you want to open the file as a Tree window or as an Edit window. If you choose Tree window COMPONENT will read and display the trees, otherwise COMPONENT will open the file as a text file for editing.


File | Import Command

With the File | Import command you can input trees from a non-NEXUS format tree file.

See also

Importing/Exporting Tree Files


File | Save Command

The File | Save command saves the contents of the active Tree or Edit window to disk.  If the edit window is untitled you will be prompted for a file name.


File | Save As Command

The File | Save as command saves the contents of  the active Tree or Edit window using the drive, directory, and name you supply.


File | Print Command

The File | Print command prints the contents of the active Edit window on the current printer.


File | Print Selection Command

If you have selected some text in the active Edit window, choosing the File | Print selection command will print the selected text on the current printer.


File | Print Display Buffer Command

The File | Print display buffer command prints the current contents of the display buffer.

Remember that because the buffer is limited to 32K bytes, some output may have been lost. When printing the display buffer any OEM charactersare replaced with their ANSI equivalents.


File | Printer Setup Command

The File | Print setup command lets you select and set up a printer. Use this command to alter page size, orientation and print quality.


File | Save Display Buffer Command

The File | Save display buffer command saves the current contents of the display buffer to a disk file. You will be prompted for a file name.

This command saves only the output that is still in the display buffer. If you want to ensure that you do not loose any output you should first open an output file with the  File | Output file command, then direct output to that file with the File | Echo output to diskfilecommand. All subsequent output will be sent to both the display buffer and the output file.


File | Output File Command

The File | Output file command lets you open a log file. If the File | Echo output to diskfilecommand is on, all output sent to the display buffer will also be sent to the log file.

You can use this command to ensure that none of your output is lost as a result of the limited size of the display buffer. COMPONENT will ask for a file name for the log file. If a file of that name already exists you will be given the option of replacing the existing file, or appending your output to that file.

Note that no output will be sent to the log file unless you toggle the File | Echo output to diskfile on.


File | Echo Output To Disk Command

The File | Echo output to disk command toggles on and off echoing the contents of the display buffer to the log file. (A check mark to the left of the menu item indicates that output is being echoed.)

This command is only available if a log file has first been opened using the File | Output file filecommand.


File | Execute Command

The File | Execute command processes the file in the active edit window.  This command is only available if the file is a NEXUS file.  If COMPONENT encounters an error when processing the file then the location of the error in the file is highlighted and an error message appears on the status bar at the bottom of the application window.


File | Exit Command

Exits COMPONENT.  You will be asked whether you want to save the contents of the display buffer, or any unsaved input files or trees.


Edit Menu

Most edit commands apply to selected text, that is, text that you have highlighted using either the mouse or the keyboard.

To select text with a mouse, drag the mouse pointer over the desired text. To select just one word, point at the word and double-click your mouse.

To select text with the keyboard, hold down the Shift key and then use the cursor control keys to highlight the desired block of text.

Once selected, text can be moved to and from the Windows Clipboard.

Commands

Undo

Cut

Copy

Paste

Delete

Clear display buffer

Edit display buffer

Tree


Edit | Undo Command

The Edit | Undo command "undoes" your most recent edit or cursor movement. In other words, it restores the text in the active edit window to the way is was before your last change.


Edit | Cut Command

The Edit |Cut command removes the selected text from your edit window and places the text in the Clipboard. You can then paste that text somewhere else in the edit window, into another edit window, or into another application by choosing Edit |Paste. The text remains selected in the Clipboard until you cut or copy another block, so you can paste the same text many times.


Edit | Copy Command

The Edit |Copy command leaves the selected text intact in your edit window, but places an exact copy of it in the Clipboard. You can then past that text into any other document by choosing Edit |Paste. You can also copy text from any other Windows application that uses the clipboard.


Edit | Paste Command

The Edit |Paste command inserts text from the Clipboard into the current edit window at the cursor position.


Edit | Delete Command

The Edit | Delete command removes the selected text from your edit window but does not place the text in the Clipboard.


Edit | Clear Display Buffer Command

The Edit |Clear display buffer command clears the display buffer and the log window.


Edit | Edit Display Buffer Command

This command loads the contents of the display buffer into Windows Notepad for editing.

Notepad uses the ANSI character set used by Windows, so any OEM characters used to draw trees are replaced by their ANSI equivalents.


Generate menu

Commands in the Generate menu allow you to generate all possible trees or a random sample of trees. The resulting trees are displayed in a Tree window.

Commands

Random trees

All trees


Generate | All trees command

Generates all possible trees.

See also

All Trees Dialog Box


Generate | Random trees command

Generates a profile of random trees.

See also

Random Trees Dialog


Trees menu
Tree Menu

The Trees menu contains the commands for manipulating the trees in the active tree window.

Commands

About

Save to file

Order

Show

Print

Statistics

Select

Remove duplicates

Prune/Regraft leaves

Outgroup

Rooted

Unrooted

Rooted with outgroup

Compare tree with

Consensus

Tree-to-tree distances

Partitions

Triplets

Quartets

NNI

Agreement subtree

Reconcile with tree

Map onto all trees

Prune each leaf

Options

Heuristic search

Trees | Compare with


Trees | About command
Trees |  About

Displays any output comments in the input file.


Trees |  Save to File Command

The Trees | Save to file command  lets you write the currently active trees to a disk file using one of a number of program formats.

See also

Trees Save dialog box


Trees | Order Command

By default COMPONENT draws trees so that the order of the leaves on the tree matches as closely as possible the order in the input file. The Trees | Order command lets you select other orders.

See also

Ordered trees

Trees Order dialog box


Trees | Show Command

The Trees | Show command draws the trees in memory in the display buffer.  You can display some or all of the trees in memory.

See also

Trees Show dialog box


Trees | Print Command

The Trees | Print command lets you print the trees in the active tree window.

See also

Trees Print dialog box


Trees | Statistics Command

The Trees | Statistics command computes a variety of tree statistics (see manual).


Trees | Select Command

The Trees | Select command lets you choose a subset of trees to work with.

See also

Trees Select Dialog Box


Trees | Remove duplicates command

The Trees | Remove duplicates command inactivates any active tree that duplicates another tree. This command is useful if, for example, you have combined two sets of trees together into a single file and you want to ensure that each distinct tree occurs just once. Any duplicate trees that are inactivated by this command are still in memory and can be reactivated using the Trees | Select command.


Trees | Prune/Regraft leaves command
Trees | Prune or graft Leaves Command

The Trees | Prune/Regraft leaves command lets you adjust the number of leaves in the trees in the active window.

See also

Trees Prune/Regraft dialog box


Trees | Outgroup command
Trees | Outgroup

The Trees | Outgroup command lets specify an outgroup with which to root the trees in the active tree window.

See also

Trees Outgroup dialog box


Trees | Rooted Command

The Trees | Rooted command forces the trees in the active Tree window to be rooted.


Trees | Unrooted Command

The Trees | Unrooted command forces the trees in the active Tree window to be unrooted.


Trees | Rooted with outgroup Command

The Trees | Rooted with outgroup command forces the trees in the active Tree window to be rooted with the current outgroup.


Trees | Compare Tree With Command

Compares the current tree with any other tree in the same profile.

See also

Trees Compare with dialog box


Trees | Consensus Command

Computes consensus trees for the trees in the active tree window.


Trees | Tree-To-Tree Distances Command

Displays a sub menu listing the tree-to-tree distances COMPONENT can compute.


Trees | Partitions Command

The Trees | Partitions command computes the partition metric distance between all pairs of active trees in the current tree window.


Trees | Agreement subtree Command

The Trees | Agreement subtree command computes the size of the greatest agreement subtree between all pairs of active trees in the current tree window.


Trees | NNI Command

The Trees | NNI command computes an approximation to the NNI distance between all pairs of active trees in the current tree window.  You will be presented with a dialog box allowing you to choose from three types of approximation.

See also

Nearest neighbor interchange metric

Nearest neighbor interchange dialog box


Trees | Triplets Command

The Trees | Triplets command computes triplet dissimilarity measures between  all pairs of active trees in the current tree window.  You will be presented with a dialog box allowing you to choose which statistics to output.

See also

Quartet dissimilarity measures

Triplets dialog box


Trees | Quartets Command

The Trees | Quartets command computes quartet dissimilarity measures between  all pairs of active trees in the current tree window.  You will be presented with a dialog box allowing you to choose which statistics to output.

See also

Quartet dissimilarity measures

Quartets dialog box


Trees | Reconcile with tree command

Reconciles tree in active Tree window with the current tree in the tree in TREES block and displays reconciled tree.


Trees | Map onto all trees command

Reconciles tree in active Tree window with all the tree in TREES block.


Trees | Prune each leaf command

Prunes each leaf in turn from the tree in the active Tree window and reconciles it with the tree in the current tree in the TREES block.


Trees | Options command
Trees | Options

Controls the options for reconciling trees.


Trees | Heuristic search command

Search for tree(s) that best fit the tree in the active Tree window.


Trees | Compare with command

Compares the trees in the current tree window with the trees in another window.


Window Menu

The Window menu lets you arrange the windows on the desktop. At the bottom of the menu is a list of the open windows. If there is more than one, you can switch to another window and make it active by selecting it either with the mouse or WITH the keyboard.

Commands

Tile

Cascade

Arrange icons

Close all


Window |Tile Command

Choose Window |Tile to tile your windows, so that they do not overlap one another, but together they cover the entire desktop).


Window |Cascade Command

Choose Window |Cascade to stack all open windows, such that all windows are now of the same size and are overlapping with only part of each underlying window visible.


Window |Arrange icons Command

Choosing Window |Arrange icons will rearrange any icons on the desktop so that they are evenly spaced, beginning in the lower left corner of the desktop.


Window |Close all Command

If you select Window |Close all command, COMPONENT will close all open windows on the COMPONENT desktop. If you have modified the contents of any Tree or Edit windows you will be asked whether you want to save those modifications. Before the Log window is closed you will be asked if you want to loose the contents of the display buffer.

After closing all open windows COMPONENT will reopen the Log window.


Importing/Exporting Tree Files

COMPONENT can read and write trees using the formats of other programs.  The programs supported include CONTREE, FREQPARS, Hennig86, and PHYLIP.

Importing Trees

Tree files written by other programs can be read by COMPONENT using either the File | Import command, or by creating a NEXUS input file containing the IMPORT command.

Exporting Trees

Trees in memory can be written in the format required by another program using the Trees | Save command.

Formats supported

COMPONENT 1.5

CONTREE

FREQPARS 1.0

Hennig86 1.5

PAUP 2.4.1

PHYLIP 3.x

For each format supported the following information is given:

Mode	COMPONENT can read and write most formats.  However, some formats it can only read, and others it can only write.

Syntax	General description of the format.

Explanation	A discussion of the format.

Remarks	Points to watch out for.

Example	An example


COMPONENT 1.5 tree files
COMPONENT 1.5

The previous release of COMPONENT had its own unique tree file format.

Mode

Read only.

Syntax

[1]	[C [<comments>]]

[2]	 <number of trees> <number of leaves>

[3]	<leaf label>

[<leaf label>]

[4]	<tree description;>

[<tree description;>]

Explanation

1.	One or more lines of optional comments, each line starting with a "C." These comments are ignored by COMPONENT 2.0.

2.	The number of trees and leaves in the profile. This line starts with at least one space ( ) which serves to signal the end of the optional comments.

3.	Leaf labels, one per line.

4.	Tree descriptions, each starting on a new line. The format is the same as the NEXUS standard.

Remarks

The trees may be binary or nonbinary.

The leaves in the tree descriptions may be labelled by either tokens (e.g., "ANCT") or by numbers (e.g., "1").

Example

C

C Nine binary, equally parsimonious trees for Salamea.

C

 9 11

ANCT

SCAN

ORTH

OLIG

PALM

PETR

CALE

GLAB

MON

INSTI

PAUC

(1,(((2,3),(4,5)),(6,((7,(9,(10,11))),8))));

(1,((((2,3),(4,5)),((7,(9,(10,11))),8)),6));

(1,((((2,3),(4,5)),6),((7,(9,(10,11))),8)));

(1,(((2,3),(4,5)),(6,(((7,(10,11)),9),8))));

(1,((((2,3),(4,5)),(((7,(10,11)),9),8)),6));

(1,((((2,3),(4,5)),6),(((7,(10,11)),9),8)));

(1,(((2,3),(4,5)),(6,((7,((9,10),11)),8))));

(1,((((2,3),(4,5)),((7,((9,10),11)),8)),6));

(1,((((2,3),(4,5)),6),((7,((9,10),11)),8)));


CONTREE files
CONTREE

CONTREE (written by David Swofford and distributed with his program PAUP 2.4.1) computes strict and Adams consensus trees from files created by PAUP's confile command.

Mode

Read only

Syntax

[1]	[<title>] [#]

[2]	<number of taxa> taxa

[3]	LABELS {STRICT | ADAMS}

[4]	<taxon label >[#]

[<taxon label [#]>]

[5]	<tree description;>

[<tree description;>]

[6]	@

Explanation

1.	Optional title string, padded to 80 columns with trailing spaces (#).

2.	Number of taxa. The token taxa is used by COMPONENT to verify that the file is a CONTREE file.

3.	Options line, specifying whether the taxa are labelled, and what kind of consensus tree the user wants. This line is ignored, since PAUP by default always writes LABELS STRICT here.

4.	Taxon labels, each starting on a new line. If necessary the labels are padded with trailing spaces (#), so that the total label length is that specified in the data statement in the PAUP data file.

5.	The tree descriptions, each starting on a new line and terminated with a semicolon (;). The format is similar to the NEXUS standard, except that commas (,) are only used to separate terminal sister taxa, and taxa are always labelled by a number.

6.	The ASCII end of file marker (@) signals that there are no more trees to be read. The file does not tell the user how many trees it contains.

Remarks

The trees are always binary trees.

Example

SALA -- BOLICK ADV. CLAD. 1:115-125 SALMEA####

    11 taxa

LABELS STRICT

ANCT####

SCAN####

ORTH####

OLIG####

PALM####

PETR####

CALE####

GLAB####

MON#####

INSI####

PAUC####

(1(((2,3)(4,5))(6((7(9(10,11)))8))));

(1((((2,3)(4,5))((7(9(10,11)))8))6));

(1((((2,3)(4,5))6)((7(9(10,11)))8)));

(1(((2,3)(4,5))(6(((7(10,11))9)8))));

(1((((2,3)(4,5))(((7(10,11))9)8))6));

(1((((2,3)(4,5))6)(((7(10,11))9)8)));

(1(((2,3)(4,5))(6((7((9,10)11))8))));

(1((((2,3)(4,5))((7((9,10)11))8))6));

(1((((2,3)(4,5))6)((7((9,10)11))8)));

@


FREQPARS 1.0 tree files
FREQPARS 1.0

David Swofford's program FREQPARS can optimise allele frequency data on user supplied trees using a maximum parsimony criterion.

Mode

Write only

Syntax

[1]	<tree description>

<[tree description]>

[2]	@

Explanation

1.	Tree description, each starting on a new line. Trees are described by ancestor functions.

2.	ASCII end of file marker (@) signals that there are no more trees.

Remarks

FREQPARS requires binary unrooted trees. The trees are described by an ancestor function rooted at the last leaf of the tree (see FREQPARS documentation for more details).

Example

(An example to come...)


Hennig86 1.5 tree files
Hennig86 1.5

Hennig86 is Steve Farris' (1988) fast, compact program for computing Wagner trees. These trees can be written to disk files using the tsave command.

Mode

Read and write.

Syntax

[1]	tread

[2]	['title-string']

[3]	[<tree description*>]

[4]	<tree-description;>

[5]	proc/;

Explanation

1.	The tread command. COMPONENT uses the presence of this command to verify that the file is a Hennig86 tree file.

2.	Optional title string, enclosed in single quotes.

3.	Tree descriptions, each starting on a new line and terminated with an asterix (*), unless that tree is the last (or only) tree in the file, in which case it is terminated by a semicolon (;). Each taxon label is followed by a space. No other punctuation is used.

4.	The last tree description is terminated with a semicolon (;). COMPONENT stops reading the file at this point.

5.	The procedure command (abbreviated to proc) signals the end of the file. COMPONENT ignores this line.

Remarks

The trees are unrooted, and may be either binary or nonbinary. Hennig86 uses the convention of a basal trichotomy to represent unrooted trees. Because COMPONENT uses the same representation for both rooted and unrooted trees, the basal node of a Hennig86 tree is always split so that it has just two descendants.

The n taxa are labelled by the numbers 0, 1, ..., n - 1. COMPONENT uses these labels, unless either:

1.	The user provides a translation table (together with a TAXA block) such as

TRANSLATE

0	ANCT,

   	1  	SCAN,

   	.    	.

   	.    	.

  	10   	PAUC;

or,

2.	You include the data matrix as the xread command in the file before the tread command.  COMPONENT will then extract the taxon names from the data matrix.

Hennig86's tread command supports a wide range of tree description formats which COMPONENT will not recognise (for example, those using the characters "\/[]{}"). COMPONENT's import command is designed only to read files created by Hennig86's tsave command.

Example

tread

'file from ie 8 trees'

(0 ((1 2 )(3 4 ))(5 (7 (6 (8 (9 10 ))))))*

(0 (5 ((1 2 )(3 4 )))(7 (6 (8 (9 10 )))))*

(0 5 ((1 2 )(3 4 ))(7 (6 (8 (9 10 )))))*

(0 ((1 2 )(3 4 ))(5 (7 (8 (6 (9 10 ))))))*

(0 5 ((1 2 )(3 4 ))(7 (8 (6 (9 10 )))))*

(0 ((1 2 )(3 4 ))(5 (7 (6 (10 (8 9 ))))))*

(0 (5 ((1 2 )(3 4 )))(7 (6 (10 (8 9 )))))*

(0 5 ((1 2 )(3 4 ))(7 (6 (10 (8 9 )))));

proc/;


PAUP 2.4.1 tree files
PAUP 2.4.1

PAUP 2.4.1 is the current IBM PC version of David Swofford's well known program.

Mode

(Not implemented yet!)

Syntax

[1]	<number of leaves> <number of trees> <HYPANC>

[2]	[<comments>] [#]

[3]	<tree description>

[<tree description>]

Explanation

1.	The number of taxa, number of trees, and the value of HYPANC (1 is the default).

2.	Optional title string, if necessary padded to 80 columns with trailing spaces (#). If the string is not specified this line consists of 80 spaces.

3.	The tree descriptions, each starting on a new line. Each tree is described by an ancestor function.

Remarks

PAUP 2.4.1 stores unrooted trees as ancestor functions arbitrarily rooted at HYPANC. HYPANC is the ancestor of the last internal node in the tree, HYPANC's own ancestor is 0.  Any other rooting option that the user might have specified while running the program (e.g., OUTGROUP, MIDPOINT, LUNDBERG) is lost, PAUP saves just the unrooted topology.

Example

   11    9    1

SALA -- BOLICK ADV. CLAD. 1:115-125 SALMEA####################

  0  12  12  13  13  18  16  17  15  14  14  19  19  15  16  17  18  20  20   1

  0  12  12  13  13  20  16  17  15  14  14  18  18  15  16  17  19  19  20   1

  0  12  12  13  13  19  16  17  15  14  14  18  18  15  16  17  20  19  20   1

  0  12  12  13  13  18  15  17  16  14  14  19  19  15  16  17  18  20  20   1

  0  12  12  13  13  20  15  17  16  14  14  18  18  15  16  17  19  19  20   1

  0  12  12  13  13  19  15  17  16  14  14  18  18  15  16  17  20  19  20   1

  0  12  12  13  13  18  16  17  14  14  15  19  19  15  16  17  18  20  20   1

  0  12  12  13  13  20  16  17  14  14  15  18  18  15  16  17  19  19  20   1

  0  12  12  13  13  19  16  17  14  14  15  18  18  15  16  17  20  19  20   1


PHYLIP 3.x tree files
PHYLIP 3.x

Joseph Felsenstein's widely distributed PHYLIP package contains a wide variety of tree building programs that can store their results in tree files.

Mode

Read and write

Syntax

[1]	tree description;

[tree-description;]

[2]	@

Explanation

1.	Tree description, each starting on a new line. The leaves are labelled with tokens (e.g., "ANCT"), not numbers.

2.	ASCII end of file marker (@) signals that there are no more trees.

Remarks

The file does not tell the user how many trees there are, nor how many leaves each tree has.

PHYLIP supports only binary trees.  Unrooted trees (such as those produced by FITCH) have a basal trichotomy, which COMPONENT uses to distinguish between rooted and unrooted trees (COMPONENT arbitrarily splits the basal trichotomy of an unrooted tree).

COMPONENT labels the taxa with the labels in the tree description, unless the user provides a translation table (and associated TAXLABELS command) such as:

translate

   ANCT  ancestor,

   GLAB  Glaberrima,

     .       .

     .       .

   SCAN  Scandens;

Example

(ANCT,(((GLAB,(MON,((PAUC,INSI),CALE))),PETR),

((PALM,OLIG),(ORTH,SCAN))));

(ANCT,(((GLAB,((PAUC,(INSI,MON)),CALE)),PETR),

((PALM,OLIG),(ORTH,SCAN))));

(ANCT,(PETR,((GLAB,(MON,((PAUC,INSI),CALE))),

((PALM,OLIG),(ORTH,SCAN)))));

(ANCT,(PETR,((GLAB,((PAUC,(INSI,MON)),CALE)),

((PALM,OLIG),(ORTH,SCAN)))));

(ANCT,((GLAB,(MON,((PAUC,INSI),CALE))),(PETR,

((PALM,OLIG),(ORTH,SCAN)))));

(ANCT,((GLAB,(((PAUC,INSI),MON),CALE)),(PETR,

((PALM,OLIG),(ORTH,SCAN)))));

(ANCT,((GLAB,((PAUC,(INSI,MON)),CALE)),(PETR,

((PALM,OLIG),(ORTH,SCAN)))));

@


ASCII End of File Character

The last character in a DOS text file is the ASCII character 26.


NEXUS format

COMPONENT uses the NEXUS file format, developed for the programs PAUP 3.0 and MacClade by David Swofford, Wayne Maddison, and David Maddison.

The NEXUS format allows easy interchange of trees between different programs.  In order to facilitate exchanging trees between non NEXUS programs (e.g., Hennig86, PHYLIP, older versions of PAUP, etc.), COMPONENT can also read and write trees using a variety of other formats (see Importing/Exporting Tree Files).

Overview

NEXUS format files consist of the #NEXUS directive at the beginning of the file, followed by a series of "blocks" enclosing a groups of commands. Some blocks (such as the TREES block) are shared by a number of programs. Other blocks may be specific to a single program. A simple NEXUS file might look like this:

#NEXUS

[ A simple NEXUS file]

BEGIN TREES;

utree PAUP_1 = (a,(b,(c,(d,(e,f)))));

utree PAUP_2 = (a,(b,((c,d),(e,f))));

ENDBLOCK;

Format

The files are free format. Blanks, tabs, and new lines may be placed anywhere in the file. COMPONENT is not case sensitive for commands, so they can be entered in upper or lower case, or a mixture of both. COMPONENT is case sensitive for identifiers such as taxon labels, so that 'geomys' and 'Geomys' are not the same identifier.

Tokens such as leaf names and file names are entered as strings of characters bounded by whitespace ( ) or punctuation (()[]{}'=;). Examples include

Eucalyptus

A._australis

'John''s best tree'

'c:\hennig\peg.tre'

Unless a token is enclosed in single quotes (') it can only contain alphanumeric characters (A..Z, a..z, 0..9), the period (.), and the underscore (_). A token that starts with a single quote ends with the next single quote (unless that single quote is in a pair of consecutive single quotes; if so, then the token ends at the next single quote after all such pairs of quotes). For output purposes, tokens enclosed in single quotes have those quotes removed, and any pairs of quotes will be made single. Hence the token 'John''s best tree' is output as John's best tree.

Comments

Comments may be included anywhere in the output file by enclosing them in square brackets. For example,

[This is a comment]

Unless the first character following the "[" is an exclamation point (!), the comment is ignored by the program. If the comment begins with a "[!", as in

[!This is a visible comment]

then COMPONENT will echo them to the display buffer exactly as they appear in the file.

See also

NEXUS file blocks

NEXUS command descriptions


NEXUS file blocks

NEXUS files consist of a series of blocks.  Each block begins with a begin command and ends with an endblock command:

BEGIN blockname;

.

[one or more NEXUS commands]

.

ENDBLOCK;

Each command within the block is terminated by a semicolon (;). Within each block the commands must appear in a logical order, that is, a command that affects another command must precede the second command in the file.

See also

Blocks:

DISTRIBUTION

TAXA

TREES

NEXUS command descriptions

NEXUS format


NEXUS DISTRIBUTION block
DISTRIBUTION block

The DISTRIBUTION block is unique to COMPONENT and describes the distribution and relationships of a single clade of entities (organisms or genes) that are associated in some sense with the entities described in the TAXA block. For example, the DISTRIBUTION block may contain the distribution and relationships of a group of parasitic taxa. An input file may have up to 10 DISTRIBUTION blocks.

The syntax for the DISTRIBUTION block is:

BEGIN DISTRIBUTION;

[TITLE = 'title-string';]

NTAX = number-of-taxa;

RANGE

taxon-1 : host [host ...],

[taxon_2 : host [host ...],]

taxon_ntax : host [host ...];

[TREE [*] tree-name = rooted-tree-specification;]

ENDBLOCK;

The optional TITLE command provides a convenient way of referring to individual

distribution blocks.

The NTAX specifies the number of taxa in the distribution block.

The RANGE command describes the distribution of the NTAX taxa.

The TREE command describes the relationships of the NTAX taxa.


NEXUS TAXA block
TAXA block

The TAXA block specifies information about the taxa. There can be only one TAXA block in a file, and it must come before any TREES block.

Syntax

BEGIN TAXA;

DIMENSIONS NTAX = number-of-taxa;

TAXLABELS taxon-name ...;

ENDBLOCK;


NEXUS TREES block
TREES block

The trees block is used to input user-defined trees into COMPONENT. Trees can be individually described by a TREE or UTREE command,  imported from another file with the IMPORT command, or generated from a distribution of trees either exhaustively (ALL) or by random sampling (RANDOM).

Syntax

The syntax for the trees block is:

BEGIN TREES;

[TRANSLATE taxon-name token-used-in-tree-description[, taxon-name token-used-in-tree-description...];]

[TREE [*] tree-name = rooted-tree-specification;]

[UTREE [*] tree-name = unrooted-tree-specification;]

[IMPORT FILETYPE= {COMPONENT|CONTREE|HENNIG86|PAUP241|PHYLIP|NEXUS} FILE='file_name';]

[RANDOM

MODEL={MARKOVIAN|EQUIPROBABLE|UNLABELED}

         	NTREES=number-of-trees

         	[UNROOTED]

         	[NTAX=number-of-taxa]

         	[SEED=integer];]

[ALL [MODEL={EQUIPROBABLE|UNLABELED}]

[UNROOTED]

[NTAX=number-of-taxa];]

ENDBLOCK;

The TREE and UTREE commands are used to input rooted and unrooted trees, respectively.  You cannot mix TREE and UTREE commands in the same file -- all trees must be either rooted or unrooted.

The IMPORT command is used to read trees stored in another file in another format. For example, a file of trees output by Hennig86 can be read by COMPONENT using the IMPORT command.

The RANDOM command generates NTREES random trees using the specified model. The ALL command generates all possible trees.


NEXUS command descriptions

For each NEXUS command the following information is given:

Syntax

How it's declared. Items in CAPITALS are NEXUS reserved words, other items are user defined. Items enclosed in:

items in italics are to be substituted by the user.

square brackets, e.g. [X], are optional.

braces, e.g., {X |Y |Z}, are mutually exclusive options.

An item followed by an ellipsis (...) means that it may be repeated one or more times.

Example

An example of the command.

Remarks

Special requirements and things to watch for.

Portability

Other NEXUS conforming programs that recognise the command.

See also

A list of related commands.


RANGE command
RANGE command(DISTRIBUTION block)

Specifies the distribution of a group of entities such as taxa or genes.

Syntax

RANGE

taxon-1 : ahost [another-host ...],

[taxon_2 : ahost [another-host ...],]

taxon_ntax : ahost [another-host ...];

Example

RANGE

attenuata   	: A6,

jonesi        	: A1,

litoperas     	: A9,

obliqua       	: A45,

anzuetoi      	: A10,

cataractae    	: A7,

dirempta     	: A8,

bimaculata	: A2 A3;

Remarks

In the example above the distributions of eight taxa (attenuata to bimaculata) found in areas A1 to A10 are described. Taxon bimaculata occurs in two areas (A2 and A3), the other taxa are all endemics.

The distribution of a taxon can be described by listing either the area (or host) labels or the number corresponding to the order the area (or host) is listed in the TAXLABELS command in the TAXA block.


ALL command
ALL command (TREES block)

The ALL command generates all possible trees.

Syntax

[ALL [MODEL={EQUIPROBABLE|UNLABELED}]

[UNROOTED]

[NTAX=number-of-taxa];]

Example

ALL MODEL=UNLABELED UNROOTED;

Remarks

If MODEL is not specified then all possible trees, represented one each, will be generated. This is equivalent to MODEL=EQUIPROBABLE. If the UNLABELED model is chosen the all distinct unlabelled trees (sometimes called "shapes" or "topologies") will be produced.

By default the trees produced are rooted. You can request unrooted trees by using the UNROOTED subcommand.

The NTAX subcommand is only necessary if the number of taxa have not already been defined (for example in the TAXA block). Do not use the NTAX subcommand if your file has a TAXA block.

Portability

Standard (11 June 1991) NEXUS command. COMPONENT does not support the MARKOVIAN and PARTITION models, nor does it support the CONSTRAINT subcommand. The UNROOTED and NTAX  subcommands are unique to COMPONENT.


DIMENSIONS command
DIMENSIONS command (TAXA block)

Specifies the number of taxa in the profile.

Syntax

DIMENSIONS NTAX = number-of-taxa;

Example

DIMENSIONS NTAX=6;


TAXLABELS command
TAXLABELS command (TAXA block)

Allows you to specify the names of the taxa. This command is required if you are going to use a TRANSLATE command in the TREES block.

Syntax

TAXLABELS taxon-name1 taxon-name2 ... taxon_nameNTAX;

Example

TAXLABELS alpha beta gamma delta epsilon;


RANDOM command

RANDOM command (TREES block)

Generates trees sampled from a uniform distribution of trees.

Syntax

RANDOM MODEL={MARKOVIAN|EQUIPROBABLE|UNLABELED}

NTREES=number-of-trees

[UNROOTED]

[NTAX=number-of-taxa]

[SEED=integer];

Example

RANDOM MODEL=EQUIPROBABLE NTREES=1000 SEED=2047;


Remarks

RANDOM produces NTREES random trees sampled from the distribution specified by the MODEL subcommand.

The value for SEED must be in the range 1 to 2,147,483,647. If you don't supply a seed COMPONENT will use a value from the system clock.

By default the trees produced are rooted. You can request unrooted trees by using the UNROOTED subcommand (this command is ignored when MODEL=MARKOVIAN).

The NTAX subcommand is only necessary if the number of taxa have not already been defined (for example in the TAXA block). Do not use the NTAX subcommand if your file has a TAXA block.

Portability

Standard (11 June 1991) NEXUS command. COMPONENT does not support the PARTITION model, nor does it support the CONSTRAINT subcommand. The UNROOTED and NTAX  subcommands are unique to COMPONENT.


IMPORT command
IMPORT command (TREES block)

Imports trees from a file other than the input file. Allows you to read trees written for other programs (such as Hennig86).

Syntax

IMPORT FILETYPE={COMPONENT | CONTREE | HENNIG86 | PAUP241 | PHYLIP | NEXUS} FILE='file-name';

Example

IMPORT FILETYPE=Hennig86 FILE='c:\trees\my.tre';

Remarks

To import trees from a file you must specify the file's name and format. The file specification must be enclosed in single quotes, and can include drive and path information.

Currently IMPORT supports these formats:

COMPONENT 1.5tree files

CONTREE files created by PAUP 2.4.1

Hennig86 1.5 files created by tsave command

NEXUS format tree files

PHYLIP 3.x files created with 'Y' option

Portability

Standard (11 June 1991) NEXUS command.

See also

Importing/Exporting Tree Files

NEXUS commands

Trees block


TRANSLATE command
TRANSLATE command (TREES block)

Translates labels in tree descriptions into original labels.

Syntax

TRANSLATEtaxon-name token-used-in-tree-description[, taxon-name token-used-in-tree-description...];

Example

TRANSLATE

H Human,

A Ape,

M Mouse;

Remarks

TRANSLATE requires that you have issued a TAXLABELS command in the TAXA block.

TRANSLATE lets you use abbreviated labels in your tree descriptions. Since COMPONENT will automatically translate numerical labels in tree descriptions you don't need to provide a translation table for numbers.

Portability

Standard (11 June 1991) command.

See also

NEXUS commands

Trees block


TREE command
TREE and UTREE commands (TREES block)

Describes a rooted  (TREE) or unrooted (UTREE) tree.

Syntax

[TREE [*] tree-name = rooted-tree-specification;]

[UTREE [*] tree-name = unrooted-tree-specification;]

Example

TREE my_tree = ((A,B),C);

Remarks

An asterix (*) before the name of a tree marks that tree as the default tree (COMPONENT ignores this). Although COMPONENT requires the trees to be named it does not store the names, hence the trees are always referred to by their order in the input file.

The tree description follows the standard adopted by PAUP 3.0 and MacClade 3.0.

Portability

Standard (11 June 1991) command.

See also

NEXUS commands

Trees block

Tree description


UTREE command
UTREE command (TREES block)

See TREE command.


Tree descriptions

Trees are described using a standard parenthetical notation.  Each cluster in the tree is enclosed by a pair of parentheses ("()"). To write a tree description you simply visit all nodes in the tree, starting at the root.  Follow these rules:

If the node is a leaf, write the node's label, then return to the node's immediate ancestor.

If the node is an internal node:

1.	If you're visiting the node for the first time, write a left parenthesis ("("), then visit the node's leftmost child.

2.	If you've already visited the node before, but haven't yet visited all that node's descendants, write a comma (","), then visit the next descendant of the node (going from left to right).

3.	If you've already visited the node before, and you've visited all the node's descendants, write a right parenthesis (")") and visit the node's immediate ancestor (if any). If the current node is the root then stop.

Example

Step	Tree description

1	(

2	((

3	((a

4	((a,

5	((a,b

6	((a,b)

7	((a,b),

8	((a,b),(

9	((a,b),(c

10	((a,b),(c,

11	((a,b),(c,d

12	((a,b),(c,d,

13	((a,b),(c,d,e

14	((a,b),(c,d,e)

15	((a,b),(c,d,e))

Rooted versus unrooted trees

The tree description produced by the above method defines a rooted tree. This raises the problem of representing unrooted trees. Rooted trees differ from unrooted trees in having one extra internal node (the root), and some programs represent unrooted trees as rooted trees this node deleted. For example, Hennig86 and PHYLIP represent unrooted binary trees as rooted trees with a basal trichotomy.

PAUP 3.0 outputs unrooted binary trees as fully resolved rooted trees, but allows the user to enter unrooted trees using either representation. The example below (taken from the PAUP documentation) shows two identical binary unrooted trees and their corresponding tree descriptions:

To avoid such ambiguity COMPONENT requires that a binary unrooted tree be described in the same way as a binary rooted tree, hence you should always describe a tree as if it were rooted. Failure to do so may give spurious results.

Missing taxa

Note that COMPONENT requires that each tree description contains the same number of taxa. Unlike PAUP, it does not join any missing taxa to the base of the tree, nor does it allow for unequal sized trees as does MacClade. These differences may be important if you are reading files originally intended for either PAUP or MacClade.


Consensus trees

The consensus of a profile is a tree that represents some aspect of agreement between the trees in the profile.

Consensus methods

Adams

Majority rule

Nelson

Semi-Strict

Strict


Adams consensus

Definition

An Adams consensus tree contains the nestings common to all trees in a profile.

Algorithm

COMPONENT uses the algorithm described by Adams (1986:315).  Let P be a profile of trees, and Tc be the Adams consensus tree.  Start with Tc being a star tree.  Repeat the following for each nontrivial cluster S of Tc.  Let PPi(S) be the partition product of S induced by the descendants of lubi(S).  Construct the new partition PPc(S) to be the partition product of the PPi(S) over all Ti in P.  Add PPi(S) to Tc.

Rooted versus unrooted trees

Adams consensus trees are not invariant under different rootings.  If the trees in the profile are unrooted, COMPONENT treats them as if they were rooted trees.

Output

COMPONENT draws the Adams consensus tree in the display buffer. While COMPONENT is computing the Adams consensus tree it tells you which tree it is processing (the program usually requires several passes through the profile) and how many clusters with > 3 leaves the consensus tree currently contains.

References

Adams, E. N. 1986. N-trees as nestings: Complexity, similarity, and consensus.  J. Classif 3: 299-317.


Least upper bound

The least upper bound, lub(S), of a set S in tree T is the smallest cluster in T that includes all the members of S.  In this context, the least upper bound of a set of taxa is the most recent common ancestor of those taxa.

Example

Given this tree, the smallest cluster containing the set {2, 3} is {2, 3, 4}, hence  lub({2,3}) = {2,3,4}.


Nesting

Given two sets of leaves, A and B, and a tree T,  set A nests inside set B iff (1) A is a subset of B, and (2) the leaves in set A have a more recent common ancestor in T than do the leaves in set B.


Partition

A partition of a set divides that set into disjoint subsets.  For example, {{1, 2, 3}, {4, 5}, {6}} is a partition of the set {1, 2, 3, 4, 5, 6}.

The descendants of a node in a tree define a partition of that node's cluster.  For example, the partition given above corresponds to the tree:


Partition product

Given two partitions, P1 and P2, the partition product PP(P1,P2) is the set of all possible pairwise intersections between the two partitions.  For example,

P1 = {123 45 6789}

P2 = {12 34 567 89}

PP(P1,P2) = {12 3 4 5 67 89}


Majority rule consensus

Definition

The majority rule consensus tree of a profile contains only those clusters found in a majority (> 50%)of the trees in the profile (Margush and McMorris, 1981).

Algorithm

COMPONENT stores all the clusters in a hash table, then builds the majority rule consensus tree using those clusters that occur in >50% of the trees.

Rooted versus unrooted trees

COMPONENT arbitrarily roots unrooted trees with the first leaf before computing the strict consensus tree.  This choice of leaf does not affect the result.

Output

COMPONENT displays the following information:

1.	A table of all the clusters in the profile and their frequencies.

2.	The majority rule consensus tree, with the internal nodes labelled with the percentage of trees in the profile that the corresponding cluster occurs in.  If the input trees are unrooted the first cluster (containing all but one leaf) is arbitrary and so is not labelled.

See also

Consensus

Strict consensus

Semi-strict consensus

Nelson consensus

Reference

Margush, T., and F. R. McMorris. 1981. Consensus n-trees. Bull. Math. Biol. 43: 239-244.


Nelson consensus

Definition

A Nelson consensus tree is the largest clique of most frequently replicated clusters in a profile of trees. If there is more than one such clique then the Nelson consensus tree is the set of clusters common to those cliques.

This method partitions the clusters in the profile into

three categories:

1.	clusters in the consensus tree ("true").

2.	clusters in some but not all of the cliques with the most replications of clusters ("ambiguous").

3.	clusters in neither category (1) nor (2) ("false").

Note

In the literature the Nelson (1979) consensus tree has often been confused with the strict consensus tree. The two methods are quite different (see Page, 1989).

Algorithm

COMPONENT uses the algorithm described by Page (1989) to compute Nelson consensus trees.

Rooted versus unrooted trees

COMPONENT arbitrarily roots unrooted trees with the first leaf before computing the strict consensus tree.  The choice of leaf does not affect the result.

Output

COMPONENT displays the following information:

1.	A table of all the clusters in the profile and their frequencies.

2.	The pairwise compatibility matrix for all clusters in the profile.

3.	The three cluster partitions: True, Ambiguous, and False. Each partition is displayed in the form

T: [1 2 6..9 10]

where the notation 6..9 is means that clusters 6 through to 9 (i.e., 6, 7, 8, and 9) are members of the set T.

4.	The Nelson consensus tree, with the internal nodes labelled with the percentage of trees in the profile that the corresponding cluster occurs in.  If the input trees are unrooted the first cluster (containing all but one leaf) is arbitrary and so is not labelled.

See also

Consensus

Majority rule consensus

Semi-strict consensus

Strict consensus

References

Nelson, G. 1979. Cladistic analysis and synthesis: Principles and definitions, with a historical note on Adanson's Famille des Plantes (1763-1764). Syst. Zool. 28: 1-21.

Page, R. D. M. 1989. Comments on component-compatibility in historical biogeography. Cladistics 5: 167-182.


Semi-strict consensus

Definition

A semi-strict consensus tree contains all the uncontradicted clusters in a profile of trees. Hence it contains all the clusters of the strict consensus tree, together with any additional clusters that are compatible with every other cluster in the profile.

Example

Although the cluster {3, 4} occurs in T1 and not in T2, it is compatible with all the clusters in T2, so it appears in the semi-strict consensus tree.

The semi-strict consensus tree was described by Bremer (1990) as the "combinable component consensus tree." For two binary trees, the semi-strict consensus tree is identical to the strict consensus tree; for two nonbinary trees the semi-strict consensus tree is identical to the Nelson consensus tree.

Algorithm

COMPONENT uses a hash table to store the clusters in the profile, then constructs a pairwise compatibility matrix between all the clusters. Those clusters having no incompatibilities are retained in the consensus tree.

Rooted versus unrooted trees

COMPONENT arbitrarily roots unrooted trees with the first leaf before computing the strict consensus tree.  The choice of leaf does not affect the result.

Output

COMPONENT displays the following information:

1.	A table of all the clusters in the profile and their frequencies.

2.	The pairwise compatibility matrix for all clusters in the profile.

3.	The semi-strict consensus tree, with the internal nodes labelled with the percentage of trees in the profile that the corresponding cluster occurs in.  If the input trees are unrooted the first cluster (containing all but one leaf) is arbitrary and so is not labelled.

See also

Consensus

Majority rule consensus

Nelson consensus

Strict consensus

Reference

Bremer, K. 1990. Combinable component consensus. Cladistics 6: 369-372.


Strict consensus

Definition

The strict consensus tree of a profile contains only those clusters found in all the trees in the profile.

In the literature the strict consensus tree has often been confused with the Nelson (1979) consensus tree, hence most "Nelson" consensus trees are in fact strict consensus trees.

Algorithm

If no other cluster based consensus method is chosen, COMPONENT uses Day's (1985) algorithm.  Otherwise, the program first stores all the clusters in a hash table, then builds the strict consensus tree using the clusters that occur in every tree.

Rooting

COMPONENT arbitrarily roots unrooted trees with the first leaf before computing the strict consensus tree.  The choice of leaf does not affect the result.

Output

If no other cluster based consensus method is chosen, COMPONENT outputs just the strict consensus tree, otherwise

COMPONENT displays the following information:

1.	A table of all the clusters in the profile and their frequencies.

2.	The majority rule consensus tree, with the internal nodes labelled with the percentage of trees in the profile that the corresponding cluster occurs in.  If the input trees are unrooted the first cluster (containing all but one leaf) is arbitrary and so is not labelled.

See also

Consensus

Majority rule consensus

Semi-strict consensus

Nelson consensus

References

Day, W. H. E. 1985. Optimal algorithms for comparing trees with labelled leaves. J. Classif. 2: 7-28.

Nelson, G. 1979. Cladistic analysis and synthesis: Principles and definitions, with a historical note on Adanson's Famille des Plantes (1763-1764). Syst. Zool. 28: 1-21.

Page, R. D. M. 1989. Comments on component-compatibility in historical biogeography. Cladistics 5: 167-182.


Error Messages

(This documentation is incomplete! Most error messages are reasonably self-explanatory. Messages not documented here include run-time errors and "Unrecoverable Application Errors" due to any bugs in the program.)

The following is a list of COMPONENT error messages. The symbol "%s" in an error message will be replaced by the offending token in the input file.

1	Insufficient free memory

10	Unexpected end of file

11	Syntax error

12	Invalid token: %s

13	Invalid numeric format: %s

14	Expecting a number

15	Expecting a token enclosed in single quotes ("'")

20	Command %s is unrecognised.

21	Block %s is unrecognised

22	Expecting a semicolon (";")

23	Invalid file specification: %s

24	Unrecognised file format: %s

25	Missing label

26	Not a NEXUS file

27	Expecting a comma (",")

28	Expecting a TREES block

29	Expecting a PROFILE block

30	File %s not found

31	Expecting an equals ("=")

32	Label hash table overflow

33	Duplicate label %s

34	You cannot mix rooted and unrooted trees

35	Invalid import file format

36	Expecting tree name.

37	Undocumented import file error

38	Translation table error

39	%s command used incorrectly

40	Tree stack overflow

41	Unbalanced tree description

42	Missing left parenthesis ("(")

43	Tree stack not empty

46	Unknown label: %s

47	Extra pair of parentheses ("()")

48

49

50	Tree buffer is full

51	Expecting "BEGIN" command

52	Number is out of range

53	Too many distribution blocks

54	Expecting a title string.

55	Translation table error.

56

57

58

59

60	Cluster hash table overflow

61	Unable to root trees using this outgroup

62	All leaves in outgroup have been pruned

63	Current outgroup is now invalid

64	Unable to compare these two profiles

65

66

70	Expecting a TAXA block.

71	NTAX specifies fewer labels than TAXLABELS command.

72	NTAX specifies more labels than TAXLABELS command.

73	Tree description must contain all the leaves.

74	%s command is used twice.

75	MODEL %s is unrecognised.

76	You must specify a seed greater than 0 and less than 2147483647.

77	NTREES value must be between 1-10000.

78	NTAX value must be between 3-100.

79	NTAX value must be between 4-100.

80	Expecting a MODEL sub comand.

81	Expecting a NTREES subcommand.

82 	Expecting a NTAXA subcommand.

83 	NCHAR specifies too many characters.

84	Expecting a symbol.

85	Trees being reconciled must have at least 3 leaves in common.

100	Disk read error

101	Disk write error

102	File %s is not assigned

103	File %s is not open

104	File %s not open for input

105	File %s not open for output

106	Invalid numeric format.

999	User interrupted


Error 1 	Insufficient free memory

There is insufficient free memory for this operation.


Error 10 	Unexpected end of file

You may have omitted the endblock command or its semicolon.


Error 11 	Syntax error

A character or token has been used incorrectly.


Error 12 	Invalid token: %s

The token %s is not a valid token.


Error 13 	Invalid numeric format: %s

The token %s is not a valid number.


Error 14 	Expecting a number

The command requires a numeric value.


Error 15 	Expecting a token enclosed in single quotes ("'")

The command requires a token enclosed in single quotes, such as 'my.tres'.


Error 20 	Command %s is unrecognised.

The command %s is not recognised by COMPONENT.

See also

NEXUS command descriptions


Error 21 	Block %s is unrecognised

The block %s is not recognised by COMPONENT.

See also

NEXUS file blocks


Error 23 	Invalid file specification: %s

The FILE='file-name' field of the IMPORT command must be a valid DOS file name.


Error 24 	Unrecognised file format: %s

The FILETYPE= field of the import command must be one of the following: CONTREE, COMPONENT, HENNIG86, NEXUS, PHYLIP.


Error 26 	Not a NEXUS file

A valid NEXUS fileNEXUS_FORMAT must have #nexus on its first line, with # as the first character in the line.


Error 35 	Invalid import file format

The file being imported does not match a format recognised by COMPONENT.  Check that you have the right file, or compare the file being imported with the description of the format recognised by COMPONENT.

See also

Importing Tree Files


Error 36 	Expecting tree name

The tree-name field in the TREE (or utree) command is missing.


Error 37 	Undocumented import file error

At present any error encountered while importing a file causes this error.  Make sure that the original program accepts the file.  If COMPONENT still refuses to accept the file, please let me know the details of the file.

See also

Importing Tree Files


Error 39 %s command used incorrectly

The command %s is a valid NEXUS command but is used in the wrong order, or requires another command to appear before it in the file.


Error 40 Tree stack overflow

Occurs if a tree being read has > 100 leaves.


Error 41 Unbalanced tree description

A tree description must have an equal number of left ("(") and right parentheses (")").

See also

Tree descriptions


Error 42 Missing left parenthesis ("(")

The first character in a tree description must be a left parenthesis ("(").

See also

Tree descriptions


Error 43 Tree stack not empty

The tree description is unbalanced.  Either there are too many left parentheses ("(") or too few right parentheses (")").

See also

Tree descriptions


Error 46 Unknown label: %s

The label %s does not appear in either a previous tree description, the translation table, or the TAXA block.


Error 47 Extra pair of parentheses ("()")

A node is enclosed by two pairs of parentheses.


Error 60 Cluster hash table overflow

The trees in the profile have too many clusters to be stored.


Error 75 MODEL %s is unrecognised

The MODEL subcommand %s is not recognised by COMPONENT. The program supports only EQUIPROBABLE, MARKOVIAN, and UNLABELED models.


Edit | Tree Command

To edit the tree in the tree window choose the Edit | Tree command. The Tree window will display the tree with thick branches and a Tools palette showing you the tools available to manipulate the tree.

Note that the tree being edited is the original tree in memory;  the editor ignores any pruning or rooting operations you may have performed on the tree using commands such as Trees | Rooting and Trees | Prune/graft leaves.

Closing the editor

To close the tree editor choose Tree from the Edit menu again. If the tree being displayed has been modified a dialog box will appear asking you whether you want to replace the original tree with the one you have created using the editor.

See also

Tree Editor tools

Edit |Undo


Edit Undo command (for Tree Editor)
Edit | Undo Command (for Tree Editor)

COMPONENT remembers the previous tree, so that you can undo a change and recover the old tree by choosing the Edit |Undo command, or by pressing the Shift + Alt + BackSpace keys. Choosing the undo command again restores the tree you just undid. Undo is only available for the operations that materially affect the tree topology: move branch, collapse branch, collapse clade, and reroot. Cosmetic changes (such as rotate branches)  cannot be undone.

The Edit |Undo menu item will reflect which type of move can be undone; for example, the menu item will read "Undo move branch" if you are using the move branch tool.

The Edit |Undo command is available only if you've modified the tree, and is reset each time you choose a new tool. If you modify the tree, and then select a new tool, you cannot undo the modification you made with the first tool.


Tools Palette

The Tools palette provides a set of eight tools for manipulating the tree's  topology. To select a tool click on the icon corresponding the tool you  want to use.

See also

Tree Editor tools


Tools palette; Tree Editor tools
Tree Editor Tools

COMPONENT's Tree Editor provides tools for moving branches, rerooting, polytomy formation, and rearranging the appearance of the tree. These tools can be selected by using the Tools palette. The cursor then becomes the tool pictured by that icon.

The following tools are available to modify the tree being edited. The default tool is the arrow tool, which is used for moving branches. To manipulate the tree click the cursor on a branch; the corresponding  operation will be performed on that branch (unless the desired operation is invalid, in which case COMPONENT gently "beeps" and ignores the command).  If you can use the tool on the branch under the cursor then that branch will change colour ("flash").

The first four tools change the cladistic structure of the tree, and can be undone using the Edit |Undocommand.

Move Branch

Collapse Branch

Collapse Clade

ReRoot

The next five tools change the appearance of the tree in the window, but do not affect the cladistic topology.

Rotate Branches

Exchange Branches

Ladderize Left

Ladderize Right

Expand/Shrink Clade


Move Branch Tool

A branch can be picked up and moved to another part of the tree by clicking on the branch and dragging it to the new position. The branch being moved will be highlighted with a different colour, and the cursor will change from an arrow to a small diamond.

Drag the diamond cursor to the position you want to move the branch, and release the mouse button. If the new placement is invalid (for example,  moving a branch onto one of its descendants) COMPONENT will gently "beep" and ignore your request.


Collapse Branch Tool

Clicking with this tool on an internal branch deletes that branch producing a polytomy. COMPONENT ignores attempts to delete terminal branches.


Collapse Clade Tool

Clicking with this tool on an internal branch collapses the clade above that branch into a polytomy.


Reroot Tree Tool

Clicking on a branch with this tool reroots the tree on that branch.


Rotate Branches Tool

This tool rotates the descendants of a binary node, so that the left descendant is now the right descendant, and visa-versa. This operation only applies to binary internal nodes.

This command cannot be undone.


Exchange Branches Tool

 To rearrange the order of the descendants of a polytomy, you can use this tool to interchange pairs of branches. Click on one descendant, drag the cursor onto the other descendant, and release the mouse button.

This command cannot be undone.


Ladderize Left Tool

This tool orders the subtree rooted at the branch clicked on so that the "heavier" nodes (those nodes with the largest clusters) appear leftmost (uppermost on the screen).

This command cannot be undone.


Ladderize Right Tool

 This tool orders the subtree rooted at the branch clicked on so that the "heavier" nodes (those nodes with the largest clusters) appear rightmost (lowermost on the screen).

This command cannot be undone.


Expand/Shrink Clade Tool

You can expand the tree to get a close up of a clade by clicking on the branch below the clade with the magnifying glass tool. To shrink an expanded tree click with the tool on the basal branch.


How do I?
How Do I...?

Want to know how to do something in COMPONENT? Choose the appropriate topic from the list below.

Display buffer operations

Clear the display buffer

Edit the output

Print the output

Tree Operations

Compare trees

Compute consensus trees

Edit trees

Close the tree editor

Export trees to other programs

Generate all possible trees

Generate random trees

Import trees from other programs

Print trees

Read trees from a file

Other

Compute the exact distribution of a tree comparison measure

Compute the estimated distribution of a tree comparison measure


How Do I Clear the Display Buffer?

Choose the Edit | Clear display buffer command.


How Do I Edit the Output?

Choose the Edit | Edit display buffer command.


How Do I Print the Output?

Either

1.	Choose the File | Print display buffer command, or

2.	Load the output into an external editor window with the Edit | Edit display buffer command and then print the file from within that editor.


How Do I Compare Trees?

You can compare trees in four different ways:

1.	Compare two trees in the same profile using the Trees | Compare tree with command.

2.	Compare all trees in a profile with every other tree in the same profile using the Trees | Tree-to-tree distances command.

3.	Compare every tree in one profile with every tree in another profile using the Trees | Compare withcommand.

4.	Compare pairs of trees drawn from two profiles using the Trees | Compare withcommand.

See the manual for more details.


How Do I Compute Consensus Trees?

Choose the Trees | Consensus command.


How Do I Edit Trees?

Chose the Edit | Tree command.


How Do I Close the Tree Editor?

When a Tree Editor window is active the Edit | Tree command has a check mark to indicate that the window is in edit mode. To close the tree editor chose the Edit | Tree command. If you have modified the tree being displayed then you will be asked whether you want to save the tree. After you have responded the tree editor closes, returning you to the Tree window. The Edit | Tree command is now unchecked.


How Do I Export Trees to Other Programs?

COMPONENT can write tree files that can be read by programs like FREQPARS, Hennig86, and PHYLIP. Use the Trees | Savecommand.


How Do I Generate All Possible Trees?

Choose the Generate | All trees command. A dialog box will appear listing the options available.


How Do I Generate Random Trees?

Choose the Generate | Random trees command. A dialog box will appear listing the options available.


How Do I Import Trees From Other Programs?

In addition to NEXUS format files, COMPONENT can read files written by COMPONENT 1.5, CONTREE, Hennig86, and PHYLIP.

To import trees from files written by these programs you must create a NEXUS file that includes the IMPORT command in its TREES block. For example the NEXUS file

#NEXUS

BEGIN TREES;

IMPORT FILETYPE=HENNIG86 FILE='C:\TREES\TURTLE.TRE';

ENDBLOCK;

will read the trees in the Hennig86 file c:\trees\turtle.tre.


How Do I Print Trees?

Choose the Trees | Print command.


How Do I Read Trees from a File?

Choose the File | Open command


How Do I Compute the Exact Distribution of a Tree Comparison Measure?

Under the assumption that each labelled binary tree is equiprobable, you can compute the exact distribution of the expected dissimilarity between two trees by doing the following.

1.	Generate a profile of all possible labelled trees using the Generate | All trees command.

2.	Use the Trees | Tree-to-tree distances command to compute the desired tree comparison measure. The histogram summarises the number of pairwise distances in each distance class.

3.	The expectation that d(T1, T2) = 0 is simply 1/n where n is the number of trees. For the remaining distances, take the number of pairwise comparisons for each distance class and multiply by 2/n2 (this is necessary because COMPONENT computes only the lower left triangle of the pairwise distance matrix).

For example, for the 105 possible unrooted binary trees for 6 taxa, the frequency of pairwise distances for the partition metric is

d	Frequency

2	315

4	1305

6	3840

Multiplying by 2/1052 gives the result

d	Frequency

0	0.009

2	0.057

4	0.237

6	0.697


How Do I Compute the Estimated Distribution of a Tree Comparison Measure?

Do the following:

1.	Use the Generate | Random trees command to generate two profiles with the same number of random trees with the same number of leaves.

2.	Use the Trees | Compare with command to compare the two profiles as ordered pairs of trees.


Trees About dialog box

A NEXUS file may contain information about its contents in the form of "output

comments." . You can view the output comments using the Trees About dialog box. If the trees in memory have been generated by COMPONENT then the Trees About dialog box will display information about how those trees were obtained.


Trees Save To File dialog box

The Trees Save To File dialog box asks for the name of a file to save the trees in the current tree block. It also lists the tree file formats supported by COMPONENT.

The default format is a NEXUS file with a TAXA and a TREES block. You can also write a NEXUS file containing just a TREES block. The other file formats presently supported are FREQPARS 1.0, Hennig86 1.5, and PHYLIP 3.x. Since FREQPARS and PHYLIP require binary (fully resolved) trees these formats will not be available unless all the active the trees in the current block are binary.


Trees Prune/Regraft dialog box
Trees Prune/Regraft Leaves dialog box

The Trees Prune/Regraft Leaves dialog box allows you to alter the size of the trees by pruning leaves, or by grafting back leaves previously pruned. The current leaves are displayed in the list box on the left, any leaves that have previously been pruned are listed on the right.

Using your mouse you can move leaves from one list to the other by either:

Double-clicking on the desired leaf in one list box.

Selecting a leaf label by clicking on it, then clicking on either the Delete or Restore button.

With the keyboard, use the Tab key to move to the list box you want, and use the  up- and down-arrow keys to select the leaf label you want to move. To move the label from one box to the other press Alt+ the underlined letter of the desired button. For example, pressing Alt+D moves a label from the unpruned list box to the pruned list box.

COMPONENT checks whether the newly pruned (or regrafted) tree can still be rooted by the current outgroup (if any), and whether all the trees in the profile are binary or not. If the outgroup is no longer valid, COMPONENT issues a warning message and unroots the trees.

Pruning leaves does not affect the original trees, which are still in memory, so you can restore the original trees at any time by unpruning the leaves. All tree output, consensus, and comparison commands use the pruned trees.


Trees Outgroup dialog box

The Trees Outgroup dialog box lists the current ingroup and outgroup leaves.

You can move leaves between the ingroup and outgroup list boxes in the same way as described for the Trees Prune/Regraft dialog_box  .

COMPONENT checks whether the outgroup you have chosen can be used to root all the trees in the profile. If it cannot, COMPONENT ignores the outgroup and unroots the trees in the profile.

The Outgroup command only defines the outgroup. To use the outgroup to root the

trees you must use the Root with outgroup command.


File Import dialog box

The File Import dialog box enables you to input tree stored in a non-NEXUS file. The default import format is Hennig86 1.5. Other formats supported are CONTREE, COMPONENT v1.5, NEXUS file files containing just a TREES block (created, for example, by PAUP 3.0), and PHYLIP 3.x.

See also

Importing/Exporting Tree Files


Heuristic Search dialog box

The Heuristic Search dialog box lists the options that determine how COMPONENT searches for optimal host trees.

Branch swapping

The Branch swapping options group lists the two methods available for rearranging the initial host tree in search of more parsimonious trees: nearest neigbor interchanges and subtree pruning and regrafting (see Swofford and Olsen, 1990). If you choose No swapping then the program finds one tree in a single pass. This tree may often be a poor estimate of the minimal tree. If you choose Nearest neighbor interchanges or Subtree pruning-regrafting COMPONENT will rearrange the initial tree in search of a better solution. All equally optimal trees (up to the limit of 1000) will be retained by the program.

Criterion to minimize

You have the choice of minimzing the number of leaves added, independent losses, or duplications.

Include

If you have more than one DISTRIBUTION block in your input file you have the option of including all the blocks or just the current block. If you choose All blocks then COMPONENT will search for the host tree that minimizes the sum of the fit to the current tree in each block. If you choose Current block only COMPONENT will search for the optimal host tree for just the current tree in the current block.

Reference

Swofford, D. L., and G. J. Olsen. 1990. Phylogeny reconstruction. Pages 411-501 in Molecular systematics (D. M. Hillis and C. Moritz, eds.). Sinauer, Sunderland, Massachusetts.


Map Trees Options dialog box

The Map Trees Options dialog box lists the two options that determine how COMPONENT reconciles two trees.

Hosts without associates

COMPONENT offers two interpretations of missing associates: either the absence is treated as a genuine absence and hence is counted as a loss, or the absence is treated as a "missing value" and is not included in the tree fit statistics. The latter option (Missing information) is the default.

Map widespread associates

By default COMPONENT maps widespread associates (i.e., those occurring on more than one host). This is equivalent to the treatment of widespread taxa under "Assumption 0" (Zandee and Roos, 1987). Because two or more areas may share the same widespread taxon due to geographic proximity rather than actual relationship, COMPONENT offers you the option of not mapping widepread taxa. This is effectively Nelson and Platnick's (1981) "Assumption 1."