-
Notifications
You must be signed in to change notification settings - Fork 23
PB Generate tree
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).
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!
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.
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.
#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;
By default PhyloBuddy will search your system for available inference software
$: pb Mnemiopsis.nex -gt
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);
Specify a specific version of RAxML not in your system PATH
$: pb Mnemiopsis.nex -gt '/path/to/raxml_v8.2.4/raxmlHPC-SSE3
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;
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
..........................
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
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
(('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;