60 releases
Uses new Rust 2024
| 0.23.2 | Jan 30, 2026 |
|---|---|
| 0.22.1 | Aug 8, 2024 |
| 0.21.3 | May 15, 2024 |
| 0.21.0 | Feb 22, 2024 |
| 0.3.2 | Jul 31, 2021 |
#803 in Command line utilities
217 downloads per month
Used in ullar
530KB
13K
SLoC
SEGUL 
SEGUL simplifies complex, tedious, and error-prone data wrangling and summarization for genomics and Sanger datasets. We develop it to be easy for beginners while providing advanced features for experienced users. SEGUL is also a high performance and memory efficient genomic tool. In our tests, it consistently offers a faster and more efficient (low memory footprint) alternative to existing applications for various genomic tasks (see benchmark).
SEGUL runs on many software platforms, from mobile devices and personal computers to high-performance computing clusters. It is available as a command-line interface (CLI), a graphical user interface (GUI) application, and a Rust library and Python package (see platform support below). SEGUL is part of our ongoing effort to ensure that genomic software is accessible to everyone, regardless of their bioinformatic skills and computing resources.
Learn more about SEGUL in the documentation. We welcome feedback if you find any issues, difficulties or have ideas to improve the app and its documentation (details below).
Citation
Handika, H., and J. A. Esselstyn. 2024. SEGUL: Ultrafast, memory-efficient and mobile-friendly software for manipulating and summarizing phylogenomic datasets. Molecular Ecology Resources. https://doi.org/10.1111/1755-0998.13964.
Essential Links
- App Documentation: EN
- API Documentation: Rust • Python
- GUI: Source code • Installation • App Store • Google Play • Snap Store • Microsoft Store
- CLI: Downloads • Docs
- Bioconda (CLI): Package • Docs
- Python package: Source code • PyPI • Docs
What's New in SEGUL 0.23.0
New Features 🚀
- Convert alignments to unaligned sequences.
- Add sequence to an existing sequence files/alignments.
- Trim alignments.
- New options for filtering alignments (see details):
- Minimum or maximum sequence length.
- Minimum or maximum of parsimony informative sites
- Minimum taxon counts
- Based on user-defined list of sequence IDs.
Breaking Changes ⚠️
- Filtering argument changes for better consistency (see docs).
- Remove
--ntaxoption from alignment filtering because SEGUL can automatically and fastly detect the number of sequences in the alignment.
Bug Fixes 🐛
- Fix max-gap filtering issues.
- Fix concatenation leading to missing data when sequence IDs in FASTA files contain trailing whitespace.
Other Changes 🛠
- Migrate to Rust 2024 edition.
- Update dependencies.
Supported File Formats
Sequence formats:
- NEXUS
- Relaxed PHYLIP
- FASTA
- FASTQ (gzipped and uncompressed)
- Multiple Alignment Format (MAF) (In development)
- Variant Call Format (VCF) (In development)
All formats are supported in interleave and sequential versions. The app supports DNA and amino acid sequences, except for FASTQ, MAF, and VCF (DNA only).
Alignment partition formats:
- RaXML
- NEXUS
The NEXUS partition can be written as a charset block embedded in NEXUS formatted sequences or a separate file.
Installation
GUI Version
Desktop
Mobile
Learn more about device requirements and GUI app installation in the documentation.
CLI Version
The CLI app may work in any Rust-supported platform. However, we only tested and officially support the following platforms:
- Linux
- MacOS
- Windows
- Windows Subsystem for Linux (WSL)
CLI Installation Methods
- Pre-compiled binaries: [Releases] [Docs]
- Bioconda: [Package] [Docs]
- Package manager: [Docs]
- From source: [Docs]
- Beta version: [Docs]
API version
The API version is available for Rust and other programming languages. For Rust users, you can install it via Cargo:
cargo add segul
Python
We provide binding for Python (called pysegul). Use SEGUL just like any other Python package:
pip install pysegul
Learn more about using SEGUL API in the documentation.
Features
NOTES: To try beta features, follow the installation instruction for the beta version.
| Features | Supported Input Formats | Guideline Quick Links |
|---|---|---|
| Alignment concatenation | FASTA, NEXUS, PHYLIP | CLI / GUI / Python |
| Alignment conversion | FASTA, NEXUS, PHYLIP | CLI / GUI / Python |
| Alignment filtering | FASTA, NEXUS, PHYLIP | CLI / GUI / Python |
| Alignment splitting | FASTA, NEXUS, PHYLIP | CLI / GUI / Python |
| Alignment partition conversion | RaXML, NEXUS | CLI / GUI / Python |
| Alignment summary statistics | FASTA, NEXUS, PHYLIP | CLI / GUI / Python |
| Alignment trimming | FASTA, NEXUS, PHYLIP | CLI (Beta) / Coming soon |
| Genomic summary statistics | FASTQ, FASTA (contigs) | CLI / GUI / Python |
| Multiple alignment conversion | MAF | CLI (Beta) / Coming soon |
| Sequence addition | FASTA, NEXUS, PHYLIP | CLI (Beta) / Coming soon |
| Sequence extraction | FASTA, NEXUS, PHYLIP | CLI / GUI / Python |
| Sequence filtering | FASTA, NEXUS, PHYLIP | CLI / Coming soon |
| Sequence ID extraction | FASTA, NEXUS, PHYLIP | CLI / GUI / Python |
| Sequence ID mapping | FASTA, NEXUS, PHYLIP | CLI / GUI / Python |
| Sequence ID renaming | FASTA, NEXUS, PHYLIP | CLI / GUI / Coming soon |
| Sequence removal | FASTA, NEXUS, PHYLIP | CLI / GUI / Python |
| Sequence translation | FASTA, NEXUS, PHYLIP | CLI / GUI / Python |
Contribution
We welcome any contribution, from issue reporting and ideas to improve the app and documentation to code contribution. For ideas and issue reporting, please post on the Github issues page. For code contribution, please fork the repository and send pull requests to this repository.
Dependencies
~27MB
~462K SLoC
