TreeSwift is a pure Python library for parsing, manipulating, and iterating over (rooted) tree structures. TreeSwift places an emphasis on speed.
We strongly recommend that you consider our new package, CompactTree (a header-only C++ library that has a Python package wrapper with similar functionality as TreeSwift), though we will continue maintaining TreeSwift in parallel with CompactTree.
TreeSwift can be installed using pip:
sudo pip install treeswiftIf you are using a machine on which you lack administrative powers, TreeSwift can be installed locally using pip:
pip install --user treeswiftTypical usage should be as follows:
- Import the
treeswiftpackage - Use
treeswift.read_tree_newickto load your Newick tree - Use the various
Treeclass functions on the resulting object as you need
import treeswift
tree = treeswift.read_tree_newick(my_newick_string)
for node in tree.traverse_postorder():
print(node)Full documentation can be found at https://niema.net/TreeSwift, and more examples can be found in the TreeSwift Wiki.
If you use TreeSwift in your work, please cite:
Moshiri N (2020). "TreeSwift: a massively scalable Python package for trees." SoftwareX. 11:100436. doi:10.1016/j.softx.2020.100436