package biocaml
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=fae219e66db06f81f3fd7d9e44717ccf2d6d85701adb12004ab4ae6d3359dd2d
sha512=f6abd60dac2e02777be81ce3b5acdc0db23b3fa06731f5b2d0b32e6ecc9305fe64f407bbd95a3a9488b14d0a7ac7c41c73a7e18c329a8f18febfc8fd50eccbc6
doc/biocaml.unix/Biocaml_unix/Wig/index.html
Module Biocaml_unix.Wig
Source
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
variable_step_state_change of name x span
fixed_step_state_change of name, start, step, span
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
Tags
In_channel
Functions
val 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.
val 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.
val 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.
val 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
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.