GFF files.
Versions 2 and 3 are supported. The only difference is the
delimiter used for tag-value pairs in the attribute list: 3
uses
an equal sign, and 2
uses a space. Version 3
also has
additional requirements, e.g. the feature
must be a sequence
ontology term, but these are not checked.
More information:
module Biocaml_gff:
sig
type
record = {
|
seqname : |
|
source : |
|
feature : |
|
pos : |
|
score : |
|
strand : |
|
phase : |
|
attributes : |
typeitem =
[ `comment of string | `record of record ]
module Error:
sig
Gff
module.typeparsing =
[ `cannot_parse_float of Biocaml_internal_utils.Pos.t * string
| `cannot_parse_int of Biocaml_internal_utils.Pos.t * string
| `cannot_parse_strand of Biocaml_internal_utils.Pos.t * string
| `cannot_parse_string of Biocaml_internal_utils.Pos.t * string
| `empty_line of Biocaml_internal_utils.Pos.t
| `incomplete_input of
Biocaml_internal_utils.Pos.t * string list * string option
| `wrong_attributes of Biocaml_internal_utils.Pos.t * string
| `wrong_row of Biocaml_internal_utils.Pos.t * string
| `wrong_url_escaping of Biocaml_internal_utils.Pos.t * string ]
typet =
parsing
val parsing_of_sexp : Sexplib.Sexp.t -> parsing
val sexp_of_parsing : parsing -> Sexplib.Sexp.t
end
Biocaml_tags.t
module Tags:
sig
type
t = {
|
version : |
|
allow_empty_lines : |
|
sharp_comments : |
Biocaml_tags
).val default : t
{version = `three; allow_empty_lines = false; sharp_comments = true}
.end
In_channel.t
Functions exception Error of Error.t
*_exn
functions.val in_channel_to_item_stream : ?buffer_size:int ->
?filename:string ->
?tags:Tags.t ->
Pervasives.in_channel ->
(item, [> Error.parsing ])
Biocaml_internal_utils.Result.t Biocaml_internal_utils.Stream.t
item
values.val in_channel_to_item_stream_exn : ?buffer_size:int ->
?tags:Tags.t ->
Pervasives.in_channel -> item Biocaml_internal_utils.Stream.t
in_channel_to_item_stream
but use exceptions for errors
(raised within Stream.next
).To_string
Function val item_to_string : ?tags:Tags.t -> item -> string
module Transform:
sig
val string_to_item : ?filename:string ->
tags:Biocaml_gff.Tags.t ->
unit ->
(string,
(Biocaml_gff.item, [> Biocaml_gff.Error.parsing ])
Biocaml_internal_utils.Result.t)
Biocaml_transform.t
Biocaml_transform.t
for a given version.val item_to_string : tags:Biocaml_gff.Tags.t ->
unit -> (Biocaml_gff.item, string) Biocaml_transform.t
end
val record_of_sexp : Sexplib.Sexp.t -> record
val sexp_of_record : record -> Sexplib.Sexp.t
val item_of_sexp : Sexplib.Sexp.t -> item
val sexp_of_item : item -> Sexplib.Sexp.t
end