The OptArgs object

run_treeknit! and several other functions take an OptArgs object that controls several parameters of the inference process.

TreeKnit.OptArgsType
struct OptArgs

Storing parameters for SplitGraph.runopt function.

General

  • γ::Float64 = 2
  • itmax::Int64 = 15: maximal number of iterations of naive MCCs / SA cycles.
  • likelihood_sort::Bool = true: sort equivalent configurations using likelihood test based on branch length.
  • resolve::Bool = true: try to resolve trees while finding MCCs.
  • strict::Bool = true: only resolve unambiguous splits
  • seq_lengths: lengths of sequences that trees were built from. Used in likelihood calculations. This is initialized from other input arguments, and defaults to sequences of length one.

Pipeline options - necessary for K>2 trees

  • pre_resolve::Bool = true: pre-resolve all trees using each other prior to MCC inference
  • rounds::Int=1: #rounds of MCC inference and tree resolution on all tree pairs
  • final_no_resolve::Bool = false: do not resolve in the final round of pair-wise MCC inference
  • parallel::Bool = false: parallelize MCC inference as much as possible.

Simulated annealing

  • nMCMC::Int = 25: The total number of MCMC steps (swaps) for a tree of n leaves is nMCMC*n. The number of MCMC steps at one temperature is nMCMC * n / nT.
  • cooling_schedule = :geometric: type of cooling schedule (:geometric, :linear, :acos)
  • Tmin::Float64 = 0.05: minimal temperature of SA.
  • Tmax::Float64 = 0.8: maximal temperature of SA.
  • nT::Int = 3000: number of steps in the cooling schedule
source

The MCC_set object

We define an MCC_set object to store the inferred MCCs of multiple trees.

TreeKnit.MCC_setType
struct MCC_set

structure to store and access computed MCCs for tree pairs

  • no_trees: number of trees
  • order_trees: vector of tree labels.
  • mccs: Dictionary of calculated mccs, key is set of labels of trees in each tree pair

Add and retrieve mccs with get! and add! and Tuple or Vararg of tree labels or position of tree labels in order_trees

source