Skip to content
Steve Bond edited this page Jan 11, 2018 · 15 revisions

--generate_tree, -gt

Description

Generate a phylogenetic tree using third party inference tools. Basic default parameters are built into the wrapper for 'quick-and-dirty' trees with any of the supported tools, or you can specify further parameters as desired. Unlike the other tools in PhyloBuddy, 'generate_tree' takes an alignment as input and will do the necessary preprocessing so it can be used by the inference software selected. Any new trees generated will be output in Newick format by default, but the -o flag can be used to override this behavior.

As the job runs, any output the tool normally generates will be streamed to stderr for your reference (suppressible with the '-q' flag). If the program generates files as part of its normal operation, these are sent to a temporary directory and deleted once PhyloBuddy finishes the job. To save these files, specify a directory with the '-k' flag (example 3).

Inference tools currently supported

The alignment programs listed below are currently supported by PhyloBuddy. The default binary names that PhyloBuddy will search for in your PATH are the exact names listed below, except all in lower case (e.g., 'raxml', instead of 'RAxML'). If your version of the software has a different name or is not in your system PATH, explicitly set the name or path as the first positional argument.

Note that the binaries for these programs are not included with the BuddySuite, so they must be installed separately. Let us know if you are regularly using a non-supported tool, because we can probably start supporting you!

Arguments

Inference tool ( str )

Optional. If not set, PhyloBuddy will try to find an inference program on your system and will execute the first one it detects. Otherwise, specify the name of a tree building tool in your PATH or the path to the binary on your system; the actual name of the program is not important, as PhyloBuddy will determine which program you are calling automatically.

Program specific parameters ( str )

Optional. There are many optional parameters that each inference tool may accept (see their documentation for details). This argument injects further commands into the final call that PhyloBuddy makes to the wrapped program. It can only be used if an inference tool is specified as the first argument, and make sure to enclose all additional tool specific arguments in double quotes (so PhyloBuddy doesn't try to interpret them itself). See example 3 for a demonstration of the proper syntax.

Examples

Input file: Mnemiopsis.nex

#NEXUS
begin data;
    dimensions ntax=5 nchar=333;
    format datatype=dna missing=? gap=-;
matrix
'Mle-Panxα6'  ---atgttattggagatattagc---gaacttcaaaggagcgacacctttcaaagaaatagttctagatgacaagtgggaccagattaaccgatgttacatgttcctgctgtgtgtgattttcggaactgtcgtgacattcagacagtataccgg--tggtatcattgcttgtgacggtctgacaaagt----------------------tctcagctgcctttgcggaggactattgctggacgcagggtctttataccataaaggaggcgtatgacatagtggataattccttaccttacccaggactgctaccggaagatgcgcct---
'Mle-Panxα9'  ------atgttagacatactttc---aaagtttaaaggagttactccttttaaaggtataacgatagatgacgggtgggatcaactcaatcggagttttatgttcgtcctgctcgttgtcatgggaacgactgtcactgtccggcaatacaccgg--cagtgtcatcagttgtgacggcttcaaaaagt----------------------ttggatccacttttgcggaggattactgttggacccagggactgtacacagttttagaaggatatgaccaacccagccaaaatatcccttacccaggcctccttccagacgaggcaccaccc
'Mle-Panxα11' atgctgatctcgagcttagttc------agttcagcaggttatctccttttaaggagataactatagatgacgggtgggaccaacttaacaggagtttcatgttcgttctgatggttatctgtggaactatcgtcactgtccgacaacatacagg--taacatcatctcgtgtaacggtttcacaaaat----------------------acgacggatccttctccgaggactactgctggacgcagggactctacacgatcagggaggcgtaccacgtgagcgacgtcaacgtcccttatcccggagttatcccggaggagatccca---
'Mle-Panxα3'  atgttgttgctcggctcactcgg---aacgatcaagaacttgagcatcttcaaagacctgtccttggacgactggctggatcagatgaacaggaccttcatgtttctactgctctgtttcatgggaacaattgtcgccgttagtcagtacactgg--taaaaacatatcttgcgatggctttacgaagt----------------------tcggagaagatttctcgcaagactactgctggacccagggcttgtacacgattaaagaagcgtacgacttgcccgagtcccagatcccgtatcctgggattatccctgaaaacgtg------
'Mle-Panxα2'  ---atggtattggatctcatttctggaagcttgaatggctttttaaagatcaagtcagttagcatcgacgatcagtgggaccagattaacagaacctatttggtcatgttttgtattttatctggtacaatcatgacctttaaacagaatttaggatcaataatacactgtatatcggatgcaagaggcgacgacagttcgtttgcggatgctcatgcgacatttgtgcaagactattgtgctgctcaagggctgtacactttaaaagaagtgtatgacaag---------------tcttggccagatgaaattcct---------------
;
end;

Usage example 1

By default PhyloBuddy will search your system for available inference software

$: pb Mnemiopsis.nex -gt

Output

FastTree Version 2.1.9 Double precision (No SSE3)
...
Total time: 0.03 seconds Unique: 5/5 Bad splits: 0/2
Returning to PhyloBuddy...

('Mle-Panxα11':0.201736366,'Mle-Panxα3':0.378540376,('Mle-Panxα9':0.241499383,('Mle-Panxα6':0.146540453,'Mle-Panxα2':0.594218112)0.946:0.154110562)0.660:0.053567436);

Usage example 2

Specify a specific version of RAxML not in your system PATH

$: pb Mnemiopsis.nex -gt '/path/to/raxml_v8.2.4/raxmlHPC-SSE3

Output

This is RAxML version 8.2.4 released by Alexandros Stamatakis on October 02 2015.
...
Overall execution time: 0.134695 secs or 0.000037 hours or 0.000002 days

Returning to PhyloBuddy...

(('Mle-Panxα9':0.3059348496381305,('Mle-Panxα11':0.2598946477760956,'Mle-Panxα3':0.5755107707842939):0.09758742685282855):0.25355092098261167,'Mle-Panxα2':1.2066740495820707,'Mle-Panxα6':0.19944740625275767):0.0;

Usage example 3

Change the output format to 'nexus' with the -o flag and keep all temporary files with the -k flag.

$: pb Mnemiopsis.nex -gt phyml -o nexus -k ~/trees

Output

                                 ..........................
 ooooooooooooooooooooooooooooo        CURRENT SETTINGS        ooooooooooooooooooooooooooooooooooo
                                 ..........................
...
. Time used 0h0m1s

oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
Returning to PhyloBuddy...

#NEXUS

BEGIN TAXA;
    DIMENSIONS NTAX=5;
    TAXLABELS
        'Mle-Panxα6'
        'Mle-Panxα2'
        'Mle-Panxα9'
        'Mle-Panxα11'
        'Mle-Panxα3'
  ;
END;

BEGIN TREES;
    TREE 1 = ('Mle-Panxα6':0.18789485,'Mle-Panxα2':1.19857441,('Mle-Panxα9':0.31054892,('Mle-Panxα11':0.26525421,'Mle-Panxα3':0.59025685)0.648000:0.08613268)0.841000:0.2564462);
END;

A new directory was also created:

$: ls ~/trees
>>> pb_input.aln   pb_input.aln_phyml_stats    pb_input.aln_phyml_tree

Usage example 4

Pass in extra parameters to further refine your tree and suppress the output from RAxML with the -q flag.

$: pb Mnemiopsis.nex -gt raxml '-m GTRCAT -p 112358' -q

Output

(('Mle-Panxα9':0.3210138351992049,('Mle-Panxα3':0.606902403021969,'Mle-Panxα11':0.2665054046846879):0.10307555147917344):0.2745329411057646,'Mle-Panxα2':1.2930048140099493,'Mle-Panxα6':0.1975572026655663):0.0;

Main Toolkit Pages





Further Reading

Clone this wiki locally