sig
type char_seq = string
type int_seq = int list
type 'a item = { header : string; sequence : 'a; }
module Tags :
sig
type t = {
forbid_empty_lines : bool;
only_header_comment : bool;
sharp_comments : bool;
semicolon_comments : bool;
max_items_per_line : int option;
sequence : [ `char_sequence of char list option | `int_sequence ];
}
val char_sequence_default : Biocaml_fasta.Tags.t
val int_sequence_default : Biocaml_fasta.Tags.t
val is_char_sequence : Biocaml_fasta.Tags.t -> bool
val is_int_sequence : Biocaml_fasta.Tags.t -> bool
val to_string : Biocaml_fasta.Tags.t -> string
val of_string :
string ->
(Biocaml_fasta.Tags.t, [> `tags_of_string of exn ]) Core.Result.t
val t_of_sexp : Sexplib.Sexp.t -> Biocaml_fasta.Tags.t
val sexp_of_t : Biocaml_fasta.Tags.t -> Sexplib.Sexp.t
end
module Error :
sig
type string_to_raw_item =
[ `empty_line of Biocaml_pos.t
| `incomplete_input of Biocaml_pos.t * string list * string option
| `malformed_partial_sequence of Biocaml_pos.t * string
| `sequence_is_too_long of Biocaml_pos.t * string ]
type t =
[ `empty_line of Biocaml_pos.t
| `incomplete_input of Biocaml_pos.t * string list * string option
| `malformed_partial_sequence of Biocaml_pos.t * string
| `sequence_is_too_long of Biocaml_pos.t * string
| `unnamed_char_seq of Biocaml_fasta.char_seq
| `unnamed_int_seq of Biocaml_fasta.int_seq ]
val sexp_of_string_to_raw_item :
Biocaml_fasta.Error.string_to_raw_item -> Sexplib.Sexp.t
val string_to_raw_item_of_sexp :
Sexplib.Sexp.t -> Biocaml_fasta.Error.string_to_raw_item
val sexp_of_t : Biocaml_fasta.Error.t -> Sexplib.Sexp.t
val t_of_sexp : Sexplib.Sexp.t -> Biocaml_fasta.Error.t
end
exception Error of Biocaml_fasta.Error.t
val in_channel_to_char_seq_item_stream :
?buffer_size:int ->
?filename:string ->
?tags:Biocaml_fasta.Tags.t ->
Pervasives.in_channel ->
(Biocaml_fasta.char_seq Biocaml_fasta.item, [> Biocaml_fasta.Error.t ])
Core.Result.t Stream.t
val in_channel_to_int_seq_item_stream :
?buffer_size:int ->
?filename:string ->
?tags:Biocaml_fasta.Tags.t ->
Pervasives.in_channel ->
(Biocaml_fasta.int_seq Biocaml_fasta.item, [> Biocaml_fasta.Error.t ])
Core.Result.t Stream.t
val in_channel_to_char_seq_item_stream_exn :
?buffer_size:int ->
?filename:string ->
?tags:Biocaml_fasta.Tags.t ->
Pervasives.in_channel ->
Biocaml_fasta.char_seq Biocaml_fasta.item Stream.t
val in_channel_to_int_seq_item_stream_exn :
?buffer_size:int ->
?filename:string ->
?tags:Biocaml_fasta.Tags.t ->
Pervasives.in_channel ->
Biocaml_fasta.int_seq Biocaml_fasta.item Stream.t
type 'a raw_item =
[ `comment of string | `header of string | `partial_sequence of 'a ]
val in_channel_to_char_seq_raw_item_stream :
?buffer_size:int ->
?filename:string ->
?tags:Biocaml_fasta.Tags.t ->
Pervasives.in_channel ->
(Biocaml_fasta.char_seq Biocaml_fasta.raw_item,
[> Biocaml_fasta.Error.t ])
Core.Result.t Stream.t
val in_channel_to_int_seq_raw_item_stream :
?buffer_size:int ->
?filename:string ->
?tags:Biocaml_fasta.Tags.t ->
Pervasives.in_channel ->
(Biocaml_fasta.int_seq Biocaml_fasta.raw_item,
[> Biocaml_fasta.Error.t ])
Core.Result.t Stream.t
val in_channel_to_char_seq_raw_item_stream_exn :
?buffer_size:int ->
?filename:string ->
?tags:Biocaml_fasta.Tags.t ->
Pervasives.in_channel ->
Biocaml_fasta.char_seq Biocaml_fasta.raw_item Stream.t
val in_channel_to_int_seq_raw_item_stream_exn :
?buffer_size:int ->
?filename:string ->
?tags:Biocaml_fasta.Tags.t ->
Pervasives.in_channel ->
Biocaml_fasta.int_seq Biocaml_fasta.raw_item Stream.t
val char_seq_raw_item_to_string :
Biocaml_fasta.char_seq Biocaml_fasta.raw_item -> string
val int_seq_raw_item_to_string :
Biocaml_fasta.int_seq Biocaml_fasta.raw_item -> string
module Transform :
sig
val string_to_char_seq_raw_item :
?filename:string ->
?tags:Biocaml_fasta.Tags.t ->
unit ->
(string,
(Biocaml_fasta.char_seq Biocaml_fasta.raw_item,
[> Biocaml_fasta.Error.t ])
Core.Result.t)
Biocaml_transform.t
val char_seq_raw_item_to_item :
unit ->
(Biocaml_fasta.char_seq Biocaml_fasta.raw_item,
(Biocaml_fasta.char_seq Biocaml_fasta.item,
[> `unnamed_char_seq of Biocaml_fasta.char_seq ])
Core.Result.t)
Biocaml_transform.t
val char_seq_item_to_raw_item :
?tags:Biocaml_fasta.Tags.t ->
unit ->
(Biocaml_fasta.char_seq Biocaml_fasta.item,
Biocaml_fasta.char_seq Biocaml_fasta.raw_item)
Biocaml_transform.t
val char_seq_raw_item_to_string :
?tags:Biocaml_fasta.Tags.t ->
unit ->
(Biocaml_fasta.char_seq Biocaml_fasta.raw_item, string)
Biocaml_transform.t
val string_to_int_seq_raw_item :
?filename:string ->
?tags:Biocaml_fasta.Tags.t ->
unit ->
(string,
(Biocaml_fasta.int_seq Biocaml_fasta.raw_item,
[> Biocaml_fasta.Error.t ])
Core.Result.t)
Biocaml_transform.t
val int_seq_raw_item_to_item :
unit ->
(Biocaml_fasta.int_seq Biocaml_fasta.raw_item,
(Biocaml_fasta.int_seq Biocaml_fasta.item,
[> `unnamed_int_seq of Biocaml_fasta.int_seq ])
Core.Result.t)
Biocaml_transform.t
val int_seq_item_to_raw_item :
?tags:Biocaml_fasta.Tags.t ->
unit ->
(Biocaml_fasta.int_seq Biocaml_fasta.item,
Biocaml_fasta.int_seq Biocaml_fasta.raw_item)
Biocaml_transform.t
val int_seq_raw_item_to_string :
?tags:Biocaml_fasta.Tags.t ->
unit ->
(Biocaml_fasta.int_seq Biocaml_fasta.raw_item, string)
Biocaml_transform.t
end
module Random :
sig
type specification =
[ `non_sequence_probability of float
| `tags of Biocaml_fasta.Tags.t ]
val specification_of_string :
string ->
(Biocaml_fasta.Random.specification list,
[> `fasta of [> `parse_specification of exn ] ])
Core.Std.Result.t
val get_tags :
[> Biocaml_fasta.Random.specification ] list ->
Biocaml_fasta.Tags.t option
val unit_to_random_char_seq_raw_item :
[> Biocaml_fasta.Random.specification ] list ->
((unit, Biocaml_fasta.char_seq Biocaml_fasta.raw_item)
Biocaml_transform.t, [> `inconsistent_tags of [> `int_sequence ] ])
Core.Result.t
end
val sexp_of_char_seq : Biocaml_fasta.char_seq -> Sexplib.Sexp.t
val char_seq_of_sexp : Sexplib.Sexp.t -> Biocaml_fasta.char_seq
val sexp_of_int_seq : Biocaml_fasta.int_seq -> Sexplib.Sexp.t
val int_seq_of_sexp : Sexplib.Sexp.t -> Biocaml_fasta.int_seq
val sexp_of_item :
('a -> Sexplib.Sexp.t) -> 'a Biocaml_fasta.item -> Sexplib.Sexp.t
val item_of_sexp :
(Sexplib.Sexp.t -> 'a) -> Sexplib.Sexp.t -> 'a Biocaml_fasta.item
val sexp_of_raw_item :
('a -> Sexplib.Sexp.t) -> 'a Biocaml_fasta.raw_item -> Sexplib.Sexp.t
val raw_item_of_sexp :
(Sexplib.Sexp.t -> 'a) -> Sexplib.Sexp.t -> 'a Biocaml_fasta.raw_item
end