hhandika / segul

An ultrafast and memory efficient tool for phylogenomics

Home Page:https://segul.app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SEGUL segul logo

Segul-Tests Crate-IO Crates-Download GH-Release GH-Downloads install with bioconda last-commit License LoC

SEGUL is an ultra-fast, memory-efficient application for working with phylogenomic datasets. We designed it to be easy for beginners in genomic studies (or bioinformatics in general) while providing advanced features for experienced users. It is available as a standalone, zero-dependency command line, GUI applications (called SEGUI), and libraries for Rust, Python, and other programming languages. It runs from your smartphone to High-Performance Computers (see platform support below). As far as we know, this is the only genomic software that can run native on mobile devices. 😉

We optimized SEGUL for speed and memory efficiency. It runs analyses in parallel automatically and is free from data races (thanks to Rust). There is no need to guess the number of cores needed for each run. It can handle large genomic datasets while using minimal computational resources. However, it also provides convenient features for working on smaller datasets (e.g., Sanger datasets). In our tests, it consistently offers a faster and more efficient (low memory footprint) alternative to existing applications for various genomic data wrangling and summarization (see benchmark).

Learn more about SEGUL in the documentation. We welcome feedback if you find any issues, dificulties 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.

Links

Installation

GUI Version

Desktop

Microsoft Store download

Download on the Mac App Store

Get it from the Snap Store

Mobile

Download on the App Store

Get it on Google Play

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

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

Supported sequence formats:

  1. NEXUS
  2. Relaxed PHYLIP
  3. FASTA
  4. FASTQ (gzipped and uncompressed)
  5. Multiple Alignment Format (MAF) (In development)

All of the formats are supported in interleave and sequential versions. Except for FASTQ (DNA only), the app supports both DNA and amino acid sequences.

Supported partition formats:

  1. RaXML
  2. NEXUS

The NEXUS partition can be written as a charset block embedded in NEXUS formatted sequences or a separate file.

Contribution

We welcome any kind of contribution, from issue reporting, ideas to improve the app and documentation, to code contribution. For ideas and issue reporting please post in the Github issues page. For code contribution, please fork the repository and send pull requests to this repository.

About

An ultrafast and memory efficient tool for phylogenomics

https://segul.app

License:MIT License


Languages

Language:Rust 99.9%Language:Shell 0.1%