sig
  type probe = {
    org_name : string;
    version : string;
    chr_name : string;
    start_pos : int;
    sequence : Biocaml_seq.t;
  }
  type row = {
    pmcoord : int * int;
    mmcoord : int * int;
    probe : Biocaml_bpmap.probe;
  }
  type t
  exception Bad of string
  val num_probes : Biocaml_bpmap.t -> int
  val col_names : string list
  val iter : (Biocaml_bpmap.row -> unit) -> Biocaml_bpmap.t -> unit
  val fold : ('-> Biocaml_bpmap.row -> 'a) -> '-> Biocaml_bpmap.t -> 'a
  val to_list : Biocaml_bpmap.t -> Biocaml_bpmap.row list
  val of_file : ?chr_map:(string -> string) -> string -> Biocaml_bpmap.t
  val row_to_string : Biocaml_bpmap.row -> string
  val to_file : string -> Biocaml_bpmap.t -> unit
end