mutsel_simulator.mli 1.27 KB
Newer Older
Philippe Veber's avatar
Philippe Veber committed
1 2
open Phylogenetics

Louis Duchemin's avatar
Louis Duchemin committed
3 4
val tree_rescale_branch_length : Convergence_tree.t -> scale:float -> Convergence_tree.t

Philippe Veber's avatar
Philippe Veber committed
5
module Site_independent : sig
Louis Duchemin's avatar
Louis Duchemin committed
6 7

  type t = {
Philippe Veber's avatar
Philippe Veber committed
8 9 10 11 12 13 14 15 16 17 18 19
    sequences : Dna.t list ;
    fitness_profiles : Amino_acid.vector array ;
    tree : Convergence_tree.t ;
    h0_profiles : int array ;
    ha_profiles : (int * int) array ;
    h0_params : (Mutsel.param * Mutsel.param) array ;
    ha_params : (Mutsel.param * Mutsel.param) array ;
    base_param : Mutsel.param ;
    gBGC : float * float ;
    ne_s : float * float ;
  }

Louis Duchemin's avatar
Louis Duchemin committed
20
  val make :
Philippe Veber's avatar
Philippe Veber committed
21 22 23 24 25 26 27 28
    ?seed:int ->
    n_h0:int ->
    n_ha:int ->
    ne_s:float * float ->
    gBGC:float * float ->
    tree:Convergence_tree.t ->
    fitness_profiles:Amino_acid.vector array ->
    unit ->
Louis Duchemin's avatar
Louis Duchemin committed
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
    t
end

module With_CpG_hypermutability : sig
  type t = {
    sequences : Dna.t list ;
    fitness_profiles : Amino_acid.vector array ;
    tree : Convergence_tree.t ;
    h0_profiles : int array ;
    ha_profiles : (int * int) array ;
    gBGC : float * float ;
    ne_s : float * float ;
    rate_CpG : float ;
  }

  val make :
    rng:Gsl.Rng.t ->
    n_h0:int ->
    n_ha:int ->
    ne_s:float * float ->
    gBGC:float * float ->
    rate_CpG:float ->
    tree:Convergence_tree.t ->
    fitness_profiles:Amino_acid.vector array ->
    unit ->
    t
  
Philippe Veber's avatar
Philippe Veber committed
56
end