WIG data.
    Internal representation of coordinates always assumes the first
    position on a chromosome is numbered 1. Also, integer ranges are
    always closed; the range [1, 10] is the set of integers from 1
    to 10 inclusive of 1 and 10. WIG data can be in three
    formats---bed, variable-step, or fixed-step---and unfortunately
    each has different conventions as follows:
[low, high\) and
      numbers the first base as 0. Thus 1 is added to the low value
      when parsing. The line "chrI 0 10 3.14" is parsed to ("chrI",
      1, 10, 3.14)."1
      3.14" is parsed to (1, 3.14)."fixedStep chrom=chrI start=1 step=100 span=30" is parsed to
      ("chrI", 1, 100, 30).
    All parsers allow columns (fields) on a line to be separated by
    any combination of space, tab, or carriage return
    characters. Printers always separate columns with a single
    tab. Tag-value pairs must be in the form "tag=value" with no space
    around the '='.
module Biocaml_wig: sigtypecomment =[ `comment of string ]
typevariable_step =[ `variable_step_state_change of string * int option
| `variable_step_value of int * float ]
typefixed_step =[ `fixed_step_state_change of string * int * int * int option
| `fixed_step_value of float ]
typebed_graph_value =string * int * int * float
typeitem =[ `bed_graph_value of bed_graph_value
| `comment of string
| `fixed_step_state_change of string * int * int * int option
| `fixed_step_value of float
| `variable_step_state_change of string * int option
| `variable_step_value of int * float ]
    type t = [comment | variable_step | fixed_step | `bed_graph_value of bed_graph_value ]
    module Error: sigWig module.typeparsing =[ `cannot_parse_key_values of Biocaml_pos.t * string
| `empty_line of Biocaml_pos.t
| `incomplete_input of Biocaml_pos.t * string list * string option
| `missing_chrom_value of Biocaml_pos.t * string
| `missing_start_value of Biocaml_pos.t * string
| `missing_step_value of Biocaml_pos.t * string
| `unrecognizable_line of Biocaml_pos.t * string list
| `wrong_bed_graph_value of Biocaml_pos.t * string
| `wrong_fixed_step_value of Biocaml_pos.t * string
| `wrong_span_value of Biocaml_pos.t * string
| `wrong_start_value of Biocaml_pos.t * string
| `wrong_step_value of Biocaml_pos.t * string
| `wrong_variable_step_value of Biocaml_pos.t * string ]
val parsing_error_to_string : parsing -> stringparsing error to a string.typeto_bed_graph =[ `not_in_fixed_step_state | `not_in_variable_step_state ]
item values to
  bed-graph-only values.typet =[ `cannot_parse_key_values of Biocaml_pos.t * string
| `empty_line of Biocaml_pos.t
| `incomplete_input of Biocaml_pos.t * string list * string option
| `missing_chrom_value of Biocaml_pos.t * string
| `missing_start_value of Biocaml_pos.t * string
| `missing_step_value of Biocaml_pos.t * string
| `not_in_fixed_step_state
| `not_in_variable_step_state
| `unrecognizable_line of Biocaml_pos.t * string list
| `wrong_bed_graph_value of Biocaml_pos.t * string
| `wrong_fixed_step_value of Biocaml_pos.t * string
| `wrong_span_value of Biocaml_pos.t * string
| `wrong_start_value of Biocaml_pos.t * string
| `wrong_step_value of Biocaml_pos.t * string
| `wrong_variable_step_value of Biocaml_pos.t * string ]
val parsing_of_sexp : Sexplib.Sexp.t -> parsingval sexp_of_parsing : parsing -> Sexplib.Sexp.tval to_bed_graph_of_sexp : Sexplib.Sexp.t -> to_bed_graphval sexp_of_to_bed_graph : to_bed_graph -> Sexplib.Sexp.tendmodule Tags: sigendIn_channel Functionsexception Error of Error.t
Wig module's *_exn functions.val in_channel_to_item_stream : ?buffer_size:int ->
       ?filename:string ->
       ?tags:Tags.t ->
       Pervasives.in_channel ->
       (item, Error.t) Core.Result.t Stream.titem values out of an input-channel.val in_channel_to_item_stream_exn : ?buffer_size:int ->
       ?filename:string ->
       ?tags:Tags.t ->
       Pervasives.in_channel -> item Stream.tin_channel_to_item_stream but each call to Stream.next
    may throw an exception.val in_channel_to_bed_graph : ?buffer_size:int ->
       ?filename:string ->
       ?tags:Tags.t ->
       Pervasives.in_channel ->
       (bed_graph_value, Error.t) Core.Result.t Stream.tbed_graph_value values out of a WIG-file input-channel.val in_channel_to_bed_graph_exn : ?buffer_size:int ->
       ?filename:string ->
       ?tags:Tags.t ->
       Pervasives.in_channel -> bed_graph_value Stream.tin_channel_to_bed_graph but each call to Stream.next
    may throw an exception.To_string Functionsval item_to_string : ?tags:Tags.t -> item -> stringitem to a string (including new line characters).
    Note: the parsing of the Tags.t is staged, so storing let
    to_string = item_to_string ~tags only once could be slightly more
    efficient than calling item_to_string ~tags item many times.
module Transform: sigval string_to_item : ?filename:string ->
       ?tags:Biocaml_wig.Tags.t ->
       unit ->
       (string, (Biocaml_wig.item, [> Biocaml_wig.Error.parsing ]) Core.Result.t)
       Biocaml_transform.tBiocaml_transform.t. The parser is
      "best-effort" and stateless (i.e. a line containing "1000 42."
      will parsed succesfully as a `variable_step_value (1000, 42.)
      even if no "variableStep" was line present before).val item_to_string : ?tags:Biocaml_wig.Tags.t ->
       unit -> (Biocaml_wig.item, string) Biocaml_transform.titem values to strings.val item_to_bed_graph : unit ->
       (Biocaml_wig.item,
        (Biocaml_wig.bed_graph_value, [> Biocaml_wig.Error.to_bed_graph ])
        Core.Result.t)
       Biocaml_transform.t`variable_step_value _ and
      `fixed_step_value _ values to `bed_graph_value _ values, using the
      current state. The `bed_graph_value _ items stay untouched
      and `comment _ values are ignored.endval comment_of_sexp : Sexplib.Sexp.t -> commentval sexp_of_comment : comment -> Sexplib.Sexp.tval variable_step_of_sexp : Sexplib.Sexp.t -> variable_stepval sexp_of_variable_step : variable_step -> Sexplib.Sexp.tval fixed_step_of_sexp : Sexplib.Sexp.t -> fixed_stepval sexp_of_fixed_step : fixed_step -> Sexplib.Sexp.tval bed_graph_value_of_sexp : Sexplib.Sexp.t -> bed_graph_valueval sexp_of_bed_graph_value : bed_graph_value -> Sexplib.Sexp.tval item_of_sexp : Sexplib.Sexp.t -> itemval sexp_of_item : item -> Sexplib.Sexp.tend