You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

1. Introduction

PhyloNet is a tool designed mainly for analyzing, reconstructing, and evaluating reticulate (or non-treelike) evolutionary relationships, generally known as phylogenetic networks. Various methods that we have developed make use of techniques and tools from the domain of phylogenetic trees, and hence the PhyloNet package includes several tools for phylogenetic tree analysis. PhyloNet is released under the GNU General Public License. For the full license, see the file GPL.txt included with this distribution.

1.1 Contributors

PhyloNet is designed, implemented, and maintained by Rice's BioInformatics Group, which is lead by Professor Luay Nakhleh (nakhleh@cs.rice.edu). For more details related to this group please visit http://bioinfo.cs.rice.edu.

2. Installation

System Requirements

In order to run the PhyloNet toolkit, you must have Java 1.6.0 or later installed on your system. All references to the java command assume that Java 1.6 is being used.

Downloading phylonet.jar

Acquire the current release of PhyloNet by downloading the most recent version of the PhyloNet JAR file. You will have a file named PhyloNet_X.Y.Z.jar, where X is the major version number and Y and Z are the minor version numbers.

Installing the file

Place the jar file in the desired installation directory. The remainder of this document assumes that it is located in $PHYLONET PATH/jar. Installation is now complete. In order to run PhyloNet, you must execute the file PhyloNet_X.Y.Z.jar, as described in the next section.

3. Basic Usage

The PhloNet tool is executed by typing the following command into your console:

>java -jar $PHYLONET PATH/jar/PhyloNet_X.Y.Z.jar script.nex

Where script.nex is the NEXUS file containing the commands to be executed.

4. Basic NEXUS Overview

When PhyloNet is invoked with a specified NEXUS script file the tool will execute all of the commands contained within the file's PHYLONET block. For example, consider the following NEXUS file:

#NEXUS

BEGIN NETWORKS;

Network net = ((a,(b,(c)x#1)),((x#1,d),e));
Network net1 = ((a,(b,(c)x#1)),((d,x#1),e));
Network net2 = ((((a, (c)x#1), d), (b, x)), e);
Network net3 = ((a,b),(c,(d,(e,(f,g)))));
Network net4 = ((f,b),(c,(d,(a,(e,g)))));

END;


BEGIN PHYLONET;

Charnet net -m tree;
Cmpnets net1 net2 -m cluster;
CountCoal net3 net4;

END;

Blocks in a NEXUS file start with the BEGIN keyword and terminate with the END; keyword. This example file contains two blocks--NETWORKS and PHYLONET. Contained within the PHYLONET block is the list of commands PhyloNet will execute when processing the NEXUS file. Commands in a PHYLONET block begin with a command identifier and terminate with a semicolon. In this example script, three commands are listed: Charnet, Cmpnets, and CountCoal. Appearing after the command identifier but before the semicolon are any parameters provided to a given command for its execution. For example in the script file above three parameters are provided to the Charnet command: net, -m and tree.  Details about specific parameters for a given command can be found on the documentation page for the given command.

The NETWORKS block provides an area for defining any phylogenetic networks utilized by any command in the PHYLONET block. A network definition in the NETWORKS block must be of the form:

Network "identifier" = "rich newick string";

Where "identifier" is a user specified name for the network and "rich newick string" is a user specified rich newick string. For more information about rich newick strings see its corresponding reference page.

In addition to the NETWORKS block, the TREES block may also be used to define rich newick strings. However, rich newick strings defined in a TREES block may not contain hybridization nodes. The inclusion of the TREES block in addition to the NETWORKS block is for increased comparability with NEXUS processing tools besides PhyloNet that also consume or produce TREES blocks within NEXUS files.

For example, consider the following NEXUS file that utilizes a TREES block:

#NEXUS

BEGIN TREES;

Tree speceiesTree = ((((a,b),c),d),e);
Tree geneTree1 = ((((a,b),c),d),e);
Tree geneTree2 = ((a,b),((c,e),d));
Tree geneTree3 = ((a,c),((b,e),d));

END;


BEGIN PHYLONET;

DeepCoalCount {speceiesTree} {geneTree1, geneTree2, geneTree3};

END;
  • No labels