Skip to content

Repository files navigation

Build crates.io DOI

Termal

Termal is a terminal-based viewer for multiple sequence alignments, designed for fast, keyboard-driven navigation in local and remote (SSH/HPC) environments.

It requires no installer, has no runtime dependencies, and runs directly in a terminal.

termal-export is a companion program that generates publication-ready SVG figures from multiple sequence alignments. It supports row/column filtering and multiple color schemes. For help, do:

termal-export --help

Installation

Prebuilt binaries

Download a prebuilt binary from the GitHub Releases page: https://github.com/sib-swiss/termal/releases

Unpack the archive and run the binary directly. The archive also contains a manual (termal-manual.md and termal-manual.pdf), as well as examples of custom colormaps and ordering files and assorted sample alignments.

termal data/example-1.msa
termal -f stockholm data/PF00244.26.sto
termal -o data/OX_OFA-pg2.order data/OX_OFA-pg2.msa
termal -c data/colormaps/gecos_default.json data/example-1.msa

macOS users may need to remove the quarantine flag:

xattr -d com.apple.quarantine ./termal

From source (Cargo)

Install the TUI viewer:

cargo install termal-msa

Install the figure generator:

cargo install termal-export

Both are standalone binaries. termal-export can be used independently of termal-msa.


Workspace

This is a Rust workspace with three crates:

  • termal-alignment — Core library for alignment parsing and metrics (zero external dependencies). Published to crates.io; used by both tools.
  • termal-msa — Interactive terminal viewer. Published to crates.io as termal-msa.
  • termal-export — SVG figure generator for publication. Published to crates.io as termal-export.

Both binaries depend on termal-alignment for alignment I/O and metric computation.

About

Terminal-based multiple sequence alignment (MSA) viewer designed for remote and HPC bioinformatics workflows.

Topics

Resources

Stars

34 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages