sig
type range = Biocaml_range.t
type 'a location = 'a * range
module Selection :
sig
type 'a t = 'a Biocaml_genomeMap.Selection.t
val inter : 'a t -> 'a t -> 'a t
val diff : 'a t -> 'a t -> 'a t
val size : 'a t -> int
val intersects : 'a location -> 'a t -> bool
val intersection_size : 'a location -> 'a t -> int
val enum : 'a t -> 'a location Batteries.Enum.t
val of_enum : 'a location Batteries.Enum.t -> 'a t
end
module type Signal =
sig
type ('a, 'b) t
val make :
('a list -> 'b) -> ('c location * 'b) Batteries.Enum.t -> ('c, 'b) t
val eval : 'a -> int -> ('a, 'b) t -> 'b
val fold : ('a -> range -> 'b -> 'c -> 'c) -> ('a, 'b) t -> 'c -> 'c
val enum : ('a, 'b) t -> ('a location * 'b) Batteries.Enum.t
end
module type LSet =
sig
type 'a t
val make : 'a location Batteries.Enum.t -> 'a t
val fold : ('a -> range -> 'b -> 'b) -> 'a t -> 'b -> 'b
val intersects : 'a location -> 'a t -> bool
val enum : 'a t -> 'a location Batteries.Enum.t
val union : 'a t -> 'a t -> 'a t
val add : 'a location -> 'a t -> 'a t
end
module LMap :
sig
type ('a, 'b) t = ('a, 'b) Biocaml_genomeMap.LMap.t
val enum : ('a, 'b) t -> ('a location * 'b) Batteries.Enum.t
val of_enum : ('a location * 'b) Batteries.Enum.t -> ('a, 'b) t
val intersects : 'a location -> ('a, 'b) t -> bool
val closest : 'a location -> ('a, 'b) t -> 'a location * 'b * int
end
module type LMap_spec =
sig
type ('a, 'b) t
val make : ('a location * 'b) Batteries.Enum.t -> ('a, 'b) t
val fold : ('a -> range -> 'b -> 'c -> 'c) -> ('a, 'b) t -> 'c -> 'c
val pwfold :
('a -> range -> 'b list -> 'c -> 'c) -> ('a, 'b) t -> 'c -> 'c
val intersects : 'a location -> ('a, 'b) t -> bool
val enum : ('a, 'b) t -> ('a location * 'b) Batteries.Enum.t
val union : ('a, 'b) t -> ('a, 'b) t -> ('a, 'b) t
val add : 'a location -> 'b -> ('a, 'b) t -> ('a, 'b) t
end
end