Help - Old:Adding support values (until 2.6.0)

From TreeGraph help
Jump to: navigation, search
ArticleOnOlderVersion.png This article describes this feature for TreeGraph 2.6.0 or (not necessaryly all) earlier versions. See here for the article on the latest version and a list on other available article versions.


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 which contains the same terminal as the one currently open (but may have a different topology).

The tutorial "Adding support values" describes the use of this feature in detail.

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

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 then 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 dialog

The "Add support values"-dialog

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

Source file

Here you can select the tree file (Newick or Nexus) which contains the additional support values either as internal node names or branch lengths.

Import

You have to select whether the internal node names or the branch lengths shall be imported from the selected file. If you choose internal node names you can furthermore define if the taxon table a Nexus file might contain shall be applied to them. 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.

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 prefix defined here and end with Support or Conflict,

Known problems on Macintosh systems

Due 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 setting in the dialog than go back to Save as text field and press Enter while this text field has the focus. This way the file name should be approved and the dialog is closed.

Importing node/branch data from Nexus hot comments, pyhloXML or XTG

Some applications (e.g. MrBayes or TreeAnnotator of BEAST) store multiple support values (node/branch data) for each node in so-called hot comments. These are Nexus comments containing additional data related to an internal node. (See Open_files#Nexus_format_with_additional_annotations for details.)

Although TreeGraph is able to read this data and import it into according node/branch data columns using the Open files function, such data is currently not supported by the Add support values function. This function can only import internal node names or branch lengths from Newick and Nexus files. It is planned to implement this functionality in later releases, but until then the following workaround will be necessary to import such data.

Workaround

  1. Open the tree containing the values to be imported directly in TreeGraph. (Your data should be displayed in a column of the node/branch data table right of the tree. See Document_window#Table.)
  2. Export the according node branch data column into a separate Newick or Nexus file as internal node names (See Exporting_trees_as_Newick/Nexus_files for details.)
  3. The Add support values feature can now be used with the file you created in step 2 (instead of the file, that was opened in step 1) to import the according column.

This way one can import any node/branch data column from any supported format by exporting these values into a separate Nexus file first. This does not only work for Nexus hot comments, but also for any node/branch data column in phyloXML or XTG file.

See also