I/O on Blocked GNU Zip format (BGZF) files
module Biocaml_bgzf:
sig
type
in_channel
val open_in : string -> in_channel
Sys_error
if the path
given in argument does not refer to an existing file.val of_in_channel : Pervasives.in_channel -> in_channel
val close_in : in_channel -> unit
val dispose_in : in_channel -> unit
exception Parse_error of string
val input_char : in_channel -> char
val input_u8 : in_channel -> int
val input_s8 : in_channel -> int
val input_u16 : in_channel -> int
val input_s16 : in_channel -> int
val input_s32 : in_channel -> int32
val input : in_channel -> string -> int -> int -> int
input ic buf pos len
reads at most len
characters in file
ic
, stores them in string buf
at position pos
, and returns
the number of characters actually read.val really_input : in_channel -> string -> int -> int -> unit
input
but reads exactly len
characters.End_of_file
if there are less than len
characters available.val input_string : in_channel -> int -> string
really_input
but returns the result in a fresh
string.val with_file_in : string -> f:(in_channel -> 'a) -> 'a
with_file_in fn ~f
opens a channel for reading, pass it to f
,
and returns the result after having closed the channel. If the
call to f
raises an exception, it is caught and the channel is
closed before the exception is re-raised.type
out_channel
val open_out : ?level:int -> string -> out_channel
open_out ~level fn
opens the file at path fn
for writing a
BGZF-compressed file with compression level level
(default is 6,
legal values are 1 to 9).Sys_error
if fn
does not refer
to an existing file.Invalid_arg
if level
is not between
1 and 9.val of_out_channel : ?level:int -> Pervasives.out_channel -> out_channel
val close_out : out_channel -> unit
val dispose_out : out_channel -> unit
val output : out_channel -> string -> int -> int -> unit
output oc buf pos len
writes len
characters of string buf
from position pos
into the compressed file oc
.val output_char : out_channel -> char -> unit
val output_u8 : out_channel -> int -> unit
output_u8 oz n
writes the 8 least significant bits onto channel
oz
val output_s8 : out_channel -> int -> unit
output_s8 oz n
writes a signed representation of n
, if n
is
between -128 and 127.Invalid_arg
if n
is outside this
range.val output_u16 : out_channel -> int -> unit
output_u16 oz n
writes the 16 least significant bits onto channel
oz
val output_s16 : out_channel -> int -> unit
output_s8 oz n
writes a signed representation of n
, if n
is
between -32768 and 32767.Invalid_arg
if n
is outside this
range.val output_s32 : out_channel -> int32 -> unit
output_s32 oz n
writes a signed representation of n
.val output_string : out_channel -> string -> unit
val with_file_out : ?level:int -> string -> f:(out_channel -> 'a) -> 'a
with_file_out ~level fn ~f
opens a file for writing at
compression level level
(default is 6), passes the channel to
f
and returns the result after closing the channel. If the call
to f
raises an exception, it is re-raised after closing the
channel.end