Modules - arklumpus/TreeViewer GitHub Wiki

TreeViewer uses multiple kinds of modules to perform different actions. Modules can be installed and uninstalled using the Module manager window or through the command line.

The available module types are:

  • File type modules

    These modules enable TreeViewer to open tree files in various formats. Each module supports a specific file format (e.g. Newick or NEXUS).

  • Load file modules

    The Load file modules are in charge of storing the trees that have been read from the file and making them accessibile to the program. They can do this using various different strategies - e.g. by loading them directly into memory, or by reading them from the disk to reduce the amount of RAM that is needed.

  • Transformer modules

    Tree files can contain more than one tree, but TreeViewer only plots one tree at a time. Transformer modules are used to transform the trees that have been read from the file into a single tree. This can be achieved e.g. by computing a consensus tree, or by choosing only one tree from the file to display.

  • Further transformation modules

    These modules perform additional transformations on the tree. They can be used e.g. to re-root the tree or to change branch lenghts. Some of these modules can only be used once per tree, while others can be used multiple times.

  • Coordinates modules

    These modules compute the coordinates that the nodes of the tree will have in the plot. These can differ between different plot styles (e.g., coordinates for a rooted rectangular tree will be different from those for an unrooted radial tree).

  • Plot action modules

    These are the modules that create the actual plot. Each of these modules is in charge of a single element of the plot (e.g. the branches or the tip labels). Multiple instances of the same module can be used to plot different things - e.g. two Labels modules can be used to display, respectively, tip labels showing the names of the taxa, and branch labels showing branch lengths.

  • Selection action modules

    Selection action modules can be invoked by the user to perform actions on the selected node (e.g. re-root the tree using the selected node as an outgroup). These appear as buttons in the Selection actions contextual tab.

  • Action modules

    These modules can be invoked by the user to performs various kinds of actions that affect the whole tree (e.g. draw the tree using a particualr style or perform a search). They appear as buttons in the Actions ribbon tab.

  • Menu action modules

    These modules are similar in function to Action modules, but appear in various tabs in the ribbon. They also include items that appear in the File page. They can be invoked by the user to perform actions such as opening a file, saving the tree, exporting a PDF etc.

Most of these modules are directly involved in the process used by TreeViewer to create the plot. Instead, Selection action modules, Action modules, and Menu action modules usually perform one-off actions that do not permanently alter the tree (e.g. opening a dialog window). If these modules wish to change the appearance of the plot, they do so by enabling or disabling other modules, in order to preserve the reproducibility paradigm that is at the foundation of TreeViewer.

For example, the "Rooted tree style" module changes the style of the tree by changing the selected Coordinates module and enabling the Branches Plot action module toghether with two instances of the Labels module; this result could also be obtained by manually enabling these modules.

A list of the TreeViewer modules that are hosted in this repository is available here. Each module has its own user manual, which can be found in this repository, as well accessed within TreeViewer from the Module manager window or using the blue "question mark" buttons scattered all over the interface.

Each module can be identified univocally using its ID, which is usually a string representation of a 128-bit GUID (e.g. e68374d9-30c3-4be4-a3b9-2bc49bab5b15).