sig
type t =
Biocaml_gff.t = {
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 stream_item = [ `comment of string | `record of t ]
type parse_error =
[ `cannot_parse_float of Biocaml_pos.t * string
| `cannot_parse_int of Biocaml_pos.t * string
| `cannot_parse_strand of Biocaml_pos.t * string
| `cannot_parse_string of Biocaml_pos.t * string
| `empty_line of Biocaml_pos.t
| `incomplete_input of Biocaml_pos.t * string list * string option
| `wrong_attributes of Biocaml_pos.t * string
| `wrong_row of Biocaml_pos.t * string
| `wrong_url_escaping of Biocaml_pos.t * string ]
type tag = [ `pedantic | `version of [ `three | `two ] ]
val default_tags : tag list
module Transform :
sig
val string_to_item :
?filename:string ->
?tags:tag list ->
unit ->
(string, (stream_item, parse_error) Core.Result.t)
Biocaml_transform.t
val item_to_string :
?tags:tag list -> unit -> (stream_item, string) Biocaml_transform.t
end
val parse_error_of_sexp : Sexplib.Sexp.t -> parse_error
val parse_error_of_sexp__ : Sexplib.Sexp.t -> parse_error
val sexp_of_parse_error : parse_error -> Sexplib.Sexp.t
val tag_of_sexp : Sexplib.Sexp.t -> tag
val tag_of_sexp__ : Sexplib.Sexp.t -> tag
val sexp_of_tag : tag -> Sexplib.Sexp.t
end