Module type Biocaml_genomeMap.Make.Signal

module type Signal = 
sig
type 'a t 
val eval : 'a t ->
default:'a -> Biocaml_genomeMap.Chromosome.t -> int -> 'a
function evaluation at some point in the genome
val fold : 'a t ->
init:'c -> f:('c -> Biocaml_genomeMap.Make.location -> 'b -> 'c) -> 'c
folds on constant intervals of the function, in increasing order
val to_stream : 'a t ->
(Biocaml_genomeMap.Make.location * 'a) Stream.t
stream over all constant intervals of the function, in increasing order
val of_stream : ('a -> 'a -> 'a) ->
(Biocaml_genomeMap.Make.location * 'a) Stream.t ->
'a t
of_stream f ls builds a signal from a collection of annotated locations. f is used when two locations intersect, to compute the annotation on their intersection. *Beware*, f should be associative and commutative since when many locations in ls intersect, there is no guarantee on the order followed to aggregate them and their annotation.
end
Partial function over the genome (e.g. conservation signal)

This module implements a partial function over the genome: each base may be associated to a value. Alternatively, this can be seen as a collection of non-overlapping regions each labeled with a value