sig
type record = {
seqname : string;
source : string option;
feature : string option;
pos : int * int;
score : float option;
strand : [ `minus | `not_applicable | `plus | `unknown ];
phase : int option;
attributes : (string * string list) list;
}
type item = [ `comment of string | `record of Biocaml_gff.record ]
module Error :
sig
type parsing =
[ `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 ]
type t = Biocaml_gff.Error.parsing
val parsing_of_sexp : Sexplib.Sexp.t -> Biocaml_gff.Error.parsing
val sexp_of_parsing : Biocaml_gff.Error.parsing -> Sexplib.Sexp.t
val t_of_sexp : Sexplib.Sexp.t -> Biocaml_gff.Error.t
val sexp_of_t : Biocaml_gff.Error.t -> Sexplib.Sexp.t
end
module Tags :
sig
type t = {
version : [ `three | `two ];
allow_empty_lines : bool;
sharp_comments : bool;
}
val default : Biocaml_gff.Tags.t
val of_string :
string ->
(Biocaml_gff.Tags.t, [> `gff of [> `tags_of_string of exn ] ])
Biocaml_internal_utils.Result.t
val to_string : Biocaml_gff.Tags.t -> string
val t_of_sexp : Sexplib.Sexp.t -> Biocaml_gff.Tags.t
val sexp_of_t : Biocaml_gff.Tags.t -> Sexplib.Sexp.t
end
exception Error of Biocaml_gff.Error.t
val in_channel_to_item_stream :
?buffer_size:int ->
?filename:string ->
?tags:Biocaml_gff.Tags.t ->
Pervasives.in_channel ->
(Biocaml_gff.item, [> Biocaml_gff.Error.parsing ])
Biocaml_internal_utils.Result.t Biocaml_internal_utils.Stream.t
val in_channel_to_item_stream_exn :
?buffer_size:int ->
?tags:Biocaml_gff.Tags.t ->
Pervasives.in_channel -> Biocaml_gff.item Biocaml_internal_utils.Stream.t
val item_to_string : ?tags:Biocaml_gff.Tags.t -> Biocaml_gff.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
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 -> Biocaml_gff.record
val sexp_of_record : Biocaml_gff.record -> Sexplib.Sexp.t
val item_of_sexp : Sexplib.Sexp.t -> Biocaml_gff.item
val sexp_of_item : Biocaml_gff.item -> Sexplib.Sexp.t
end