Budgitree newick tree processor
Project description
Budgitree
Why use this program?
Let's say you have just obtained your phylogenetic tree from FastTree.
This tree will likely contain polytomies, and branch lengths that are so
small that they will be represented in exponential notation.
Some programs will not accept trees with these two features (e.g., ClusterPicker).
You could remove the polytomies with the ape
package in R
. But how do you
print the tree to standard out with the branch lengths in standard float format? You could submit
an issue to the developers of your target program and hope they respond with a fix.
Both of these options may delay your workflow. This program provides a python3 solution
to your problems. Given a phylogenetic tree in newick format, budgitree
provides an easy way to print your tree to stdout
with:
- Polytomies resolved (i.e., tree converted to strictly bifurcating) and/or
- Exponential notation removed (i.e., branch lengths in float format with user-specified number of decimal places)
- Collapse branches with support values less than the specified cutoff (default is do nothing)
Usage
Get help
$ budgitree
usage: budgitree [-h] ...
Given a newick tree, use this program to resolve polytomies (convert to
bifurcating) and or change the formatting of branch lengths.
optional arguments:
-h, --help show this help message and exit
Sub-commands help:
smuggle Smuggle the budgie.
version Print version.
test Run test suite.
Start smuggling
$ budgitree smuggle -h
usage: budgitree smuggle [-h] [-p PRECISION] [-b] [-c COLLAPSE] tree
Process the tree.
positional arguments:
tree Input newick tree
optional arguments:
-h, --help show this help message and exit
-p PRECISION, --precision PRECISION
Branch length precision (i.e., number of decimal
places to print).
-b, --dont_bifurcate_polytomies
Switch off conversion of node polytomies to
bifurcating
-c COLLAPSE, --collapse COLLAPSE
Collapse nodes with support values less than this.
Collapse branches
Collapse branches with less than 0.5 support:
budgitree smuggle treefile.tre -c 0.50`
Print tree with branch supports to 20 decimal places (remove exponential notation):
budgitree smuggle treefile.tre -p 20
Stop removal of polytomies during run:
If for some reason you would like to retain the polytomies, switch the feature off:
budgitree smuggle treefile.tre -b
Combine the options
Remove polytomies, print branch lengths to 15 decimal places, collapse nodes <0.5:
budgitree smuggle treefile.tre -p 15 -c 0.5
Installation
Using pip
:
pip3 install budgitree
The development version:
pip3 install git+https://github.com/schultzm/Budgitree.git
Testing
Run the test suite to check the software works as intended:
budgitree test
Version
Print the version to stdout:
budgitree version
Etymology
The budgerigar, or "budgie", is an Australian bird (Melopsittacus undulatus), keeping
with an Australian theme after @tseemann. The software sets digits on branches – if you
are imaginative, that kind of sounds like budgit
. tree
is because it operates on
phylogenetic trees. The smuggle
feature of budgitree
has to do with an Australian
joke involving budgie and swimwear.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file budgitree-0.0.9.tar.gz
.
File metadata
- Download URL: budgitree-0.0.9.tar.gz
- Upload date:
- Size: 19.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.7.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 640275ce2a45c53ebe1a71d9a1096cb67124e6c021a888c3cc61b2cb244d3549 |
|
MD5 | cbfb72f34c41f5f40fd1890b7233e97d |
|
BLAKE2b-256 | ffa7c427667383b1d31b97e5d5327f371823a4e29b33d7321c2d37657678bad0 |
File details
Details for the file budgitree-0.0.9-py3-none-any.whl
.
File metadata
- Download URL: budgitree-0.0.9-py3-none-any.whl
- Upload date:
- Size: 19.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.7.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7de18a25c8f97194a5319b8c87b6300ab01576b8bea6ee37debafb9df50c8a16 |
|
MD5 | 4edcfbf1d2931c524fc27921440a8d9b |
|
BLAKE2b-256 | ed843eb20817c09fd4d641fd1bdfe3fb1bf90a9376f62f56f29c5f80fa7dbda5 |