anvi-gen-genomes-storage

Create a genome storage from internal and/or external genomes for a pangenome analysis.

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

Authors

Requires

external-genomes

Can use

internal-genomes

Provides

genomes-storage-db

Usage

This program generates a genomes-storage-db, which stores information about your genomes, primarily for use in pangenomic analysis.

Genomes storage databases are to Anvi’o’s pangenomic workflow what a contigs-db is to a metagenomic workflow: it stores vital information and is passed to most programs you’ll want to run.

Once you’ve generated a genomes-storage-db, you can run anvi-pan-genome, which creates a pan-db and runs various pangenomic analyses (including calculating the similarities between your sequences, identifying gene clusters, and organizing your gene clusters and genomes). After that, you can display your pangenome with anvi-display-pan For more information, check out the pangenomic workflow.

Inputs: internal and external genomes

You can initialize your genomes storage database with internal-genomes, external-genomes, or both.

internal-genomes describe genomes that are described by a bin within a collection that is already within an Anvi’o profile-db. For example, if you had gone through the metagenomic workflow and had several MAGs that you wanted to run pangenomic analyses on.

anvi-gen-genomes-storage -i internal-genomes \ -o genomes-storage-db

The name of your genomes storage database (which follows the -o flag) must end with -GENOMES.db. This just helps differenciate it from other types of Anvi’o databases, such as the contigs-db and profile-db.

In contrast, external-genomes describe genomes that are contained in a fasta file that you’ve turned into a contigs-db (using anvi-gen-contigs-database). For example, if you had downloaded genomes from NCBI.

anvi-gen-genomes-storage -e external-genomes \ -o genomes-storage-db

You can also create a genomes storage database from both types of genomes at the same time. For example, if you had MAGs from a metagenomic analysis on an environmental sample and wanted to compare them with the reference genomes on NCBI. To run this, simply provide both types of genomes as parameters, as so:

anvi-gen-genomes-storage -i internal-genomes \ -e external-genomes \ -o genomes-storage-db

Changing the gene caller

By default, Anvi’o will use pyrodigal-gv (based on Prodigal and will let you know if you have gene calls identified by other gene callers. However, you are welcome to explicitly use a specific gene caller with the flag --gene-caller.

If you’re wondering what gene callers are available in your contigs-db, you can check by running the program anvi-export-gene-calls on a specific contigs-db with the flag --list-gene-callers.

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-gen-genomes-storage.

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-gen-genomes-storage [-h] [-e FILE_PATH] [-i FILE_PATH] [--gene-caller GENE-CALLER] [--skip-checking-genome-hashes] -o GENOMES_STORAGE

Parameters and their descriptions

EXTERNAL GENOMES External genomes listed as anvi'o contigs databases. As in, you have one or more genomes say from NCBI you want to work with, and you created an anvi'o contigs database for each one of them.
-e, --external-genomes FILE_PATH
A two-column TAB-delimited flat text file that lists anvi'o contigs databases. The first item in the header line should read 'name', and the second should read 'contigs_db_path'. Each line in the file should describe a single entry, where the first column is the name of the genome (or MAG), and the second column is the anvi'o contigs database generated for this genome.
INTERNAL GENOMES Genome bins stored in an anvi'o profile databases as collections.
-i, --internal-genomes FILE_PATH
A five-column TAB-delimited flat text file. The header line must contain these columns: 'name', 'bin_id', 'collection_id', 'profile_db_path', 'contigs_db_path'. Each line should list a single entry, where 'name' can be any name to describe the anvi'o bin identified as 'bin_id' that is stored in a collection.
PRO STUFF Things you may not have to change. But you never know (unless you read the help).
--gene-caller GENE-CALLER
The gene caller to utilize. Anvi'o supports multiple gene callers, and some operations (including this one) may require an explicit mentioning of which one to use. The default gene caller is identified automatically in most cases (based on whether the most frequent gene calls match to a known gene caller in anvi'o), but if you have a contigs-db generated with `--external-gene-callers` or something, you may have to pay extra attention here. Also, some HMM collections may add new gene calls into a given contigs-db as an ad-hoc fashion, so if you want to see all the options available to you in a given contigs database, please run the program `anvi-db-info` and take a look at the output.
--skip-checking-genome-hashes
Use this flag if you would like anvi'o to skip checking genome hashes. This is only relevant if you may have genomes in your internal or external genomes files that have identical sequences with different names AND if you are OK with it. You may be OK with it, for instance, if you are using `anvi-dereplicate-genomes` program to dereplicate genomes desribed in multiple collections in an anvi'o profile database that may be describing the same genome multiple times (see https://github.com/merenlab/anvio/issues/1397 for a case).
OUTPUT Give it a nice name. Must end with '-GENOMES.db'. This is primarily due to the fact that there are other .db files used throughout anvi'o and it would be better to distinguish this very special file from them.
-o, --output-file GENOMES_STORAGE required
File path to store results.

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.