---
name: "mmseqs"
section: "1"
platform: "linux"
package: "mmseqs2"
version: "15-6f452+ds-2+b3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/mmseqs"
---

# mmseqs(1)

MMseqs2 (Many against Many sequence searching): fast, parallelized protein sequence searches and clustering of huge protein sequence data sets.

## NAME

MMseqs2 - MMseqs2 (Many against Many sequence searching): fast, parallelized protein sequence searches and clustering of huge protein sequence data sets.

## SYNOPSIS

**mmseqs** *\<module\>* *args*

## DESCRIPTION

MMseqs2 (Many-against-Many sequence searching) is a software suite to search and cluster huge proteins/nucleotide sequence sets. MMseqs2 is open source GPL-licensed software implemented in C++ for Linux,  MacOS, and (as beta version, via cygwin) Windows. The software is designed to run on multiple cores and servers and exhibits very good scalability. MMseqs2 can run 10000 times faster than BLAST.  At 100 times its speed it achieves almost the same sensitivity. It can perform profile searches with the same sensitivity as PSI-BLAST at over 400 times its speed.

The following depicts the different *\<module\>* that can be used.

Easy workflows (for non-experts)

An example for running a command using easy-\* modules would be **mmseqs** easy-search *\<DB\>* *\<targetDB\>*\

- easy-search

  Search with a query fasta against target fasta (or database) and return a BLAST-compatible result in a single step

- easy-linsearch

  Linear time search with a query fasta against target fasta (or database) and return a BLAST-compatible result in a single step

- easy-linclust

  Compute clustering of a fasta/fastq database in linear time. The workflow outputs the representative sequences, a cluster tsv and a fasta-like format containing all sequences.

- easy-cluster

  Compute clustering of a fasta database. The workflow outputs the representative sequences, a cluster tsv and a fasta-like format containing all sequences.

- easy-taxonomy

  Compute taxonomy and lowest common ancestor for each sequence. The workflow outputs a taxonomic classification for sequences and a hierarchical summery report.

Main tools  (for non-experts)

- createdb

  Convert protein sequence set in a FASTA file to MMseqs sequence DB format

- search

  Search with query sequence or profile DB (iteratively) through target sequence DB

- linsearch

  Search with query sequence  DB through target sequence DB

- map

  Fast ungapped mapping of query sequences to target sequences.

- cluster

  Compute clustering of a sequence DB (quadratic time)

- linclust

  Cluster sequences of \>30% sequence identity \*in linear time\*

- createindex

  Precompute index table of sequence DB for faster searches

- createlinindex

  Precompute index for linsearch

- enrich

  Enrich a query set by searching iteratively through a profile sequence set.

- rbh

  Find reciprocal best hits between query and target

- clusterupdate

  Update clustering of old sequence DB to clustering of new sequence DB

Utility tools for format conversions

- createtsv

  Create tab-separated flat file from prefilter DB, alignment DB, cluster DB, or taxa DB

- convertalis

  Convert alignment DB to BLAST-tab format or specified custom-column output format

- convertprofiledb

  Convert ffindex DB of HMM files to profile DB

- convert2fasta

  Convert sequence DB to FASTA format

- result2flat

  Create a FASTA-like flat file from prefilter DB, alignment DB, or cluster DB

- createseqfiledb

  Create DB of unaligned FASTA files (1 per cluster) from sequence DB and cluster DB

Taxonomy tools

- taxonomy

  Compute taxonomy and lowest common ancestor for each sequence.

- createtaxdb

  Annotates a sequence database with NCBI taxonomy information

- addtaxonomy

  Add taxonomy information to result database.

- lca

  Compute the lowest common ancestor from a set of taxa.

- taxonomyreport

  Create Kraken-style taxonomy report.

- filtertaxdb

  Filter taxonomy database.

Multi-hit search tools

- multihitdb

  Create sequence database and associated metadata for multi hit searches

- multihitsearch

  Search with a grouped set of sequences against another grouped set

- besthitperset

  For each set of sequences compute the best element and updates the p-value

- combinepvalperset

  For each set compute the combined p-value

- summerizeresultsbyset

  For each set compute summary statistics, such as spread-pvalue etc.

- resultsbyset

  For each set compute the combined p-value

- mergeresultsbyset

  Merge results from multiple orfs back to their respective contig

Utility tools for clustering

- mergeclusters

  Merge multiple cluster DBs into single cluster DB

Core tools (for advanced users)

- prefilter

  Search with query sequence / profile DB through target DB (k-mer matching + ungapped alignment)

- ungappedprefilter

  Search with query sequence / profile DB through target DB and compute optimal ungapped alignment score

- align

  Compute Smith-Waterman alignments for previous results (e.g. prefilter DB, cluster DB)

- alignall

  Compute all against all Smith-Waterman alignments for a results (e.g. prefilter DB, cluster DB)

- transitivealign

  Transfers alignments by transitivity via a center star alignment

- clust

  Cluster sequence DB from alignment DB (e.g. created by searching DB against itself)

- kmermatcher

  Finds exact $k$-mers matches between sequences

- kmersearch

  Search with query sequence through target DB.  (k-mer matching)

- kmerindexdb

  Finds exact $k$-mers matches between sequences and stores them as index

- clusthash

  Cluster sequences of same length and \>90% sequence identity \*in linear time\*

Utility tools to manipulate DBs

- compress

  Compresses a database.

- decompress

  Decompresses a database.

- apply

  Passes each input database entry to stdin of the specified program, executes it and writes its stdout to the output database.

- extractorfs

  Extract open reading frames from all six frames from nucleotide sequence DB

- extractframes

  Extract frames reading frames from a nucleotide sequence DB

- orftocontig

  Obtain location information of extracted orfs with respect to their contigs in alignment format

- reverseseq

  Reverse each sequence in a DB

- touchdb

  Memory map database

- translatenucs

  Translate nucleotide sequence DB into protein sequence DB

- translateaa

  Translate protein sequence into nucleotide sequence DB

- swapresults

  Reformat prefilter or alignment DB as if target DB had been searched through query DB

- swapdb

  Create a DB where the key is from the first column of the input result DB

- mergedbs

  Merge multiple DBs into a single DB, based on IDs (names) of entries

- splitdb

  Split a mmseqs DB into multiple DBs

- splitsequence

  Split sequences by length

- subtractdbs

  Generate a DB with entries of first DB not occurring in second DB

- filterdb

  Filter a DB by conditioning (regex, numerical, ...) on one of its whitespace-separated columns

- createsubdb

  Create a subset of a DB from a file of IDs of entries

- view

  Prints entries to console

- rmdb

  Removes the database

- mvdb

  Move the database

- result2profile

  Compute profile and consensus DB from a prefilter, alignment or cluster DB

- result2pp

  Merge the query profiles with target profiles according to search results and outputs an enriched profile DB

- result2rbh

  Filter a merged result DB to retain only reciprocal best hits

- result2msa

  Generate MSAs for queries by locally aligning their matched targets in prefilter/alignment/cluster DB

- convertmsa

  Turns an MSA file into an MSA database.

- msa2profile

  Turns an MSA database into a MMseqs profile database.

- profile2pssm

  Converts a profile database into a human readable tab-separated PSSM file.

- profile2cs

  Converts a profile database into a column state sequence.

- result2stats

  Compute statistics for each entry in a sequence, prefilter, alignment or cluster DB

- proteinaln2nucl

  Map protein alignment to nucleotide alignment

- tsv2db

  Turns a TSV file into a MMseqs database

- result2repseq

  Get representative sequences for a result database

Special-purpose utilities

- rescorediagonal

  Compute sequence identity for diagonal

- alignbykmer

  Predict sequence identity, score, alignment start and end by kmer alignment

- diffseqdbs

  Find IDs of sequences kept, added and removed between two versions of sequence DB

- concatdbs

  Concatenate two DBs, giving new IDs to entries from second input DB

- sortresult

  Sort a result database in the same order as prefilter or align would.

- summarizealis

  Summarize alignment results into a single show uniq. coverage, coverage and avg. sequence identity

- summarizeresult

  Extract annotations from alignment DB

- summarizetabs

  Extract annotations from HHblits BAST-tab-formatted results

- gff2db

  Turn a gff3 (generic feature format) file into a gff3 DB

- masksequence

  Soft mask sequences using tantan, low. complex regions in lower case the rest upper

- maskbygff

  X out sequence regions in a sequence DB by features in a gff3 file

- prefixid

  For each entry in a DB prepend the entry ID to the entry itself

- suffixid

  For each entry in a DB append the entry ID to the entry itself

- convertkb

  Convert UniProt knowledge base files into MMseqs2 database format for the selected column types

- summarizeheaders

  Return a new summarized header DB from the UniProt headers of a cluster DB

- extractalignedregion

  Extract aligned sequence region from query

- extractdomains

  Extract highest scoring alignment region for each sequence from BLAST-tab file

- convertca3m

  Converts a cA3M database into a MMseqs2 result database.

- expandaln

  Expands an alignment result based on another.

- countkmer

  Simple kmer counter, it prints the numeric, alphanumeric representation and kmercount
