TreeWiz Applet Description (12-Apr-2001)

TreeWiz Applet Description

Applet window

The applet window in the basic HTML page initially lists some example trees in the upper half of the window. The three buttons in the bottom half provide basic functionality for viewing single trees.

Button Description
show whole tree Clicking on this button will open a viewer window which displays the tree that has been selected above in a full view.
show restricted tree Using this button the user can open a viewer window which shows a so-called restricted view of the selected tree. That means that if the default window size is not big enough to display all leaves of the tree, the layout algorithm used here will automatically restrict the display of the tree to a certain depth. The depth value is dynamically computed from the size of the corresponding subtree.
(re)load local trees Provided that the user has created a local tree directory and has changed the Java policy file accordingly, a list of the files (ending with .phylip) that reside in this directory will be shown on the top right side of the basic applet window.

Clicking on the EML logo shown on the bottom right side will open the home page of the European Media Laboratory.

Tree Viewer Window

The Tree Viewer window shows either a whole tree (including all leaf nodes) or a restricted version of the tree where the nodes are only displayed down to a certain depth. Each tree can be reshaped by collapsing subtree roots into one single node and expanding such a node in order to get the full subtree back. This can be done by double-clicking on an inner node with the left mouse button (*). A tree can be interactively explored by zooming into a subtree or climbing up a tree in the direction of the root node. A click with the right mouse provides a context sensitive menu which offers different operations according to where the user has clicked.

Context sensitive menu in the Tree Viewer window

Dependant on whether the user clicks on an inner node (including the root node), a leaf node, or the background, he or she can choose between different operations.

Inner node menu Operations related to a specific inner node or the corresponding subtree
Show restricted subtree Open a new viewer window in which the subtree rooted by the selected node is displayed in a restricted view.
Show full subtree Display the full subtree rooted by the selected node in a new viewer window.
Show leaves beneath this node Show the list of all leaves which can be found in the subtree rooted by the selected node.
Mark/unmark node Whenever an inner node is selected in this way a square is drawn around it and it is put into a list of marked nodes. Within this list the node represents the list of leaves that can be found in the corresponding subtree. Marking one or more nodes will enable several other menu items which themselves represent different operations on those leaves, e.g. writing them to file or showing relationships between several sets of leaves. In order to avoid overlapping of several sets of leaves represented by their ancestor inner nodes it is not possible to mark a node together with a node in the corresponding subtree. Marking a node in such a subtree does not work while marking a parent node of an already marked node will lead to the replacement of the already marked node (and possibly other marked nodes that are placed beneath the selected parent node) by the parent node.
Show all features (e.g. domains) occurring beneath this node Open a window which shows a list of all features (no duplicates) that can be found in at least one leaf node that is placed beneath the selected node.
Edit node (*) Open a window which lets the user change the annotation of the inner node. Although this operation does not affect the shape of the tree it is not advisable if the nodes represent similarity values (like for example in the SYSTERS tree) which are directly related to the length of the incoming edge.
Recolor node (*) Open a color editor in order to select a new color that is used to fill the rectangle representing the corresponding inner node.
Recolor (sub)tree (*) Open a color editor in order to select a new color that is used to recolor all nodes of the subtree rooted by the corresponding inner node.
Flip children (*) Revert the order of the subtrees rooted by the immediate children of the corresponding inner node. The user can thereby choose the range of children of which the order should be reversed. The topmost child has the number 0 and the bottommost child has the number (n-1) assuming there are n children.
Show node info Open a small window which lists the information stored in the corresponding inner node, i.e. the label and the length of the edge between the node and its parent.
Leaf node menu Operations related to a specific leaf
Show all features (e.g. domains) of this leaf (e.g. protein) Open a window which shows all features that are defined for the selected leaf node.
Show Sprot entry (browser) This menu item can only be seen if the tree is labelled as a SYSTERS(***) tree. In that case the leaf nodes are proteins with a SWISS-PROT accession number. Choosing this operation a browser window will be opened and (accessibility of www.expasy.ch presumed) the NiceProt view of the corresponding protein will be shown.
Recolor leaf (*) Open a color editor in order to select a new color that is used to print the label of the leaf node.
Edit leaf (*) Open a window which lets the user change the annotation of the leaf node.
Show node info Open a small window which lists the information stored in the corresponding leaf node, i.e. the label and the length of the edge between the node and its parent.
Background menu Operations related to the whole tree or several inner nodes (which have been explicitly marked) or the corresponding subtrees.
Search leaf Open a window where the user can specify the name (annotation) of a leaf node (no abbreviation possible). If the leaf is present in the tree it is highlighted, otherwise an error message will be shown. If the leaf node is present in the tree but not displayed because it can be found in a hidden subtree of a restricted view, the first visible parent of this node is highlighted.
Filter tree Open a window where the user can specify a list of names of leaf nodes and a threshold value. On clicking the OK button a substructure of the tree shown in the window from which this operation was chosen is extracted. The resulting subtree is formed by recursively splitting the subtree rooted by the least common ancestor (LCA) of a certain set of leaves (starting with the whole specified list) and evaluating those subtrees which contain at least one leaf in the same way. All nodes which represent such an LCA are used as inner nodes of the filtered tree and are connected directly by edges in order to form a tree with the elements from the user specified list forming the leaves. Depending on the threshold value, close neighbours to those leaves can also be taken into account. This threshold value quantifies the proportion of leaf nodes which are filtered out together with the leaves in the specified list and which can be found close to them. A value of 1.0 means that only the specified leaves will be found in the filtered tree. By contrast, a value which is close to zero will result in a tree which is (nearly) a copy of a subtree of the original tree rooted by the least common ancestor of the leaves specified in the list. The option to load a list of leaves from a file does not work in the applet version. Trying it causes a security exception.
Compute distance Bring up a window in which the user has to specify the full names (annotations) of two leaf nodes. If they both exist in the tree the distance between them, measured as the sum of length values of the edges connecting them is computed and presented to the user.
Deselect all If one or more nodes are marked they will all be set to unmarked and removed from the list of marked nodes.
Show feature (domain) connectivity If at least two different inner nodes are marked defining a corresponding number of leaf sets (each inner nodes represents the list of all leaves found in the corresponding subtree), a window is opened showing the pairwise relationships between all sets. A relationship is thereby defined between two sets as a feature that occurs in at least one leaf within each of the sets.
Read features from file Open a window where the user can specify a file in which leaves are listed together with their features. The file must be found in the local user tree directory to which the the applet must be granted access by according specifications in the .java.policy file. For every leaf in the file which can be found in the current tree the according features are added. The specifications in the file must thereby look like this example file. The key PP indicates a new leaf name (accession number for SYSTERS trees) and the lines following a "PP" line starting with AT represent the features for this leaf node.
Write leaves with features to file If features have been added to the leaf nodes and at least one inner node is marked the list of all leaves which can be found in the corresponding subtree(s) is written to a file in the local user tree directory. The filename can be specified by the user in a new window. In order to grant the applet access to the local file system the .java.policy file must be modified accordingly(****).
Write subtree leaves as clusters to file If features have been added to the leaf nodes and at least two inner nodes are marked, the list of all leaves which can be found in the corresponding subtree(s) are written to a file in the local user tree directory.The filename can be specified by the user in a new window. Each inner node marked defines a cluster in which the leaves of the corresponding subtree can be found. The clusters are written successively to the file, each starting with the String "CC xxx" where xxx is the description stored in the inner node. In order to grant the applet access to the local file system the .java.policy file must be modified accordingly(****).
Write tree(s) to file Write the tree(s) that can be seen in the current viewer window to a file. Writing is only possible in a single user directory (provided some changes in the .java.policy file)(****).
Change title Open a window to let the user change the name of the tree displayed in a certain window (shown in the title bar).
Print tree in landscape view (**) Print the whole tree in landscape mode to the default printer. In order to not cause a security exception the java.lang.runtimePermission "queuePrintJob" must be enabled in the .java.policy file.
Print tree in portrait view (**) Print the whole tree in portrait mode to the default printer. In order to not cause a security exception the java.lang.runtimePermission "queuePrintJob" must be enabled in the .java.policy file.

(*) This operation affects the content of other viewer windows which show the same tree or parts of it.
(**) Depending on the browser and plugin used this operation might work properly or cause the browser to crash.
(***) In order to distinguish different kinds of trees I have used a keyword which has to be specified in the first line of the phylip tree file. Depending on this keyword the leaf data in the tree is either interpreted as a SWISS-PROT entry, a TRANSFAC entry or an arbitrary name.
(****) While the TreeWiz Java application can write everywhere, the applet is restricted to write to a single directory which is the same as the directory from which the local trees are loaded. In order to grant the applet write access to this directory a ",write" must be added to the java.io.filePermissions in the .java.policy file. That means that the two policy file entries that have to be modified would look like this (example for Linux):

grant codeBase "http://www.eml.org/english/staff/homes/ulla/forest/-" { permission java.io.FilePermission "/home/ulla/trees/*", "read,write"; };

grant codeBase "http://www.eml.org/english/staff/homes/ulla/forest/-" { permission java.io.FilePermission "/home/ulla/trees", "read,write"; };

Buttons at the bottom of the Tree Viewer window

Button Description
short/long leaf view Depending on the type of tree shown in the window the outcome of (de)activating this checkbutton is different. If the leaf nodes are SwissProt proteins which are described by an accession number and a descriptive string, this string can be either seen (button activated) or not (button deactivated). This, for example, is the case for the tree stored in the file sigma-induced-tree.phylip. In contrast to that the leaves of a phylogenetic tree such as the one given by the file puzzle.phylip are described by a counter and a name. This name will either be shown or not depending on whether the button is activated or not.
inner node annotation If this check button is confirmed, the annotations of all inner nodes are shown right to the corresponding rectangles representing these inner nodes. Depending on the tree structure and the length of theses annotations oberlapping labels might occur.
reverse colors Clicking on this check button, all colors, including the background one will be inverted.
show non-resolved trees This button only appears in viewer windows showing a restricted view. Clicking on this button will result in little colored rectangles being attached to the lines representing hidden subtrees. The color used codes for the number of leaves included in this subtree. A legend window will appear that shows which color represent which numbers.

[BCB Software] -[TreeWiz Home] - [Screenshots] - [Applet] - [Download]


Ursula Rost
Privacy Imprint