Help - Adding support values

From TreeGraph help

In some studies not only the support from different analyses has been mapped onto the nodes but also the strongest support for a contradictory node was determined by inspection via eye. TreeGraph 2 automates this process with the Add support values-function which can import annotations from any tree that may or may not have a differing topology and/or a different set of terminal nodes.

The tutorial "Adding support values" describes the use of this feature in detail. Note that the Synchronizing tree selections feature allows in addition to interactively compare trees by selecting nodes in one tree, while TreeGraph automatically highlights respective nodes and conflicting support values in other opened trees.

ArticleOnLatestVersion.png This article describes this feature for the latest version of TreeGraph 2. For older versions the following articles are available:
Adding support values (until 2.6.0)


How are support values merged?

Annotations from the imported tree are regarded as supporting if the branch they are attached to leads to a subtree which contains exactly the same terminals as a subtree present in the document to which these annotations shall be imported. This does not require that that internal topologies of the two subtrees are equivalent. (If they are not, one or more conflicting values will be mapped when the inside of the subtree is processed.)

To be able to comprehend the following algorithm, you should keep in mind that each branch divides a tree into exactly two subtrees.

For a given branch branch1 (in tree1 where the topology is specified), the maximum support for a conflicting branch branch2 from another tree (tree2) can be found by:

  1. Find the branch2 which defines a subtree subtree2 with the smallest number of terminals that contains all leaves of a subtree subtree1 defined by branch1.
  2. Find all branches in subtree2 that define a subtree which is on the one hand fully enclosed by subtree2 and on the other hand contains at least one terminal which is also part of subtree1 and at least one leaf which is not.
  3. The highest support value in the set of these branches is reported and mapped onto branch1.

Example

The first tree (blue) specifies the topology and contains the first set of support values for the resulting tree. The second tree (green and red) is used with the Add support values-function and contains the additional support values. (The conflicting topology is shown in red.) In the resulting tree (right most) the new set of annotations has been split in a supporting and a conflicting group according to the algorithm described above.

AddingSupportValuesExampleTopology.png
Topology
  +
AddingSupportValuesExampleValues.png
Additional support values
  =
AddingSupportValuesExampleResult.png
Result

Trees with differing sets of terminal nodes

Support values from trees that contain more or less terminal nodes or trees in which some terminal nodes differ from the ones in the currently opened tree can be imported as well. Terminal nodes and related support values that are not contained in the currently opened tree will be ignored.

AddingSupportValuesDifferentTerminalsExampleTopology.png
Topology
  +
AddingSupportValuesDifferentTerminalsExampleValues.png
Differing terminal nodes
  =
AddingSupportValuesDifferentTerminalsExampleResult.png
Result

Rooted and unrooted trees

If you use the Add support values-function with rooted trees the root is considered as an additional leaf of the tree (actually it is a leaf of a graph). Therefore merging two rooted trees can lead to different results than doing so with unrooted trees as the following example shows:

Unrooted example

Annotations from a tree file which differs only in the rooting point are imported. Since both trees are unrooted the rooting point (which only defines the way the tree is displayed) is irrelevant and each branch contains two identical support values.

AddingSupportValuesExampleTopology.png
Topology
  +
AddingSupportValuesUnrootedExampleValues.png
Same topology,
different node shows as "root"
  =
AddingSupportValuesUnrootedExampleResult.png
Result

Rooted example

The trees here differ from the trees above only in the fact that they are rooted. This alone leads to a conflict value in this example because the position of the root has to be considered by the algorithm. Note also that the branch which separates A, B, C, D and E from the rest is not supported by the imported tree because its root branch has no annotations.

AddingSupportValuesRootedExampleTopology.png
Topology
  +
AddingSupportValuesRootedExampleValues.png
Rerooted version
  =
AddingSupportValuesRootedExampleResult.png
Result

The dialogs

You can access the "Add support values"-function by selecting "Add support values..." from the file menu.

The file dialog

The "Add support values"-dialog

Source file

Here you can select the tree file which contains the additional support values.

Import

If you selected a Nexus file containing support values as internal node names you can define if the taxon table that it might contain shall be applied to the internal node names. In most cases you will not want to do so because support values are usually stored directly as numeric values and and applying the taxon table would lead to unexpected results. Furthermore you can choose if you want to import numeric support values that might be stored in a textual format, e.g. in node/branch data columns of XTG files.

Terminals

Here you can specify a node/branch data column that contains the same terminal names as the file that shall be imported. This will be the node names column in most cases but could also be e.g. a hidden node data column where you stored your lab IDs.

Target data

You can select here if you want to import the new support values as text labels, hidden node data or hidden branch data. During the import two sets of values will be generated: One for values supporting the topology and one for conflicting values (see above). Their IDs will both start with the prefix defined here and end with Support or Conflict,

Known problems on Macintosh systems

Due to an error in the java implementation on Macintosh systems a file name entered in the Save as text field will not be approved when OK is clicked, if the file type has been changed before. You can work around this error if you first make all necessary settings in the dialog then go back to the Save as text field and press Enter while this text field is in focus. This way the file name should be approved and the dialog is closed.

The "Add support value columns"-dialog

The column dialog

In this dialog you can choose the column in the imported tree file that contains the support values you wish to add to the current tree. Support values stored in Nexus hot comments are shown here as well as such that are stored as internal node names or branch lengths in Nexus or Newick files or any other kind of node/branch annotation in XTG or phyloXML files.

See also