sig
  type t = Biocaml_cel.t
  exception Bad of string
  val of_file : string -> t
  val of_file_opt : string -> t option
  type idata =
    Biocaml_cel.idata = {
    mean : float;
    stdv : float;
    npixels : int;
  }
  type irow =
    Biocaml_cel.irow = {
    xcoord : int;
    ycoord : int;
    idata : idata;
  }
  val ifold : ('-> irow -> 'a) -> '-> t -> 'a
  val iiter : (irow -> unit) -> t -> unit
  val data :
    Biocaml_bpmap.t ->
    t list -> (Biocaml_bpmap.probe * (idata * idata) list) list
  val pm_mm :
    Biocaml_bpmap.t -> t list -> (Biocaml_bpmap.probe * float list) list
  val pm :
    Biocaml_bpmap.t -> t list -> (Biocaml_bpmap.probe * float list) list
  val mm :
    Biocaml_bpmap.t -> t list -> (Biocaml_bpmap.probe * float list) list
end