Scroll to navigation

MMSEQS2(1) General Commands Manual MMSEQS2(1)

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>

Search with a query fasta against target fasta (or database) and return a BLAST-compatible result in a single step
Linear time search with a query fasta against target fasta (or database) and return a BLAST-compatible result in a single step
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.
Compute clustering of a fasta database. The workflow outputs the representative sequences, a cluster tsv and a fasta-like format containing all sequences.
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)

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

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

Fast ungapped mapping of query sequences to target sequences.
Compute clustering of a sequence DB (quadratic time)
Cluster sequences of >30% sequence identity *in linear time*
Precompute index table of sequence DB for faster searches
Precompute index for linsearch

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

Find reciprocal best hits between query and target
Update clustering of old sequence DB to clustering of new sequence DB

Utility tools for format conversions

Create tab-separated flat file from prefilter DB, alignment DB, cluster DB, or taxa DB
Convert alignment DB to BLAST-tab format or specified custom-column output format
Convert ffindex DB of HMM files to profile DB
Convert sequence DB to FASTA format
Create a FASTA-like flat file from prefilter DB, alignment DB, or cluster DB
Create DB of unaligned FASTA files (1 per cluster) from sequence DB and cluster DB

Taxonomy tools

Compute taxonomy and lowest common ancestor for each sequence.
Annotates a sequence database with NCBI taxonomy information
Add taxonomy information to result database.

Compute the lowest common ancestor from a set of taxa.
Create Kraken-style taxonomy report.
Filter taxonomy database.

Multi-hit search tools

Create sequence database and associated metadata for multi hit searches
Search with a grouped set of sequences against another grouped set
For each set of sequences compute the best element and updates the p-value
For each set compute the combined p-value
For each set compute summary statistics, such as spread-pvalue etc.
For each set compute the combined p-value
Merge results from multiple orfs back to their respective contig

Utility tools for clustering

Merge multiple cluster DBs into single cluster DB

Core tools (for advanced users)

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

Compute Smith-Waterman alignments for previous results (e.g. prefilter DB, cluster DB)
Compute all against all Smith-Waterman alignments for a results (e.g. prefilter DB, cluster DB)
Transfers alignments by transitivity via a center star alignment

Cluster sequence DB from alignment DB (e.g. created by searching DB against itself)
Finds exact $k$-mers matches between sequences
Search with query sequence through target DB. (k-mer matching)
Finds exact $k$-mers matches between sequences and stores them as index
Cluster sequences of same length and >90% sequence identity *in linear time*

Utility tools to manipulate DBs

Compresses a database.
Decompresses a database.

Passes each input database entry to stdin of the specified program, executes it and writes its stdout to the output database.
Extract open reading frames from all six frames from nucleotide sequence DB
Extract frames reading frames from a nucleotide sequence DB
Obtain location information of extracted orfs with respect to their contigs in alignment format
Reverse each sequence in a DB
Memory map database
Translate nucleotide sequence DB into protein sequence DB
Translate protein sequence into nucleotide sequence DB
Reformat prefilter or alignment DB as if target DB had been searched through query DB

Create a DB where the key is from the first column of the input result DB
Merge multiple DBs into a single DB, based on IDs (names) of entries
Split a mmseqs DB into multiple DBs
Split sequences by length
Generate a DB with entries of first DB not occurring in second DB
Filter a DB by conditioning (regex, numerical, ...) on one of its whitespace-separated columns
Create a subset of a DB from a file of IDs of entries

Prints entries to console

Removes the database

Move the database
Compute profile and consensus DB from a prefilter, alignment or cluster DB
Merge the query profiles with target profiles according to search results and outputs an enriched profile DB
Filter a merged result DB to retain only reciprocal best hits
Generate MSAs for queries by locally aligning their matched targets in prefilter/alignment/cluster DB
Turns an MSA file into an MSA database.
Turns an MSA database into a MMseqs profile database.
Converts a profile database into a human readable tab-separated PSSM file.
Converts a profile database into a column state sequence.
Compute statistics for each entry in a sequence, prefilter, alignment or cluster DB
Map protein alignment to nucleotide alignment

Turns a TSV file into a MMseqs database
Get representative sequences for a result database

Special-purpose utilities

Compute sequence identity for diagonal
Predict sequence identity, score, alignment start and end by kmer alignment
Find IDs of sequences kept, added and removed between two versions of sequence DB
Concatenate two DBs, giving new IDs to entries from second input DB
Sort a result database in the same order as prefilter or align would.
Summarize alignment results into a single show uniq. coverage, coverage and avg. sequence identity
Extract annotations from alignment DB
Extract annotations from HHblits BAST-tab-formatted results

Turn a gff3 (generic feature format) file into a gff3 DB
Soft mask sequences using tantan, low. complex regions in lower case the rest upper
X out sequence regions in a sequence DB by features in a gff3 file
For each entry in a DB prepend the entry ID to the entry itself
For each entry in a DB append the entry ID to the entry itself
Convert UniProt knowledge base files into MMseqs2 database format for the selected column types
Return a new summarized header DB from the UniProt headers of a cluster DB
Extract aligned sequence region from query
Extract highest scoring alignment region for each sequence from BLAST-tab file
Converts a cA3M database into a MMseqs2 result database.
Expands an alignment result based on another.
Simple kmer counter, it prints the numeric, alphanumeric representation and kmercount
July 2019 MMseqs2 (Many against Many sequence searching).