package biocaml

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Biocaml_unix.WigSource

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:

  • Bed format requires half-open intervals [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).
  • Variable-step format numbers the first position 1 and uses closed intervals. Thus no change is required. The line "1 3.14" is parsed to (1, 3.14).
  • Fixed-step format numbers the first position 1 and uses closed intervals. Thus no change is required. The header line "fixedStep chrom=chrI start=1 step=100 span=30" is parsed to ("chrI", 1, 100, 30).

The inverse is done for printing routines. You are freed from these details if you always use this module to parse and print.

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 '='.

Basic Types

Sourcetype comment = [
  1. | `comment of string
]
Sourcetype variable_step = [
  1. | `variable_step_state_change of string * int option
  2. | `variable_step_value of int * float
]

variable_step_state_change of name x span

Sourcetype fixed_step = [
  1. | `fixed_step_state_change of string * int * int * int option
  2. | `fixed_step_value of float
]

fixed_step_state_change of name, start, step, span

Sourcetype bed_graph_value = string * int * int * float
Sourcetype item = [
  1. | comment
  2. | variable_step
  3. | fixed_step
  4. | `bed_graph_value of bed_graph_value
]

The most general type that the default parser outputs.

type t = [comment | variable_step | fixed_step | `bed_graph_value of bed_graph_value ]

Error Types

Sourcemodule Error : sig ... end

The errors of the Wig module.

Tags

Sourcemodule Tags : sig ... end

In_channel Functions

Sourceexception Error of Error.t

The exceptions raised by the Wig module's *_exn functions.

Sourceval in_channel_to_item_stream : ?buffer_size:int -> ?filename:string -> ?tags:Tags.t -> Core.In_channel.t -> (item, Error.t) Core.result Stream.t

Get a stream of item values out of an input-channel.

Sourceval in_channel_to_item_stream_exn : ?buffer_size:int -> ?filename:string -> ?tags:Tags.t -> Core.In_channel.t -> item Stream.t

Do like in_channel_to_item_stream but each call to Stream.next may throw an exception.

Sourceval in_channel_to_bed_graph : ?buffer_size:int -> ?filename:string -> ?tags:Tags.t -> Core.In_channel.t -> (bed_graph_value, Error.t) Core.result Stream.t

Get a stream of bed_graph_value values out of a WIG-file input-channel.

Sourceval in_channel_to_bed_graph_exn : ?buffer_size:int -> ?filename:string -> ?tags:Tags.t -> Core.In_channel.t -> bed_graph_value Stream.t

Do like in_channel_to_bed_graph but each call to Stream.next may throw an exception.

To_string Functions

Sourceval item_to_string : ?tags:Tags.t -> item -> string

Convert an item 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.

Transform Creations

Sourcemodule Transform : sig ... end

Low-level Tfxm.t.

S-Expressions

Sourceval comment_of_sexp : Sexplib.Sexp.t -> comment
Sourceval sexp_of_comment : comment -> Sexplib.Sexp.t
Sourceval variable_step_of_sexp : Sexplib.Sexp.t -> variable_step
Sourceval sexp_of_variable_step : variable_step -> Sexplib.Sexp.t
Sourceval fixed_step_of_sexp : Sexplib.Sexp.t -> fixed_step
Sourceval sexp_of_fixed_step : fixed_step -> Sexplib.Sexp.t
Sourceval bed_graph_value_of_sexp : Sexplib.Sexp.t -> bed_graph_value
Sourceval sexp_of_bed_graph_value : bed_graph_value -> Sexplib.Sexp.t
Sourceval item_of_sexp : Sexplib.Sexp.t -> item
Sourceval sexp_of_item : item -> Sexplib.Sexp.t
OCaml

Innovation. Community. Security.