convergence_tree.mli 782 Bytes
Newer Older
1 2 3
open Core_kernel
open Phylogenetics

4
type condition = [`Ancestral | `Convergent]
5

6 7 8 9
type branch_info = {
  condition : condition ;
  length : float ;
}
10

11
type t = (unit, string, branch_info) Tree.t
12

13 14
val of_newick_tree : Newick.tree -> (t, [> `Msg of string]) result

15 16
val to_newick_tree : t -> Newick.tree

17 18 19
val from_file : string -> (t, [> `Msg of string]) result

val leaves : t -> (string * condition) list
20

21
val infer_binary_condition_on_branches :
22 23 24 25
  ?gain_relative_cost:float ->
  Newick.tree ->
  convergent_leaves:String.Set.t ->
  Newick.tree
26

27 28
val reset_transitions : Newick.tree -> Newick.tree

29
val remove_nodes_with_single_child : Newick.tree -> Newick.tree
30 31 32 33 34 35

val alignment_counts_map :
  t ->
  Alignment.t ->
  (int Amino_acid.table -> int Amino_acid.table -> 'a) ->
  'a list