table of contents
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>
- 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
July 2019 | MMseqs2 (Many against Many sequence searching). |