EnrichM is a set of tools for comparative genomics of large sets of metagenome assembled genomes (MAGs). The current functionality includes:
- A basic pipeline for annotating population genomes.
- A pipeline to identify genes or metabolic pathways that are enriched within and between user-defined groups
- To construct metabolic networks from annotated population genomes.
EnrichM is under active development, so use at your own risk. Currently, there are the following sub-commands:
Annotation
annotate -> Basic annotation of bins and contigs.
Enrichment analysis
classify -> Determine what KEGG modules a genome encodes.
enrichment -> Generate an enrichment matrix from modules produced by
annotate.
Network analysis
pathway -> Generate a metabolic network from specific KEGG module or
compounds.
explore -> Explore a metabolic network from a given compound.
EnrichM has the following non-python dependencies:
- hmmer >= 3.1b
- seqmagick >= 0.6.1
- diamond == 0.9.22
- prodigal >= 2.6.3
- parallel >= 20180222
- mmseqs >= 2-23394
- R >= 3.0.1
sudo pip3 install enrichm
Before running enrichm, you'll need to download the back-end database. This is done using a command in enrichm:
enrichm data
This should take approximately 15 minutes. To check for updates and install updates, simply run the same command. To uninstall the database, run:
enrichm data --uninstall
By default EnrichM will install the database in your home directory. If you wish to move the database to a more global location (e.g. if you work on a sever and need multiple users to have access) all you need to do is move it and export a BASH variable named "ENRICHM_DB":
export ENRICHM_DB=/path/to/database/
Annotate is a function that allows you to annotate your population genomes with KO, PFAM, TIGRFAM, and CAZY using dbCAN. The result will be a .gff file for each genome, and a frequency matrix for each annotation type where the rows are annotation IDs and the columns are genomes.
See the annotate help page for more
Classify quickly reads in KO annotations in the form of a matrix (KO IDs as rows, genomes as columns) and determines which KEGG modules are complete. Annotation matrices can be generated using the annotate function.
See the classify help page for more
Enrichment will read in KO or PFAM annotations in the form of a matrix (IDs as rows, genomes as columns) and a metadata file that separates genomes into groups to compare, and will run some basic stats to determine the enrichment of modules or pfam clans between and within the groups.
See the enrichment help page for more
Pathway reads in a KO matrix and generates a Cytoscape-readable metabolic network and metadata file. Only reactions that are possible given the KOs present in the input matrix are shown, and the modules and reactions that are included in the output can be customized.
See the pathway help page for more
Explore is similar to pathway, but rather than generating a specified pathway it will start from a given query compound ID, and explore the possible reactions that use that compound given the enzymes present in the input KO matrix.
See the explore help page for more
If you have any feedback about EnrichM, drop an email to the SupportM public help forum. Software by Joel A. Boyd (@geronimp) at the Australian Centre for Ecogenomics (ACE).
EnrichM is licensed under the GNU GPL v3+. See LICENSE.txt for further details.