MESQUITE is a relatively complex software package written in Java that
is free to download and install for a range of different operating
systems from this
There are some tutorials for MESQUITE available online:
Mesquite is extremely flexible and therefore also inevitably rather
complex. It is not designed principally as a means of estimating trees
- rather for using pre-calculated trees to test hypotheses concerning
the evolution of a range of different kinds of characters.
In particular, the menus available when using MESQUITE can be rather
confusing, as the set of menus and options available constantly
changes depending on the context of the package. This makes it rather
difficult to provide well-charted descriptions of how to carry out a
The notes below focus primarily on using MESQUITE to change and compare
phylogenies with each other at a fairly simple level.
Different versions of MESQUITE present slightly different graphical
user interfaces (GUIs) - screenshots and instructions given here are
for Version 2.01 run on an OSX Macintosh machine. Be aware that things
may well look different if you are running a different version and/or
operating system. However, these instructions will hopefully still be
valid on these other versions (I've tested them on Version 2.6, both on
Linux and Mac machines, and they seemed to work fine).
MESQUITE Basics -
Windows and Menus
On opening MESQUITE, several windows will appear on the screen
providing information about loading of the software. We need to wait
until all but one of these, the "Main Mesquite Window", is open.
We usually work with several different windows in MESQUITE. Note that,
sightly confusingly, in MESQUITE the "windows" provided by your
operating system to interact with Mesquite often include several
different regions/tabs referred to as "windows" in the MESQUITE
documentation. While it is possible to put each "MESQUITE" window into
a different operating-system window, I've found it easier to use the
organisation provided by MESQUITE - one for the main window, and then
one operating-system window per MESQUITE project.
The image below shows a screen-shot with three operating-system windows
- one for the "Main Mesquite Window", one for a project called
"untitled.nex", and one for a project called
"fourVertebratesMesquite.nex". The fourVertebratesMesquite.nex window
contains five different MESQUITE windows. The image also shows the main
Menu Bar for MESQUITE.
A more detailed description of the basic organisation of MESQUITE
windows (for version 2.6 - thus there are some differences to the
appearance compared to the above image) is found
the MESQUITE manual.
Most MESQUITE windows have some typical fields/features/regions on them
- again, a reasonably detailed description of these is given in
MESQUITE manual. The ones most relevant for our purposes are
shown below for a typical window.
- There are three different "MESQUITE" windows available in the
operating-system window shown above. Three windows are available here -
from the left these are the "Project", "Tree" and "Taxa" windows. Here
the "Tree Window" is selected.
- For some windows, there are several different sets of information
available about the same objects - these are accessed via the "Info
Bar" where the different sets of information are available as "Tabs".
Here the "Graphics" Tab of the "Tree Window" is selected (this is the
tab we shall be using for most of the tasks described below)
- A given MESQUITE window may include a block containing several
different objects e.g. trees. In that case, it is possible to scroll
through the set of trees in the block using the "Mini-Scroll" region.
- A range of different tools are available to manipulate the main
contents of the window. The available tools are provided in the "Tool
- Various information (e.g. the name and description of the current
tool) is shown in the "Explanation Area"
- If you want to change the size of the Explanation Area, use the
"Area Size Arrows"
Changing Font Size
On some machines, the font used by MESQUITE may be too small to read
easily. To change this, alter the default font size before opening any
File->Defaults->Default Font Size->14 (for example)
MESQUITE/NEXUS Format Files
There are several different ways to access information stored in files
in MESQUITE - this too is somewhat complex as you could read about
here. However, for our purposes, we will only be opening files prepared
using MESQUITE in NEXUS
format, which can be done simply using the Main
and then choosing the desired file from the drop-down menus.
and choose the file you want to open from the menus
The "Import File" window should open, asking you to specify the format
of the non-NEXUS format file you are attempting to load. Assuming we
are only working with NEWICK/PHYLIP format tree files, the correct
choice will be "Phylip (trees)"
MESQUITE will create a new NEXUS format file to store both the imported
trees, and the results of any manipulations you make of them using
MESQUITE - you will be asked to specify an name and location for this
NEWICK/PHYLIP Tree Format
MESQUITE requires that the string describing the tree only spans a
single line of the file i.e. this tree file,
obtained from Ensembl, will not open correctly in MESQUITE, it has to
like this so that the entire string is on a single line.
Creating a New Project
MESQUITE stores the results and details of your analysis in
NEXUS-format files. It is possible to be using the contents of several
different files at once - however, we will keep things simple by
storing all our analyses in just one file. You can create this file
using the Main Menu Bar
and then choosing the name and location of the file to store your
Then, as often when selecting an action in MESQUITE, you will be
presented with an additional "Parameter Window" - in this case entitled
"New File Options" concerning the information to be included in the new
file. Here we choose the initial number of taxa to be included in the
file, along with a name for this initial "block" of taxa.
In the image below we are naming the taxa-block "VertebrateSpecies" and
beginning with 5 different taxa.
Clicking "OK" should generate a new operating-system window containing
(if invoked as described above) two MESQUITE windows - a left-most
"Project" window and a "Tree Window".
If we're creating a new file from scratch like this, we probably want
to change the names of the taxa that come automatically ("taxon 1",
"taxon 2" etc.) to more meaningful ones. We can do this by opening the
Taxa&Trees->List of Taxa
And then using the "Edit" tool to change the names of the taxa with the
Edit Tool by
clicking with this pointer over the taxon names and editing them. Any
name changes are then reflected in any objects containing the taxa from
this block e.g. an accompanying Tree Window.
This image shows the use of the Edit Tool to change the names of the
Opening a Tree Window
If you begin your analysis by opening a file that doesn't contain any
trees e.g. containing only a NEXUS taxa block, then you can open a Tree
Taxa&Trees->New Tree Window
Then in the "Select" Parameter Window, choose "Default Trees" - this
will create a tree based on the content of your taxa block, providing a
default topology for these taxa - and click "OK". The new Tree Window
should then open.
Changing how a Tree is Displayed
Representation and Orientation
Mesquite provides many different ways of displaying trees - below is an
example of the default display.
To change the view so that the taxon-names are horizontal, with the
tree drawn in "square" form (which is the way I find it easiest to
examine the trees in MESQUITE).
This should give a tree that looks like the one shown below.
- Drawing->Tree Form->Square tree
- Drawing->Stretch tree to fit (this stops the
tree hugging the right side of the window all the time)
- Drawing->Branches Proportional to Lengths (this takes
into account the branch lengths when displaying the tree)
around a Node
There isn't a simple button to press that will rotate the branches of a
tree around an internal node (a purely cosmetic change to the way the
tree is represented, leaving the topology intact).
Instead, this can be done using the "Interchange Branches" tool. To do this, you
For example, in the set of screenshots shown below the "taxon 3" branch
is rotated around the node it shares with the "taxon 1/taxon 2" parent
- choose one of the daughter lineages associated with the node
around which you want to rotate the branches by left-clicking on it
having selected the Interchange Branches tool
- drag the thin bar that comes out from the position of your
initial click to the branch you want to swap positions with (which
should also be a daughter lineage of the node you want to rotate
around) - when it is ready to be interchanged with, the destination
branch should be highlighted
- on releasing the mouse, the position of the branches should have
rotated around the internal node
Adding Taxa to
the Taxa Block (and to the Trees)
To add extra taxa to a tree you need to first add the taxa to the Taxa
Block in the following way:
In some cases, the taxa will have been automatically added as branches
to your tree - if not, you will need to do the following:
- Having selected a "Taxa Window" choose:
- Indicate how many taxa you want to add in the "Add" Parameter
Window e.g. 2
- This should place two additional rows in the "Taxa Window", whose
names you can edit as appropriate.
This should place the two new taxa at the base of the tree.
- Tree->Alter/Transform Tree->Add Taxa To Tree
- Then in the "Add taxa to tree" Parameter Window that appears,
select the taxa names you want to add (hold down CTRL or SHIFT and
click to add more than one taxa at the same time) and then choose "Add"
You might want to do something like this if you initially work with
hypotheses of the relationships of 5 vertebrates, but due to
availability of new data want to incorporate two additional organisms
in your analysis.
the Structure of a Tree
of a Tree
Several menus accessed from the Tree Window can apply actions to a
selected sub-set of the tree e.g.
Tree->Alter/Transform Branch Lengths->Scale Selected Branch
To select branches/clades use either of the following tools: Select
Branch or Select
To deselect a clade/branch, simply re-click the currently-selected
To deselect all clades/branches, simply click the background of the
Re-rooting the Tree
Select the "Reroot at branch" tool and select the branch
to be used as the new root.
Changing the Tree Topology
There are several tools that can be used to change the topology of the
tree - some of these are:
- moving branches around
the tree with the "Move branch" tool - this works similarly to
the "Interchange Branches"
- removing a branch (or set of branches) is done using the "Prune
Clade" tool - this
works by simply clicking on a branch to remove it and all its daughter
- the "Interchange Branches" tool will also change the topology by
swapping the positions of two branches
Changing Branch Lengths One-By-One
There are two tools that can be used to edit/add branch length
information on a tree:
Below you can see branch lengths being edited using first the "Adjust
branch length" and then "Stretch branches" tools.
- the "Adjust branch length tool" - select the
tool, click on the branch you want to adjust, and enter the new branch
length in the query box that should appear
- the "Stretch branch" tool - select the
tool, and then click on the branch whose length you want to adjust.
Then drag the mouse to stretch or shrink the branch as desired. Note
that the closer to the tip you make your initial click, the smaller the
branch length change for a given movement of the mouse
Than One Branch Length at the Same Time
If you are starting with a tree built from a newly-created project, it
will usually not have any branch lengths assigned.. Rather than
each branch one after the other, you can change/add many branch lengths
at the same time using:
Tree->Alter/Transform Branch Lengths->Assign Branch Lengths
This open a "Set branch lengths" Parameter Window. Once you have chosen
the branch length to apply to all branches in the tree, click "OK"
Note that there are various other options provided in the Tree->Alter/Transform
Lengths menu that can be used to make other whole scale
changes to the branch lengths.
Exporting the Tree
in NEWICK/PHYLIP Format
One use of the tree-editing capabilities of MESQUITE is to prepare
trees for use by other software packages. Thus we need a way of
exporting the new trees out of MESQUITE into an external file.
To do this we need to create a new "Tree Block" from the edited
versions of the trees we have created:
An alternative approach is to use the Tree Window's option.
- Tree->Store Copy of Tree As
- in the "Store Tree As" Parameter Window give a name for the tree
you are creating, then click "OK"
- assuming you haven't yet created a tree block, you need to name a
new one in the following "New Tree Block" Parameter Window, and then
- give both the tree, and the tree block, a name and say OK
- now, when you use the File->Export... menu you can choose to
export the tree you have built in either NEXUS or (more usually) Phylip
format by selecting the format you need, clicking "OK" and choosing a
name and destination for the new file.
This copies a NEWICK/PHYLIP format text version of the currently-viewed
tree to the clipboard of your desktop - which can then be pasted into a
text editor etc.
If branches on the tree have been labeled/selected, this information
will be tagged up in the text that is copied to the clipboard -
additionally, in many cases the end of the tree description may include
additional characters such as "<> <test = 0.2 >"
which you will usually want to remove before loading a file containing
the tree into another piece of software.
Trees from a Tree Block
You may find that you have created several different trees within a
given tree block e.g. via repeated use of Tree->Store Tree
or Tree->Store Tree As... menus.
In that case, to remove any trees you do not need:
- choose the Taxa&Trees->List of Trees to open the "Trees"
- from this window, select the rows in the table corresponding to
trees you want to delete
- use List->Delete Selected Trees and confirm that you do indeed
want to delete these by clicking "Yes"
Add a New Taxa Block
If you want to compare trees with different sets of taxa in them (e.g.
comparing a gene and a species tree) you will need to create additional
Taxa Blocks to describe the additional taxa.
- Trees&Taxa->New Block of Taxa...
- In the "New Block of Taxa" Parameter Window, give a name to your
new block e.g. "genes", and indicate how many taxa should be included
in this tree
Association Between Taxa Blocks
If we want to compare/reconcile Species and Gene trees using MESQUITE,
we need to tell MESQUITE which taxa in the gene tree correspond to
which taxa in the species tree. We do this using an "association".
While in many cases these mappings will be "obvious"
based on their names, we still need to explicitly provide this
information to MESQUITE - this of course allows for much more
flexibility in setting up such mappings between taxa-blocks.
To do this, we need to have already created at least two taxa blocks in
the project e.g. by starting up a
new project and then adding a
second taxa block
Selecting the appropriate genes and taxa
- Begin from either a "Taxa" or a "Tree" window
- Taxa&Trees->New Association
- In the "Select taxa" Parameter Window that should appear, choose
the species tree from the list and click "OK"
- Give a name to the association in the "Name of Association"
window, and click "OK"
- The window for the species-tree Taxa Block should be
automatically selected, with an additional "Association Editor" panel
on the right that is used to set up the association.
- Select (potentially multiple using SHIFT and CTRL) genes from
the right-hand list provided in the "Association Editor" panel
- Select one row from the left-hand "Taxon" list BY CLICKING ON THE
ROW NUMBERS TO SELECT THE WHOLE ROW - not just the name of the taxon in
the first "proper" column of the list
- Click on the arrow at the top of the Association Editor to assign
the selected "gene" taxa to the selected "species" taxon. These gene
taxa should now be included in the right-most column of the species
taxon table, and also they should now be coloured grey and moved to the
left side of the Association Editor.
- All genes in the Association Panel need to be associated with a
This is how it should look after the assignment is made by clicking on
the arrow above the list of gene taxa
Here is the
file as an example with a complete set of associations
instructions on setting up a new association from the MESQUITE
Simulate DNA Characters over a
Show the tree you want to use for the simulations in a Tree Window
- Menu: Characters->Make New Matrix from->Simulated Matrices
on Current Tree
- "Select" Window->Evolve DNA Characters
- "Choose model" Window->Jukes-Cantor
- "Number of characters" Window->100
and Gene Trees
MESQUITE can be used to investigate the minimal set of
duplication/extinction events required to reconcile a given gene-tree
topology with a given species tree, as described below.
An example of a MESQUITE file showing the results of such an analysis is here.
- Create a new MESQUITE project
with the set of organisms you are interested in
- Open a tree window (or use
an already-open tree window) and use the "Move Branches" tool to
create an organism tree with the topology you want e.g. as in this file.
- you will need to STORE the tree
you create in this way in a new tree block before being able to later
use the tree in further analyses
- You need to create a new taxa
block to contain the names of the genes that make up the gene-tree
we want to reconcile with the species tree
- Open a second tree window for the new taxa block, and build a
tree with your topology of interest e.g. as in this
- You need to tell MESQUITE which taxa from the gene Taxa Block
correspond to which taxa in the species Taxa Block by creating an
- You are now ready to reconcile the trees by opening the Tree
Window containing your species tree and doing
- Analysis->Visual Tree Analysis->Contained Gene (or
- Typically, in the following "Contained (gene) tree
interpretation" window we
- leave the the "Treat contained as unrooted" box unchecked
- leave the "Contained polytomies auto-resolve" checked
- uncheck the "Use Branch lengths of Contained tree") option
- and then click "OK"
- Select "Stored Trees" as the source for the contained tree
(this will be our gene tree)
- You may need to manipulate the resulting tree somewhat to view
it more easily e.g. using the "Interchange Branches" tool to visualise
relationships more easily
- You may also want to try changing the lengths of the branches
of the tree using the "Stretch branch"
Minimal Number of Duplications
The reconciled trees report the minimal number of duplication and
extinction events required to account for the topology of the gene tree
(given the species tree) - this is a minimum as any lineage could mask
(potentially very many) cryptic successive duplication-extinction
events. The image below is labeled to highlight those regions of a
reconciled tree associated with gene duplication events.
Branches (labeled above in orange) where the same number of gene-tree
lineages emerge from both ends did not experience any gene-duplication
Branches where this number is different (labeled above in red) indicate
branches that DO experience gene duplication events - the difference in
the number of these lineages indicating the number of duplication
events occurring along that region of the species tree. Considering
of the red branches in turn:
Thus, the smallest number of gene-duplication events required to
reconcile this gene tree with the species tree is 5.
- A goes from 1 to 2 gene-tree lineages, indicating a single
- B goes from 1 to 3 gene-tree lineages, indicating two duplication
- C goes from 1 to 2 gene-tree lineages, indicating a single
- D goes from 2 to 3 gene-tree lineages, indicating a single
Minimal Number of Extinctions
When comparing a bifurcating gene and bifurcating species tree,
extinctions can be identified as associated with those nodes where the
number of gene-tree lineages emerging along a species-tree daughter
lineage is different from the number of these lineages entering the
node from the parental branch. As for duplications, this is indicates
the minimum number of such events that occur as there might be
(potentially many) cryptic duplication/extinction events.
On the image below, those regions of the nodes where this happens are
highlighted in purple.
This gives a minimum of 5 extinction events required to reconcile the
species and gene trees.
- A: three lineages enter the node from the parent, only one
emerges indicating two extinction events
- B: three lineages enter the node, only two emerge, indicating a single
- C: three lineages enter the node, only one emerges, indicating
Other Tree-Related Applications
MESQUITE can be used to obtain sets of trees with a range of different
properties - which can then be used in a range of different
applications. Some examples of these are given below. They all assume
that you have already set up a tree and taxa block in a MESQUITE
project, and will produce new Tree Blocks containing the new trees.
an example MESQUITE file containing sets of files created using
some of the analyses described below.
Obtain all Possible
Taxa&Trees->Make New Trees Block from->Modify Current
Make All Rerootings of
- Select the "Make All Rerootings of Clade" tool
- Click on clade you want to obtain all rerootings from
- Give a name to the block of trees you want the new trees to be
stored in via the "Rerooted clade" window and click "OK"
Randomly Move Branches
Taxa&Trees->Make New Trees Block from->Randomly Modify
Current Tree->Random Branch Moves
Randomly Change Branch
- Taxa&Trees->Make New Trees Block from->Randomly
Modify Current Tree->Other Choices...
- "Select" Parameter Window->Add Noise to Branch Lengths
- Click "OK"
- "Variance of noise" window used to specify the amount of noise
added per branch. Possibly change the value and click "OK"
Author: Aidan Budd
Gibson Team Training Pages