let rec default_extension: file_format -> string = function
| `gzip t -> sprintf "%s.gz" (default_extension t)
| `raw_zip t -> sprintf "%s.rawzip" (default_extension t)
| `gff _ -> "gff"
| `wig _ -> "wig"
| `bam -> "bam"
| `sam -> "sam"
| `bed -> "bed"
| `fastq -> "fastq"
| `fasta _ -> "fasta"
| `table tags -> Biocaml_table.Row.Tags.default_extension tags