htsfile(1)

✨ htsfile(1) β€” identify high-throughput sequencing data files ✨

okay so this is from the Bioinformatics tools manual set, and bestie, it's genuinely one of the most useful little gremlins in the toolbox πŸ’…


🌸 SYNOPSIS 🌸

htsfile [-chHv] FILE...
htsfile --copy [-v] FILE DESTFILE

πŸ¦‹ DESCRIPTION πŸ¦‹

The htsfile utility attempts to identify what kind of high-throughput sequencing data files the specified files are, and provides minimal viewing capabilities for some kinds of data file. That's it, that's the whole vibe β€” it's the "what even are you" tool 🫢

It can identify sequencing data files such as SAM, BAM, and CRAM; variant calling data files such as VCF and BCF; index files used to index these data files; and compressed versions of many of them. lowkey iconic range ngl πŸ‘‘

For each FILE given, htsfile prints a description of the file format determined, using similar keyword conventions to file(1): "text" indicates a textual file that can probably be viewed on a terminal; "data" indicates binary data; "sequence", "variant calling", and "index" indicate different categories of data file. And when it can be identified, the name of the particular file format (such as "BAM" or "VCF") is printed at the start of the description. cute right 🌈

When used to view file contents as text, htsfile can optionally show only headers or only data records, but has no other filtering capabilities. So like... it's giving chill. Use samtools or bcftools if you need more extensive viewing or filtering capabilities β€” that's a whole different main character energy 😀

Alternatively, when --copy is used, htsfile takes exactly two arguments and performs a byte-for-byte copy from FILE to DESTFILE. This is similar to cp(1), but HTSlib's remote file access facilities are available for both source and destination. remote-to-remote glow-up fr fr ✨

The following options are accepted:


πŸŽ€ OPTIONS πŸŽ€

  • -c, --view β€” Instead of identifying the specified files, display a textual representation of their contents on standard output.

By default, --view refuses to display files in unknown formats. When --verbose is also given, the raw contents of such files are displayed, with non-printable characters shown via C-style "\x" hexadecimal escape sequences. so chaotic, so useful πŸ’€

  • -C, --copy β€” Instead of identifying or displaying the specified files, copy the source FILE to the destination DESTFILE. Only --verbose may be used in conjunction with --copy. that's a hard limit bestie, don't mix and match πŸ™ˆ
  • -h, --header-only β€” Display data file headers only. Implies --view. headers girlies rise 🌸
  • -H, --no-header β€” When viewing files, display data records only. skip the intro, straight to the content πŸ’…
  • -v, --verbose β€” Display additional warnings and diagnostic messages. Using --verbose repeatedly further raises the verbosity. yes you can stack it. yes it gets louder. πŸ—£οΈπŸ”₯

πŸ’œ SEE ALSO πŸ’œ

bcftools(1), file(1), samtools(1)

fr go read those too, they're the besties this one hangs out with 🫢

and that's the whole page bestie, no notes πŸ’–

htslib-1.24 🌟 9 July 2026 β€” mwah, that's the version and the date, catch you in the next manpage πŸ‘‘βœ¨πŸŽ€

πŸ“¦ where this page comes from