module Biocaml_bed:sig..end
chrA lo1 hi1
chrA lo2 hi2
. . .
. . .
. . .
chrB lo1 hi1
chrB lo2 hi2
. . .
. . .
. . .
The definition is that intervals are zero based and half-open. So by
default the line "chrA lo hi" is parsed to the interval [lo + 1,
hi] on chromosome chrA. Similarly, when printing, the default
is to print [lo - 1, hi]. The optional argument
increment_lo_hi allows changing this behavior for non-conformant
files. In addition, the optional argument chr_map is a string
-> string function that allows changing of the chromosome name to
a specified format, and defaults to identity.
Some tools require that the set of intervals do not overlap within
each chromosome. This is not enforced, but you can use
any_overlap to verify this property when needed.
typeitem =string * int * int * Biocaml_table.Row.t
typeparsing_spec =[ `enforce of Biocaml_table.Row.t_type | `strings ]
module Error:sig..end
val item_of_line : how:parsing_spec ->
Biocaml_lines.item ->
(item, [> Error.parsing ]) Core.Result.tval item_to_line : item -> Biocaml_lines.itemitem.module Transform:sig..end
val item_of_sexp : Sexplib.Sexp.t -> itemval sexp_of_item : item -> Sexplib.Sexp.tval parsing_spec_of_sexp : Sexplib.Sexp.t -> parsing_specval parsing_spec_of_sexp__ : Sexplib.Sexp.t -> parsing_specval sexp_of_parsing_spec : parsing_spec -> Sexplib.Sexp.twith sexp)item.Biocaml_transform.t-based parser, while providing the
format of the additional columns (default `strings).Biocaml_transform.t which “prints” BED data
(reminder: includes ends-of-line).