#cli #utility #alignment #genomics #phylogenomics

bin+lib segul

An ultrafast and memory efficient tool for phylogenomics

51 releases

0.19.2 Jul 9, 2023
0.18.1 Sep 21, 2022
0.17.0 Jul 1, 2022
0.16.3 Mar 10, 2022
0.3.2 Jul 31, 2021

#805 in Science

Download history 8/week @ 2023-08-05 54/week @ 2023-08-12 54/week @ 2023-08-26 3/week @ 2023-09-02 53/week @ 2023-09-09 58/week @ 2023-09-16 5/week @ 2023-09-23 3/week @ 2023-09-30 2/week @ 2023-10-14 3/week @ 2023-10-21 97/week @ 2023-10-28 11/week @ 2023-11-04 2/week @ 2023-11-11 4/week @ 2023-11-18

115 downloads per month

MIT license

465KB
9K SLoC

SEGUL segul logo

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

SEGUL is an ultra-fast, memory-efficient application for working with phylogenomic datasets. It is available as standalone, zero dependency command line, GUI applications (called SEGUI), and library/packages for Rust and other programming languages. It runs from your smartphone to High Performance Computers (see platform support below). It is safe, multi threaded, and easy to use.

It is designed to handle operations on 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 a variety of sequence alignment manipulations (see benchmark).

Features

Big changes in the version 0.19.0+ 💪🏼

  • New command structure. Check quick start instruction to see the most up to date commands. We are working on updating the documentation throughout the website.
  • New command to calculate summary statistics for raw reads and contigs.
  • Input dir -d or --dir now can infer input format based on the file extension. No need to specify the input format anymore.
  • Beta GUI version coming soon. We are cleaning up some bugs. Test alpha version here.

Bug fixes:

  • Fix translation table errors.
  • Update deprecated dependencies.
  • Fix extract output issues.

Full feature list

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
Contig summary statistics CLI / GUI
Raw read summary statistics CLI / GUI
Sample distribution mapping CLI / GUI
Sequence extraction CLI / GUI
Sequence ID parsing CLI / GUI
Sequence ID renaming CLI / GUI
Sequence removal CLI / GUI
Sequence translation CLI / GUI

Supported sequence formats:

  1. NEXUS
  2. Relaxed PHYLIP
  3. FASTA
  4. FASTQ (gzipped and uncompressed)

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.

Supported Platforms

The CLI app may work in any Rust supported platform. For both CLI and GUI, below is a list of operating system that we tested and is guaranteed to work:

  • Linux (CLI)
  • MacOS (GUI and CLI)
  • Windows (GUI and CLI)
  • Windows Subsystem for Linux (WSL) (CLI)
  • iOS (GUI)
  • iPadOS (GUI)
  • Android (GUI and CLI using Termux)

For Windows (including WSL) users, we recommend using Windows Terminal to ensure consistent terminal output. Windows Terminal requires separate installation for Windows 10. It should come pre-installed on Windows 11.

Contribution

We welcome any kind of contribution, from issue reporting, ideas to improve the app, 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.

Dependencies

~11–26MB
~345K SLoC