module Biocaml_pwm:sig..end
    This module can be used to create position-weight matrices (PWM)
    to describe a DNA motif. Such matrices can then be searched on 
    a DNA sequence, given a threshold for alignment score.
typecount_matrix =int array array
typebackground = privatefloat array
val flat_background : unit -> backgroundval background_of_sequence : string -> float -> backgroundbackground_of_sequence seq pc estimates the base
      frequency in seq using pc as pseudo-counts. Typical
      value for pc is 0.1.typet = privatefloat array array
val make : count_matrix -> background -> tval tandem : ?orientation:[ `direct | `everted | `inverted ] ->
       spacer:int ->
       count_matrix ->
       count_matrix -> background -> ttandem orientation spacer cm1 cm2 bg builds a PWM by constructing 
      a composite motif: it builds mat1 the PWM from cm1 under background bg
      (resp. mat2 from cm2 under bg), then concatenates mat1 and mat2 with
      spacer non scoring columns in betweenval reverse_complement : t -> tval scan : t -> string -> float -> (int * float) listscan mat seq tol returns the list of positions (with
      corresponding scores) such that the alignment score
      of mat is superior to tolval fast_scan : t -> string -> float -> (int * float) listscan but directly implemented in Cval best_hit : t -> string -> int * floatbest_hit mat seq returns the position and score of the best
    alignment found in seq for the motif mat. Raise Invalid_arg
    if seq is shorter than mat