sig
  module TrackLine :
    sig
      type t
      exception Bad of string
      val of_string : string -> Biocaml_track.TrackLine.t
      val to_string : Biocaml_track.TrackLine.t -> string
      val empty : Biocaml_track.TrackLine.t
      val set :
        Biocaml_track.TrackLine.t ->
        string -> string -> Biocaml_track.TrackLine.t
      val unset :
        Biocaml_track.TrackLine.t -> string -> Biocaml_track.TrackLine.t
      val find : Biocaml_track.TrackLine.t -> string -> string
      val mem : Biocaml_track.TrackLine.t -> string -> string -> bool
      val to_list : Biocaml_track.TrackLine.t -> (string * string) list
      val of_list : (string * string) list -> Biocaml_track.TrackLine.t
      val valid_wig : Biocaml_track.TrackLine.t -> bool
    end
  module BrowserLines :
    sig
      type t
      exception Bad of string
      val position : string -> int -> int -> Biocaml_track.BrowserLines.t
      val hide : string -> Biocaml_track.BrowserLines.t
      val dense : string -> Biocaml_track.BrowserLines.t
      val pack : string -> Biocaml_track.BrowserLines.t
      val squish : string -> Biocaml_track.BrowserLines.t
      val full : string -> Biocaml_track.BrowserLines.t
      val concat :
        Biocaml_track.BrowserLines.t ->
        Biocaml_track.BrowserLines.t -> Biocaml_track.BrowserLines.t
      val of_string : string -> Biocaml_track.BrowserLines.t
      val to_string : Biocaml_track.BrowserLines.t -> string
    end
  type block =
      B of Biocaml_track.BrowserLines.t
    | T of Biocaml_track.TrackLine.t
    | C of Biocaml_comments.t
    | Wig of Biocaml_wig.t
  type t
  exception Bad of string
  val to_channel :
    ?wig_fmt:Biocaml_wig.format ->
    Biocaml_track.t -> Pervasives.out_channel -> unit
  val to_file :
    ?wig_fmt:Biocaml_wig.format -> Biocaml_track.t -> string -> unit
  val to_list : Biocaml_track.t -> Biocaml_track.block list
  val of_list : Biocaml_track.block list -> Biocaml_track.t
end