EN FR
EN FR


Section: New Software and Platforms

treex

Keywords: Graph algorithmics - Data structures - Combinatorics

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: treex is a Python library for manipulating rooted trees. The trees can be ordered or not, with or without labels on their vertices.

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 - Computation of coding processes (Harris path, Lukasiewicz walk and height process) - Visualization algorithms in Matplotlib or in LaTeX

Representations of trees. With treex, we aim to propose all the standard representations of trees as well as the one-to-one correspondences between them. Main coding processes (Harris path, Lukasiewicz walk, and height process), DAG representation, doubly-chained tree structures have been already coded. Standard exploration algorithms and editing methods have also been developed. Through these generic tools, treex enables the manipulation of trees from various application contexts.

Easy-to-use. We think that treex must be user-friendly to be adopted by collaborators from fields of biology. To this end, we develop high-level algorithms and provide an extensive documentation (with sphinx) as well as a simple installation method through conda.

Algorithms. The current version of treex provides edit distance algorithms, approximation algorithms (that can be used to control the complexity of the edit distance algorithms), and visualization algorithms (with an interface for TEX / LATEX and Matplotlib). A first statistical learning module is in progress.

Release Functional Description: The first release of treex happened in the late 2018 after an intensive work to ease both installation and handling. A publication on treex is planned for the next early year. In addition, treex will be integrated in Gnomon in the following months.

News Of The Year: The first release of treex happened in the late 2018 after an intensive work to ease both installation and handling. A publication on treex is planned for the next early year. In addition, treex will be integrated in Gnomon in the following months.