Parsing and printing of BAM files.
module Biocaml_bam: sigstring buffers to raw_items
(minimal parsing), and conversion from raw_items to Sam.items
(higher-level constructs).type |    | qname :  | |||
|    | flag :  | |||
|    | ref_id :  | |||
|    | pos :  | (* | Positions are 0-based, -1 if undefined | *) | 
|    | mapq :  | |||
|    | bin :  | |||
|    | cigar :  | |||
|    | next_ref_id :  | |||
|    | pnext :  | |||
|    | tlen :  | |||
|    | seq :  | |||
|    | qual :  | |||
|    | optional :  | 
    The rather meaningless names come from the “almost official”
    specification of the format (c.f.
    SAM1.pdf).
typeraw_item =[ `alignment of raw_alignment
| `header of string
| `reference_information of (string * int) array ]
module Error: sigtyperaw_bam =[ `read_name_not_null_terminated of string
| `reference_information_name_not_null_terminated of string
| `reference_information_overflow of int * string
| `wrong_int32 of string
| `wrong_magic_number of string ]
typeparse_optional =[ `wrong_auxiliary_data of
[ `array_size of int
| `null_terminated_hexarray
| `null_terminated_string
| `out_of_bounds
| `unknown_type of char
| `wrong_int32 of string ] * string ]
typeparse_cigar =[ `wrong_cigar of string | `wrong_cigar_length of int ]
typeraw_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 Biocaml_bam.raw_alignment
| `wrong_auxiliary_data of
[ `array_size of int
| `null_terminated_hexarray
| `null_terminated_string
| `out_of_bounds
| `unknown_type of char
| `wrong_int32 of string ] * string
| `wrong_cigar of string
| `wrong_cigar_length of int
| `wrong_flag of Biocaml_bam.raw_alignment
| `wrong_mapq of Biocaml_bam.raw_alignment
| `wrong_pnext of Biocaml_bam.raw_alignment
| `wrong_pos of Biocaml_bam.raw_alignment
| `wrong_qname of Biocaml_bam.raw_alignment
| `wrong_tlen of Biocaml_bam.raw_alignment ]
raw_items to
      Sam.items.typeitem_to_raw =[ `cannot_get_sequence of Biocaml_sam.alignment
| `header_item_not_first of string
| `reference_name_not_found of Biocaml_sam.alignment * string ]
Sam.item to a raw_item.typet =[ `cannot_get_sequence of Biocaml_sam.alignment
| `header_item_not_first of string
| `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
| `read_name_not_null_terminated of string
| `reference_information_name_not_null_terminated of string
| `reference_information_overflow of int * string
| `reference_name_not_found of Biocaml_sam.alignment * string
| `reference_sequence_not_found of Biocaml_bam.raw_alignment
| `wrong_auxiliary_data of
[ `array_size of int
| `null_terminated_hexarray
| `null_terminated_string
| `out_of_bounds
| `unknown_type of char
| `wrong_int32 of string ] * string
| `wrong_cigar of string
| `wrong_cigar_length of int
| `wrong_flag of Biocaml_bam.raw_alignment
| `wrong_int32 of string
| `wrong_magic_number of string
| `wrong_mapq of Biocaml_bam.raw_alignment
| `wrong_pnext of Biocaml_bam.raw_alignment
| `wrong_pos of Biocaml_bam.raw_alignment
| `wrong_qname of Biocaml_bam.raw_alignment
| `wrong_tlen of Biocaml_bam.raw_alignment ]
val raw_bam_of_sexp : Sexplib.Sexp.t -> raw_bamval sexp_of_raw_bam : raw_bam -> Sexplib.Sexp.tval parse_optional_of_sexp : Sexplib.Sexp.t -> parse_optionalval sexp_of_parse_optional : parse_optional -> Sexplib.Sexp.tval parse_cigar_of_sexp : Sexplib.Sexp.t -> parse_cigarval sexp_of_parse_cigar : parse_cigar -> Sexplib.Sexp.tval raw_to_item_of_sexp : Sexplib.Sexp.t -> raw_to_itemval sexp_of_raw_to_item : raw_to_item -> Sexplib.Sexp.tval item_to_raw_of_sexp : Sexplib.Sexp.t -> item_to_rawval sexp_of_item_to_raw : item_to_raw -> Sexplib.Sexp.tendIn_channel Functionsexception Error of [ `bam of Error.t | `unzip of Biocaml_zip.Error.unzip ]
*_exn functions in this module.val in_channel_to_raw_item_stream : ?zlib_buffer_size:int ->
       ?buffer_size:int ->
       Pervasives.in_channel ->
       (raw_item,
        [> `bam of [> Error.raw_bam ]
         | `unzip of [> Biocaml_zip.Error.unzip ] ])
       Core.Result.t Stream.tval in_channel_to_raw_item_stream_exn : ?zlib_buffer_size:int ->
       ?buffer_size:int -> Pervasives.in_channel -> raw_item Stream.tStream.next may throw an Error _ exception).val in_channel_to_item_stream : ?zlib_buffer_size:int ->
       ?buffer_size:int ->
       Pervasives.in_channel ->
       (Biocaml_sam.item,
        [> `bam of [> Error.t ] | `unzip of [> Biocaml_zip.Error.unzip ] ])
       Core.Result.t Stream.tSam.item results from an input-channel.val in_channel_to_item_stream_exn : ?zlib_buffer_size:int ->
       ?buffer_size:int -> Pervasives.in_channel -> Biocaml_sam.item Stream.tSam.items from an input-channel (any call to
    Stream.next may throw an Error _ exception).Transform.t Creations module Transform: sigTransform.t implementations.val raw_to_item : unit ->
       (Biocaml_bam.raw_item,
        (Biocaml_sam.item, [> Biocaml_bam.Error.raw_to_item ]) Core.Result.t)
       Biocaml_transform.traw_items to the higher-level representation
      defined in the Biocaml_sam module.val string_to_raw : ?zlib_buffer_size:int ->
       unit ->
       (string,
        (Biocaml_bam.raw_item,
         [> `bam of Biocaml_bam.Error.raw_bam | `unzip of Biocaml_zip.Error.unzip ])
        Core.Result.t)
       Biocaml_transform.tzlib_buffer_size is passed to the Biocaml_zip module.val item_to_raw : unit ->
       (Biocaml_sam.item,
        (Biocaml_bam.raw_item, [> Biocaml_bam.Error.item_to_raw ]) Core.Result.t)
       Biocaml_transform.tSam.items to raw_items.val raw_to_string : ?gzip_level:int ->
       ?zlib_buffer_size:int ->
       unit -> (Biocaml_bam.raw_item, string) Biocaml_transform.traw_items in the BAM format.
      The gzip_level and zlib_buffer_size options are passed to
      the Biocaml_zip module.endval parse_cigar : ?pos:int ->
       ?len:int ->
       string ->
       (Biocaml_sam.cigar_op array, [> Error.parse_cigar ])
       Core.Result.traw_alignment.cigar).val parse_optional : ?pos:int ->
       ?len:int ->
       string ->
       (Biocaml_sam.optional_content, [> Error.parse_optional ])
       Core.Result.traw_alignment.optional).val raw_alignment_of_sexp : Sexplib.Sexp.t -> raw_alignmentval sexp_of_raw_alignment : raw_alignment -> Sexplib.Sexp.tval raw_item_of_sexp : Sexplib.Sexp.t -> raw_itemval sexp_of_raw_item : raw_item -> Sexplib.Sexp.tend