PhyloSort offers two search modes, inclusive (default) and exclusive:


PhyloSort searches for an outgroup and reroots the tree on the identified outgroup. If an outgroup could not be found (i.e. all taxa in the tree are subset of the query taxa), the tree is searched without rerooting.


The following is a list of filtering parameters that could be used to adjust the matching output trees (any of these filters can be turned off by setting its value to a negative number).

All the settings and filters can be loaded from a configuration file, which may include an item or more to configure. The configuration file is a key-value-pair-based text file. In the GUI interface, a configuration file can be loaded via the menu "File" → "Load configuration" (or shortcut Ctrl+O). In the command line interface, it can be loaded through the system environment phylosort.config (e.g. -Dphylosort.config=filename). The following list shows all configurable properties and their possible values.


Based on the selection criteria and the phylosort.on.match.action, trees with matching monophyletic clades are counted, copied or moved from the input folder to the output folder.

Command line

Command line arguments

java [-Dphylosort.config=<configfile>] -jar phylosort.jar <infolder> <outfolder> <taxafile>

Graphical user interface

java [-Dphylosort.config=<configfile>] -jar phylosort.jar


PhyloSort requires that Java Runtime Environment (JRE) version 1.5 or later is installed. JRE can be downloaded at java.com.


The source code is licensed under The GNU General Public License (GPL).

If you are using PhyloSort in a published work or product, please cite: Ahmed Moustafa and Debashish Bhattacharya. PhyloSort: A user-friendly phylogenetic sorting tool and its application to estimating the cyanobacterial contribution to the nuclear genome of Chlamydomonas. BMC Evol. Biol. 8:6 (open access) (Qualified as highly accessed).