Skip to content

taffish/mafft

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

taf-mafft

TAFFISH wrapper for MAFFT, a multiple sequence alignment program for amino acid, nucleotide, and RNA structural alignment workflows.

This app packages upstream MAFFT 7.525 as a TAFFISH executable package. It builds the official mafft-7.525-with-extensions-src.tgz source archive in a Debian 12 container image and exposes the upstream mafft command through the versioned taf-mafft command.

Release 7.525-r3 is a help-only TAFFISH update. It keeps the upstream software, Dockerfile, runtime dependencies, smoke tests, and command behavior unchanged from 7.525-r2, and refreshes the terminal taf-mafft --help text.

Package metadata:

name: mafft
command: taf-mafft
version: 7.525-r3
kind: tool
image: ghcr.io/taffish/mafft:7.525-r3
upstream release: v7.525
upstream runtime version: v7.525

Installation

After the TAFFISH Hub index has been updated:

taf update
taf install mafft

Install the exact release:

taf install mafft 7.525-r3

For local testing before the app is published to the public index:

taf install --from .

Usage

Show TAFFISH wrapper help:

taf-mafft --help

Show upstream MAFFT help, version, and manual output:

taf-mafft -- --help
taf-mafft -- --version
taf-mafft -- --man

Align sequences with the default upstream mafft command:

taf-mafft --auto --thread 8 input.fa > aligned.fa

Use high-accuracy aliases:

taf-mafft linsi --thread 8 input.fa > linsi.fa
taf-mafft ginsi --thread 8 input.fa > ginsi.fa
taf-mafft einsi --thread 8 input.fa > einsi.fa

These names are upstream MAFFT strategy aliases, not separate tools. Upstream installs them as symlinks to the same mafft driver script; the script selects the corresponding preset from the invoked command name. For example, linsi and mafft-linsi are the L-INS-i preset, roughly corresponding to mafft --localpair --maxiterate 1000.

Use speed-oriented aliases:

taf-mafft fftns input.fa > fftns.fa
taf-mafft fftnsi input.fa > fftnsi.fa
taf-mafft nwns input.fa > nwns.fa
taf-mafft nwnsi input.fa > nwnsi.fa

Likewise, fftns, fftnsi, nwns, and nwnsi are preset aliases for MAFFT's speed-oriented strategies.

Use the RNA structural alignment helpers from the official with-extensions source archive:

taf-mafft mafft-qinsi rna.fa > qinsi.fa
taf-mafft mafft-xinsi rna.fa > xinsi.fa

Align two existing profile alignments and compute a small distance table:

taf-mafft mafft-profile group1.fa group2.fa > profile.fa
taf-mafft mafft-distance input.fa > distance.tsv

Because this is a command-mode TAFFISH tool, the first non-option argument is treated as an executable inside the container. MAFFT exposes several public commands and aliases in the same image, so command-mode usage is useful:

taf-mafft mafft --help
taf-mafft mafft-linsi --help
taf-mafft mafft-homologs.rb --help
taf-mafft mafft-sparsecore.rb

For option-leading arguments to the default in-container mafft command, the short form is supported:

taf-mafft --auto input.fa > aligned.fa

For wrapper-reserved options such as upstream --help, --version, and --man, use the wrapper delimiter:

taf-mafft -- --help
taf-mafft -- --version
taf-mafft -- --man

MAFFT writes alignments to standard output by default. Redirect output to a file when running normal workflows. Use --thread N for explicit threading; --thread -1 leaves thread selection to MAFFT.

Package

name: mafft
command: taf-mafft
version: 7.525-r3
kind: tool
image: ghcr.io/taffish/mafft:7.525-r3

Container

The container image is built from docker/Dockerfile. It starts from debian:12-slim, downloads the official MAFFT 7.525 with-extensions source archive from the MAFFT source page, verifies this source checksum:

sha256: 2876f4adc1a2de4ed206bc40896763bf208bf1a02bda52f8bfdd91cf52d73e4a

It compiles MAFFT from source with GCC/G++, installs it into /opt/mafft, and enables the upstream DASH client by building with DASH_CLIENT=dash_client. The final image keeps upstream docs, manual pages, sample data, and license files under /opt/mafft/share/doc/mafft.

The Dockerfile performs build-time source checksum, compile, install-layout, and key-file checks. Runtime behavior checks, including upstream help/manual output, script syntax, dynamic linkage, and small alignment workflows, are kept in the TAFFISH smoke metadata so multi-architecture image builds do not depend on QEMU-emulated runtime probes during Docker build.

The image includes:

mafft
linsi, ginsi, einsi
fftns, fftnsi, nwns, nwnsi
mafft-linsi, mafft-ginsi, mafft-einsi
mafft-qinsi, mafft-xinsi
mafft-profile, mafft-distance
mafft-homologs.rb, mafft-sparsecore.rb
bash, perl, ruby, libwww-perl, lynx, man-db, file, gawk, gzip

The linsi/mafft-linsi, ginsi/mafft-ginsi, einsi/mafft-einsi, fftns, fftnsi, nwns, nwnsi, mafft-qinsi, and mafft-xinsi entries are upstream alias symlinks to the MAFFT driver script. They are included because users commonly call those strategy names directly.

The image includes compiled MAFFT core helpers in /opt/mafft/libexec/mafft, including mxscarnamod for the extension-backed RNA structural alignment paths and a statically linked dash_client helper for --dash.

This app supports the common MAFFT command surface:

  • default FFT-NS style alignment through mafft
  • --auto, --thread, --quiet, output format, ordering, seed/profile, and other standard MAFFT options
  • high-accuracy aliases: L-INS-i, G-INS-i, E-INS-i
  • speed aliases: FFT-NS, FFT-NS-i, NW-NS, NW-NS-i
  • group-to-group profile alignment with mafft-profile
  • distance helper with mafft-distance
  • RNA structural alignment helpers mafft-qinsi and mafft-xinsi
  • upstream script syntax for mafft-homologs.rb and mafft-sparsecore.rb
  • upstream mafft --man output

Some upstream options are intentionally not made self-contained because they depend on external tools, local databases, or remote services:

  • --fastapair and --fastaparttree require an external FASTA/fasta34 executable, optionally via FASTA_4_MAFFT.
  • LAST-based paths require lastal and lastdb in MAFFT's binary directory.
  • LaRA paths require mafft_lara.
  • FOLDALIGN paths require foldalign210.
  • DAFS paths require the DAFS executable expected by upstream MAFFT.
  • --contrafold requires an external contrafold executable; the bundled contrafoldwrap helper alone is not enough for that mode.
  • mafft-homologs.rb -l requires local BLAST+/psiblast and a suitable local database.
  • Remote BLAST, MAFFTash, SEEKQUENCER, and DASH paths may require network access and availability of their upstream services.

These boundaries are documented rather than hidden. The smoke test remains offline and does not depend on NCBI, remote alignment services, or large external databases.

The image is built and validated for:

linux/amd64
linux/arm64

The TAFFISH metadata declares a Docker smoke check:

exist: mafft, core aliases, mafft-qinsi, mafft-xinsi, mafft-profile,
       mafft-distance, MAFFT Ruby/Perl helper scripts, and required runtimes
test:  upstream version reports v7.525 (2024/Mar/13)
test:  upstream help and man output are available
test:  public aliases expose the MAFFT v7.525 help surface
test:  hidden helpers, script interpreters, and dynamic libraries are present
test:  a tiny FASTA alignment runs through mafft
test:  L-INS-i, G-INS-i, E-INS-i aliases align a tiny FASTA
test:  FFT-NS, FFT-NS-i, NW-NS, NW-NS-i aliases align a tiny FASTA
test:  mafft-profile and mafft-distance write non-empty expected outputs
test:  mafft-qinsi and mafft-xinsi align the bundled upstream RNA sample
test:  mafft-sparsecore.rb and mafft-homologs.rb basic script entry paths work

During TAFFISH Hub indexing, this smoke metadata verifies that the published image exposes the pinned upstream command suite and can execute core alignment, alias, profile, distance, and RNA-extension paths without network access.

Upstream

The MAFFT homepage currently advertises a newer 7.526 release, but the official source page checked for this app only provides the 7.525 source archives. This release therefore packages the highest official source archive available from the source page, using the with-extensions variant for RNA structural alignment support.

Maintainer Notes

Useful checks before publishing:

taf check
taf build
taf publish --release --dry-run
docker build -t ghcr.io/taffish/mafft:7.525-r3 -f docker/Dockerfile .
docker build --platform linux/amd64 -t ghcr.io/taffish/mafft:7.525-r3-amd64-test -f docker/Dockerfile .
docker run --rm ghcr.io/taffish/mafft:7.525-r3 mafft --version
docker run --rm ghcr.io/taffish/mafft:7.525-r3 mafft --help

The repository wrapper files are licensed under Apache-2.0. Upstream MAFFT core is distributed under a BSD-style license, and the with-extensions components are distributed under their own upstream licenses and redistribution terms.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors