sig
  exception Bad of string
  type record_type_code = string
  type header_line =
      Comment of string
    | NonComment of Biocaml_sam.record_type_code * (string * string) list
  type header = Biocaml_sam.header_line list
  type alignment = {
    qname : string;
    flag : int;
    rname : string;
    pos : int;
    mapq : int;
    cigar : string;
    rnext : string;
    pnext : int;
    tlen : int;
    seq : string;
    qual : string;
    optional : (string * char * string) list;
  }
  val record_type_code_of_header_line : Biocaml_sam.header_line -> string
  val enum_file :
    string -> Biocaml_sam.header * Biocaml_sam.alignment Batteries.Enum.t
  val header_line_to_string : Biocaml_sam.header_line -> string
  val header_to_string : Biocaml_sam.header -> string
  val alignment_to_string : Biocaml_sam.alignment -> string
end