Introduction
Thank you for using SEGUL! 🙏🏻
We develop SEGUL (SEquence and Genomic UtiLities) to address the need for a high-performance and accessible phylogenomic tool. It is particularly well-suited for large-scale phylogenomic projects, especially those involving thousands of loci and hundreds of samples. Additionally, SEGUL is capable of handling small Sanger sequences effectively.
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.
If you are interested in reading the journal article but do not have access to it, you can request a copy from the authors on ResearchGate.
Platform Support
Desktop
Platform | GUI | CLI |
---|---|---|
Linux | ✅ | ✅ |
MacOS | ✅ | ✅ |
Windows | ✅ | ✅ |
Windows Subsystem for Linux (WSL) | ❌ | ✅ |
Mobile
Platform | GUI | CLI |
---|---|---|
iOS | ✅ | ❌ |
iPadOS | ✅ | ❌ |
Android | ✅ | ❌ |
Quick Start ⏱️
Command line (CLI) vs GUI
If your answer is yes to any of the following questions, you should use the CLI version of the app. Otherwise, either GUI or CLI will serve your need.
- Are you planning to run the app on non-GUI environment, such as a HPC cluster?
- Do you run SEGUL as part of a pipeline?
- Do you you need the utmost efficiency?
Learn more about the differences between the CLI and GUI version here.
Installation
Follow the installation instruction for your operating system. The fastest installation route for CLI is using the pre-compiled binaries here. Get the most up to date link for GUI installation here.
Usage
Feature Quick Links
Feature | Quick Link |
---|---|
Alignment concatenation | CLI / GUI |
Alignment conversion | CLI / GUI |
Alignment filtering | CLI / GUI |
Alignment splitting | CLI / GUI |
Alignment partition conversion | CLI / GUI |
Alignment summary statistics | CLI / GUI |
Genomic summary statistics | CLI / GUI |
Sequence extraction | CLI / GUI |
Sequence ID extraction | CLI / GUI |
Sequence ID mapping | CLI / GUI |
Sequence ID renaming | CLI / GUI |
Sequence removal | CLI / GUI |
Sequence translation | CLI / GUI |
Log file | CLI / GUI |
Supported File Formats
Supported input formats for Genomic tasks:
File Format | Description | Supported extensions |
---|---|---|
FASTQ | For read summary statistics. Support compressed and uncompressed format. | .fastq , .fq |
FASTA | For contig summary statistics. | .fasta , .fa , .fna , .fsa , .fas |
Supported input and output file formats for Alignment and Sequence tasks:
File Format | Description | Supported extensions |
---|---|---|
FASTA | Include support for interleaved format. | .fasta , .fa , .fna , .fsa , .fas |
PHYLIP | Support relaxed-phylip only. Include support for interleaved format. Learn the differences here. | .phy , .phylip , .ph |
NEXUS | Include support for interleaved format. | .nexus , .nex , .nxs |
Supported input and output partition formats:
File Format | Description | Supported extensions |
---|---|---|
RAxML | RAxML partition file. | .txt , .part , .partition |
NEXUS | NEXUS partition file. | .nexus , .nex , .nxs |
SEGUL CLI can handle non-standard file extensions that are not listed above. Use the --format
option to set the input format. The GUI version will not allow inputting non-standard file extensions. You can change the file extension to one of the supported file extensions or use the CLI version.
Example Dataset
We provide sample datasets to help you get started or test the app if you find any issues using your own datasets. The datasets include small alignments in SEGUL supported formats. Due to the large file sizes, we are unable to provide genomic datasets. You can download the genomic data from public repositories, such as NCBI SRA.
Dataset | Link |
---|---|
FASTA | Download |
Nexus | Download |
Relaxed-Phylip | Download |
Interleaved Relaxed-Phylip | Download |
Concatenated Nexus | Download |
GUI Usage
- Open the app.
- Use the navigation bar to select the feature you want to use. For example, if you want to concatenate alignments, click the "Alignments" button.
- Use the dropdown menu to select the task. For alignment concatenation, select "Concatenate alignments".
- Add the input files by clicking the "Add file" button. On desktop platforms, you can also input a directory by clicking the "Add directory" button. The app will look for matching files in the directory.
- All the input files will be displayed in the input tab bar. You can remove the file by clicking the "Remove" button. Removing the file will only remove it from input list and not from the file system.
- Add the output directory by clicking the "Add output directory" button. On mobile platforms, the directory will be the default directory for the app.
- For some tasks, you also need to add the parameters. For example, if you want to filter alignments, you need to add the filtering parameters.
- Click the "Run" button to start the task.
- Once it's done, the app will display the output in the output tab bar. You can also tab the file to open it in the app file viewer. Current version only support plain text and comma-separated (CSV) data.
- You can also share the output. There are two share options. The quick share will create a zip file containing the output and share it using the system share sheet. You can also share individual files by clicking the share button on the file output viewer.
The GUI version is still in beta. If you encounter any issues, please report them to the issue tracker.
CLI Usage
segul
command is structured as follows:
segul <command> <subcommand> --option1 value1 --option2 value2
For example, to concatenate alignments:
segul align concat --dir alignments/ --output aln-concat
See the command usage section for more detailed usage.
The commands below expect SEGUL version 0.19.0+. If you are using lower version, the subcommand become the command and dir input option required input format.
For example:
segul alignment concat -d <input-directory>
In the version lower than 0.19.0, the command above will be:
segul concat -d <input-directory> -f <input-format>
Feature | Commands |
---|---|
Alignment concatenation | segul align concat -d <input-directory> |
Alignment conversion | segul align convert -d <input-directory> |
Alignment filtering | segul align filter -d <input-directory> <filtering-options> |
Alignment splitting | segul align split -d <input-directory> |
Alignment partition conversion | segul partition convert -d <input-directory> |
Alignment summary statistics | segul align summary -d <input-directory> |
Contig summary statistics | segul contig summary -d <input-directory> |
Read summary statistics | segul read summary -d <input-directory> |
Sequence extraction | segul sequence extract -d <input-directory> <extraction-options> |
Sequence ID extraction | segul sequence id -d <input-directory> |
Sequence ID mapping | segul sequence id --map -d <input-directory> |
Sequence ID renaming | segul sequence rename -d <input-directory> |
Sequence removal | segul sequence remove -d <input-directory> |
Sequence translation | segul sequence translate -d <input-directory> |
Main help | segul --help |
Command help | segul <command> --help |
Subcommand help | segul <command> <subcommand> --help |
Helps & Supports
If you have any questions, issues, or suggestions, please let us know. Learn more here.