Skip to content
Barney Potter edited this page Oct 14, 2024 · 4 revisions

BALTIC

BALTIC (Backronymed Adaptable Lightweight Tree Import Code) is a Python library designed for the manipulation, analysis, and visualization of molecular phylogenies. It provides a powerful set of tools for researchers and bioinformaticians working with evolutionary trees, particularly those derived from molecular sequence data.

Key Features

  • Efficient manipulation of phylogenetic trees
  • Advanced analysis capabilities for time-scaled phylogenies
  • Flexible visualization options for evolutionary relationships
  • Integration with popular Python data analysis libraries
  • Support for various tree file formats

BALTIC is particularly useful for:

  • Exploring the temporal and spatial dynamics of pathogen evolution
  • Investigating patterns of speciation and extinction
  • Visualizing complex evolutionary relationships
  • Integrating phylogenetic data with other biological information

Whether you're a seasoned phylogeneticist or new to the field, BALTIC offers a user-friendly yet powerful approach to working with evolutionary trees.

The classes of baltic

There are 3 main classes in baltic:

  • node = internal branches
  • leaf = external branches
  • tree = the entirety of the tree

The node and leaf classes are similar and share many parameters in common, such as branch length, height, position in absolute time, traits, parents, x and y coordinates and index of the character which defined them in the tree string. They differ in that the node class contains a list of its children objects for tree traversals, called children and a list of all tips that descend from it eventually, called leaves. Node class also contains parameters like childHeight and numChildren which are less important. The leaf class contains two name variables: numName and name. numName corresponds to whatever was used to designate the tip in the tree string. name can be set later and is meant to handle scenarios where the tree string contains tip names encoded as numbers (Nexus format), which can be decoded into name, rather than overwriting whatever was caught in numName.

The tree class wraps leaf and node classes together by performing operations to build, manipulate, visualise and analyse the full tree data structure. The recommended way of interacting with the tree is via the Objects list, which is a flat list of all branches in the tree.

baltic now also has a clade class. They are introduced when a subtree is collapsed and pose as tips for tree traversals.

Explore the wiki to learn more about installation, usage, and advanced features of BALTIC.

Clone this wiki locally