EN FR
EN FR


Section: New Software and Platforms

treex

Keywords: Graph algorithmics - Data structures - Combinatorics - Machine learning

Scientific Description: Trees form an expanded family of combinatorial objects that offers a wide range of application fields, especially in biology, from plant modeling to blood vessels network analysis through study of lineages. Consequently, it is crucial for the team to develop numerical tools and algorithms for processing tree data, in particular to answer questions about the representation of biological organisms and their forms in silico.

treex is a Python 3 library dedicated to the manipulation of tree objects, whatever they are ordered or not, with or without quantitative or qualitative labels.

Functional Description: The package provides a data structure for rooted trees as well as the following main functionalities: - Random generation algorithms - DAG compression for ordered or not, labeled or not, trees - Approximation algorithms for unordered trees - Edit distance for unordered labeled trees - Kernels for ordered or not, labeled or not, trees - Computation of coding processes (Harris path, Lukasiewicz walk and height process) - Visualization algorithms in Matplotlib or in LaTeX

Release Functional Description: In 2019, treex has been published in JOSS (Journal of Open Source Software). The subtree kernel has been released to accompany an article submitted to Journal of Machine Learning Research. In addition, the DAG class and the kernel class have been extensively redesigned to be more user-friendly.