struct
type parse_optional = [
| `wrong_auxiliary_data of
[ `array_size of int
| `null_terminated_hexarray
| `null_terminated_string
| `wrong_int32 of string
| `out_of_bounds
| `unknown_type of char ] * string
]
with sexp
type raw_bam = [
| `read_name_not_null_terminated of string
| `reference_information_name_not_null_terminated of string
| `reference_information_overflow of int * string
| `wrong_magic_number of string
| `wrong_int32 of string
]
with sexp
type parse_cigar = [
| `wrong_cigar of string
| `wrong_cigar_length of int ]
with sexp
type raw_to_item = [
| `header_line_not_first of int
| `header_line_without_version of (string * string) list
| `header_line_wrong_sorting of string
| `invalid_header_tag of int * string
| `invalid_tag_value_list of int * string list
| `reference_sequence_not_found of raw_alignment
| parse_optional
| parse_cigar
| `wrong_flag of raw_alignment
| `wrong_mapq of raw_alignment
| `wrong_pnext of raw_alignment
| `wrong_pos of raw_alignment
| `wrong_qname of raw_alignment
| `wrong_tlen of raw_alignment ]
with sexp
type item_to_raw =
[ `cannot_get_sequence of Sam.alignment
| `header_item_not_first of string
| `reference_name_not_found of Sam.alignment * string ]
with sexp
type t = [ raw_bam | raw_to_item | item_to_raw ] with sexp
end