The main input of treeKO are trees in newick format. These trees can either be rooted or unrooted. If they are unrooted, the program will root the tree according to the rooting method that the user has selected in the configuration file or it will use the default method. Information regarding duplication and speciation nodes can be provided by the user using the extended newick format (NHX http://phylosoft.org/NHX/). In order to use it, each internal node in the tree should be labeled with a tag like &&NHX:evoltype=“S” in the case of a speciation node or like &&NHX:evoltype=“D” in the case of a duplication node. See the example below:
Multifurcations should also be marked using a similar code: &&NHX:evoltype=“MD” when a collapsed node contains more than one sequence per species and &&NHX:evoltype=“MS” when there is one sequence per species.
Additionally you can mark horizontal gene transfer events on your tree. In this case the node will be annotated as &&NHX:HGT=True.
Instead of a second tree, a list of trees can also be provided. This list can have one of these four formats:
seed_name <tab> path_to_tree_file seed_name <tab> tree_in_newick_format path_to_tree_file tree_in_newick_format
Several parameters can be modified for treeKO to adapt better to the users particular needs. In order to change the default parameters, treeKO will need a configuration file that should be included in the command line with the -c option.
python treeKO.py -a tree_file_1 -b tree_file_2 -o output_file_name -c configuration_file
The configuration file can be used to change the rooting method, the orthology prediction method, printing information or to limit the number of pruned trees allowed during the use of TreeKO. Detailed information about the configuration file can be found here.