package phylogenetics

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
include Alphabet.S_int
include Alphabet.S with type t = private int and type vector = private Linear_algebra.vec and type matrix = private Linear_algebra.mat and type 'a table = private 'a array
type t = private int
type vector = private Linear_algebra.vec
type matrix = private Linear_algebra.mat
type 'a table = private 'a array
val equal : t -> t -> bool
val compare : t -> t -> int
val all : t list
val card : int
val to_int : t -> int
val counts : t Core.Sequence.t -> int table
module Table : sig ... end
module Vector : sig ... end
val flat_profile : unit -> vector
val random_profile : Gsl.Rng.t -> float -> vector
module Matrix : sig ... end
val (.%()) : vector -> t -> float
val (.%()<-) : vector -> t -> float -> unit
val (.%{}) : matrix -> (t * t) -> float
val (.%{}<-) : matrix -> (t * t) -> float -> unit
val of_int : int -> t option
val of_int_exn : int -> t
val to_string : t -> string

to_string c returns a string representation of codon c

Example:

let codon_option = Codon.of_string "ATG" in
match codon_option with
| Some codon -> assert (Codon.to_string codon = "ATG")
| None -> failwith "Invalid codon string"

In this example, the codon is converted to its string representation. The string representation is then compared to the expected value.

val of_string : string -> t option

of_string s tries tp build a codon from a string representation. It returns None if the string is not a valid codon

val neighbours : t -> t -> (int * Nucleotide.t * Nucleotide.t) option

neighbours p q tests if codons p and q are neighbors that is, if they differ by exactly one nucleotide. If so, the function returns the index of the differing nucleotide and the nucleotides themselves; it returns None if the codons are not neighbors.

Example:

let codon_p = Codon.of_string "ATA" in
let codon_q = Codon.of_string "ATG" in
match Codon.neighbours codon_p codon_q with
| Some (index, nucleotide_p, nucleotide_q) ->
  assert (index = 2);
  assert (nucleotide_p = Nucleotide.A);
  assert (nucleotide_q = Nucleotide.G)
| None -> failwith "Codons are not neighbors"

In this example, the codons are compared to find the index of the differing nucleotide and the nucleotides themselves. The index and nucleotides are then compared to the expected values.

val nucleotides : t -> Nucleotide.t * Nucleotide.t * Nucleotide.t

nucleotides c returns the triplet of nucleotides of c

Example :

let codon_option = Codon.of_string "ATG" in
match codon_option with
| None -> failwith "Invalid codon string"
| Some codon ->
  let (n1, n2, n3) = Codon.nucleotides codon in
  assert (n1 = Nucleotide.A);
  assert (n2 = Nucleotide.T);
  assert (n3 = Nucleotide.G)

In this example, the nucleotides of the codon are extracted and compared to the expected values.

OCaml

Innovation. Community. Security.