module Biocaml_wig:sig..end
    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 '='.
typecomment =[ `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
typet =[ `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 ]
typeparse_error =[ `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 parse_error_to_string : parse_error -> stringparse_error to a string.typetag =[ `pedantic | `sharp_comments ]
 : tag listmodule Transform:sig..end
val comment_of_sexp : Sexplib.Sexp.t -> commentval comment_of_sexp__ : Sexplib.Sexp.t -> commentval sexp_of_comment : comment -> Sexplib.Sexp.tval variable_step_of_sexp : Sexplib.Sexp.t -> variable_stepval 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 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 t_of_sexp : Sexplib.Sexp.t -> tval t_of_sexp__ : Sexplib.Sexp.t -> tval sexp_of_t : t -> Sexplib.Sexp.tval parse_error_of_sexp : Sexplib.Sexp.t -> parse_errorval parse_error_of_sexp__ : Sexplib.Sexp.t -> parse_errorval sexp_of_parse_error : parse_error -> Sexplib.Sexp.tparse_error to a string.val tag_of_sexp : Sexplib.Sexp.t -> tagval tag_of_sexp__ : Sexplib.Sexp.t -> tagval sexp_of_tag : tag -> Sexplib.Sexp.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).t values to strings.`variable_step_value _ and
      `fixed_step_value _ values to `bed_graph_value _ values, using the
      current state. The `bed_graph_value _ and `comment _ values stay
      untouched.