anvi-run-cazymes

Run dbCAN CAZymes on contigs-db.

🔙 To the main page of anvi’o programs and artifacts.

Authors

Requires

contigs-db cazyme-data

Provides

functions

Usage

This program annotates genes in your contigs-db with functions using dbCAN CAZyme HMMs

Before you run this program, you’ll have to set up the CAZyme database on your computer with the program anvi-setup-cazymes.

The CAZyme database is based on protein sequences, so anvi’o will convert your genetic information into protein sequences and then use HMMs to compare them to the database.

Unsure what an HMM is? Check out our vocab page

To run, you’ll need to provide a contigs-db and the output will be a functions artifact. Here is a default run:

anvi-run-cazymes -c contigs-db

If you stored the cazyme-data that you got from running anvi-setup-cazymes in a custom location, you’ll need to provide that path as well.

anvi-run-cazymes -c contigs-db \ --cazyme-data-dir cazyme-data

By default, this uses hmmsearch to run HMMs. You can choose to use hmmscan instead by running

anvi-run-cazymes -c contigs-db \ --cazyme-data-dir cazyme-data \ --hmmer-program hmmscan

Use the parameter --noise-cutoff-terms to filter out hits. The default value is --noise-cutoff-terms -E 1e-12. If you want to explore filtering options, check out the help menu of the underlying hmm program you are using e.g. hmmsearch -h

anvi-run-cazymes -c contigs-db \ --noise-cutoff-terms “-E 1e-14”

Exploring CAZyme annotations

The dbCAN HMM files provide only limited descriptions of CAZyme protein families and often require additional investigation following annotation. The dbCAN3 database offers several supplementary files that can support deeper exploration, including:

  • dbCAN_sub.hmm — HMM to classify proteins based on predicted substrate specificity.
  • FamInfo.txt.08022020.xls — Reference table summarizing functional details for each CAZyme family.

Import CAZyme functions from run_dbcan

If anvi’o users are interested in importing more detailed annotations, e.g. substrate level prediction from dbCAN-sub, they should consider using run_dbcan from dbCAN3. Here are some quick steps:

Step 1. Extract amino acid sequences from your contigs-db

anvi-get-sequences-for-gene-calls -c contigs-db --get-aa-sequences -o genes.faa

Step 2. Run dbCAN3 via run_dbcan to annotate those amino acid sequences.

Step 3. Create a functions-txt with CAZyme functions.

The program run_dbcan has multiple output files which can be parsed into a functions-txt, for example, the overview.txt.

Step 4. Import your new CAZyme functions-txt back into your contigs-db

anvi-import-functions -c contigs-db -i cazyme-functions.txt

Edit this file to update this information.

Command line interface

The following is the list of parameters and their descriptions in the latest version of anvi-run-cazymes.

The code that generates this web page ensures that this information is the latest available in 9-dev (eunice). Which means, in some cases the information in this section (generated automatically) might be more comprehensive or up-to-date compared to the descriptions above (written by humans).


Command line usage

anvi-run-cazymes [-h] -c CONTIGS_DB [--noise-cutoff-terms NOISE_CUTOFF_TERMS] [--cazyme-data-dir CAZYME_DATA_DIR] [-T NUM_THREADS] [--hmmer-program HMMER_PROGRAM] [--just-do-it]

Parameters and their descriptions

options
-c, --contigs-db CONTIGS_DB required
Anvi'o contigs database generated by 'anvi-gen-contigs-database'
--noise-cutoff-terms NOISE_CUTOFF_TERMS
Choose a threshold for the CAZyme HMMs (default --noise-cutoff-terms "-E 1e-12". If you are not sure what to pick run `hmmsearch -h` or `hmmscan -h` and check out your options.
--cazyme-data-dir CAZYME_DATA_DIR
The directory path for your downloaded CAZyme database. Anvi'o will try to use the default path if you do not specify anything.
-T, --num-threads NUM_THREADS
Maximum number of threads to use for multithreading whenever possible. Very conservatively, the default is 1, unless the environmental variable `ANVIO_THREADS` sets another positive integer. If you use this parameter, it will override `ANVIO_THREADS`. It is a good idea to not exceed the number of CPUs / cores on your system. Plus, please be careful with this option if you are running your commands on a SGE -- if you are clusterizing your runs, and asking for multiple threads to use, you may deplete your resources very fast. Default: 1
--hmmer-program HMMER_PROGRAM
Which of the HMMER programs to use to run HMMs (hmmscan or hmmsearch). By default anvi'o will use hmmscan for typical HMM operations like those in anvi-run-hmms (as these tend to scan a very large number of genes against a relatively small number of HMMs), but if you are using this program to scan a very large number of HMMs, hmmsearch might be a better choice for performance. For this reason, hmmsearch is the default in operations like anvi-run-pfams and anvi-run-kegg-kofams. See this article for a discussion on the performance of these two programs: http://cryptogenomicon.org/hmmscan-vs-hmmsearch-speed-the-numerology.html
--just-do-it
Don't bother me with questions or warnings, just do it.

Additional Resources

Are you aware of resources that may help users better understand the utility of this program? Please feel free to edit this file on GitHub. If you are not sure how to do that, find the __resources__ tag in this file to see an example.