package phylogenetics

  1. Overview
  2. Docs

Zipper type for fast operations on large phylogenetic trees.

Types
type t
type branch = float * Phylogenetic_tree.t
type direction =
  1. | Dir0
  2. | Dir1
  3. | Dir2
type location_type =
  1. | LocLeaf
  2. | LocBranch
  3. | LocNode
type oriented_zipper
Creation / conversion
val of_tree : Phylogenetic_tree.t -> t
val to_tree : t -> Phylogenetic_tree.t
val orient : t -> direction -> oriented_zipper
val unorient : oriented_zipper -> t
Constructors / object manipulation
val string_of_dir : direction -> string
val dir_of_string : string -> direction
Observation
val equal : t -> t -> bool
val get_branch : t -> direction -> branch
val get_index : t -> Sigs.index
val get_length : t -> direction -> float
val get_tree : t -> direction -> Phylogenetic_tree.t
val length_left : oriented_zipper -> float
val length_right : oriented_zipper -> float
val location : t -> location_type
Movement
val goto : t -> int -> t
val init_routing : t -> t
val move : t -> direction -> t
val move_left : oriented_zipper -> oriented_zipper
val move_right : oriented_zipper -> oriented_zipper
val random_node : t -> t
val right : oriented_zipper -> direction
val slide : t -> direction -> float -> t
Pretty printing
val pp : Format.formatter -> t -> unit
val pp_fancy : Format.formatter -> t -> unit
val print : t -> unit
val print_fancy : t -> unit