let t_to_string = function
| `sequence_and_qualities_do_not_match (pos, s,q) ->
sprintf "[%s]: sequence and qualities do not match (%d Vs %d characters)"
(Pos.to_string pos) String.(length s) String.(length q)
| `wrong_comment_line (pos, line) ->
sprintf "[%s]: wrong comment line: %S"
(Pos.to_string pos) (string_sample line 14)
| `wrong_name_line (pos, line) ->
sprintf "[%s]: wrong name line: %S"
(Pos.to_string pos) (string_sample line 14)
| `incomplete_input (pos, sl, so) ->
sprintf "[%s]: end-of-stream reached with incomplete input: %S"
(Pos.to_string pos)
(String.concat ~sep:"\n" sl ^ Option.value ~default:"" so)