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).
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.
- App Documentation: [EN]
- API Documentation: [Rust]
- GUI: [Source code]
- Python API: [Source code] [PyPI]
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.
Learn more about device requirements and GUI app installation in the documentation.
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)
- Pre-compiled binaries: [Releases] [Docs]
- Conda: [Package] [Docs]
- Package manager: [Docs]
- From source: [Docs]
- Beta version: [Docs]
The API version is available for Rust and other programming languages. For Rust users, you can install it via Cargo:
cargo add segul
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.
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 |
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.