eggnog
Tags: functional-annotation orthology proteins eggnog bactopia-tool
Functional annotation of proteins using orthologous groups and phylogenies.
This Bactopia Tool uses eggNOG-mapper to assign functional annotation to protein sequences. eggNOG-mapper uses orthologous groups and phylogenies from the eggNOG database to more precisely functionally annotate than traditional homology methods.
Usage
Bactopia CLI:
bactopia --wf eggnog \
--bactopia /path/to/your/bactopia/results
Nextflow:
nextflow run bactopia/bactopia/workflows/bactopia-tools/eggnog/main.nf \
--bactopia /path/to/your/bactopia/results
Outputs
Expected Output Files
<BACTOPIA_DIR>
├── <SAMPLE_NAME>
│ └── tools
│ └── eggnog-<TIMESTAMP>
│ ├── <SAMPLE_NAME>.emapper.annotations
│ ├── <SAMPLE_NAME>.emapper.hits
│ ├── <SAMPLE_NAME>.emapper.seed_orthologs
│ └── logs
│ ├── nf.command.{begin,err,log,out,run,sh,trace}
│ └── versions.yml
└── bactopia-runs
└── eggnog-<TIMESTAMP>
└── nf-reports
├── eggnog-dag.dot
├── eggnog-report.html
└── eggnog-timeline.html
Annotation
| File | Description |
|---|---|
*.emapper.annotations | Results from the annotation phase |
*.emapper.hits | Results from the search phase (HMMER, Diamond or MMseqs2) |
*.emapper.seed_orthologs | Results from parsing the hits |
*.emapper.annotations.xlsx | Annotations in Excel format |
*.emapper.orthologs | List of orthologs found for each query |
*.emapper.genepred.fasta | Sequences of predicted CDS |
*.emapper.gff | GFF of predicted CDS |
*.emapper.no_annotations.fasta | Sequences without annotation |
*.emapper.pfam | Positions of PFAM domains identified |
Audit Trail
Below are files that can assist you in understanding which parameters and program versions were used.
Logs
Each process that is executed will have a folder named logs. In this folder are helpful
files for you to review if the need ever arises.
| Extension | Description |
|---|---|
| .begin | An empty file used to designate the process started |
| .err | Contains STDERR outputs from the process |
| .log | Contains both STDERR and STDOUT outputs from the process |
| .out | Contains STDOUT outputs from the process |
| .run | The script Nextflow uses to stage/unstage files and queue processes based on given profile |
| .sh | The script executed by bash for the process |
| .trace | The Nextflow trace report for the process |
| versions.yml | A YAML formatted file with program versions |
Nextflow Reports
These Nextflow reports provide great a great summary of your run. These can be used to optimize resource usage and estimate expected costs if using cloud platforms.
| Filename | Description |
|---|---|
| eggnog-dag.dot | The Nextflow DAG visualization |
| eggnog-report.html | The Nextflow Execution Report |
| eggnog-timeline.html | The Nextflow Timeline Report |
| eggnog-trace.txt | The Nextflow Trace report |
Parameters
Required Parameters
Define where the pipeline should find input data and save output data.
| Parameter | Type | Default | Description |
|---|---|---|---|
--bactopia | string | The path to bactopia results to use as inputs |
eggNOG Downloader Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
--eggnog_db | string | Tarball or path to eggNOG databases | |
--download_eggnog | boolean | false | Required if downloading latest eggNOG database, will overwrite existing databases. |
--eggnog_save_as_tarball | string | Save the eggNOG database as a single tarball | |
--eggnog_skip_diamond | boolean | false | Do not install the diamond database |
--eggnog_install_mmseq | boolean | false | Install the MMseqs2 database |
--eggnog_install_pfam | boolean | false | Install the Pfam database, required for de novo annotation or realignment |
--eggnog_install_hmm | boolean | false | Install the HMMER database specified with --hmmer_taxid |
--eggnog_hmmer_taxid | integer | 2 | Tax ID of eggNOG HMM database to download |
eggNOG Mapper Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
--eggnog_genepred | string | search | Method to use for gene prediction (choices: search, prodigal) |
--eggnog_mode | string | diamond | Method to search against eggNOG sequences (choices: diamond, hmmer, mmseqs, cache, no_search) |
--eggnog_opts | string | Extra eggNOG Mapper options in quotes |
Filtering Parameters
Use these parameters to specify which samples to include or exclude.
| Parameter | Type | Default | Description |
|---|---|---|---|
--include | string | A text file containing sample names (one per line) to include from the analysis | |
--exclude | string | A text file containing sample names (one per line) to exclude from the analysis |
Optional Parameters
These optional parameters can be useful in certain settings.
| Parameter | Type | Default | Description |
|---|---|---|---|
--outdir | string | bactopia | Base directory to write results to |
--skip_compression | boolean | false | Output files will not be compressed |
--datasets | string | The path to cache datasets to | |
--keep_all_files | boolean | false | Keeps all analysis files created |
Max Job Request Parameters
Set the top limit for requested resources for any single job.
| Parameter | Type | Default | Description |
|---|---|---|---|
--max_retry | integer | 3 | Maximum times to retry a process before allowing it to fail. |
--max_cpus | integer | 4 | Maximum number of CPUs that can be requested for any single job. |
--max_memory | string | 128.GB | Maximum amount of memory that can be requested for any single job. |
--max_time | string | 240.h | Maximum amount of time that can be requested for any single job. |
--max_downloads | integer | 3 | Maximum number of samples to download at a time |
Nextflow Configuration Parameters
Parameters to fine-tune your Nextflow setup.
| Parameter | Type | Default | Description |
|---|---|---|---|
--nfconfig | string | A Nextflow compatible config file for custom profiles, loaded last and will overwrite existing variables if set. | |
--publish_dir_mode | string | copy | Method used to save pipeline results to output directory. (choices: symlink, rellink, link, copy, copyNoFollow, move) |
--infodir | string | ${params.outdir}/pipeline_info | Directory to keep pipeline Nextflow logs and reports. |
--force | boolean | false | Nextflow will overwrite existing output files. |
--cleanup_workdir | boolean | false | After Bactopia is successfully executed, the work directory will be deleted. |
Institutional config options
Parameters used to describe centralized config profiles. These should not be edited.
| Parameter | Type | Default | Description |
|---|---|---|---|
--custom_config_version | string | master | Git commit id for Institutional configs. |
--custom_config_base | string | https://raw.githubusercontent.com/nf-core/configs/master | Base directory for Institutional configs. |
--config_profile_name | string | Institutional config name. | |
--config_profile_description | string | Institutional config description. | |
--config_profile_contact | string | Institutional config contact information. | |
--config_profile_url | string | Institutional config URL link. |
Nextflow Profile Parameters
Parameters to fine-tune your Nextflow setup.
| Parameter | Type | Default | Description |
|---|---|---|---|
--condadir | string | Directory to Nextflow should use for Conda environments | |
--registry | string | quay.io | Registry to pull Docker containers from. |
--datasets_cache | string | <HOME>/.bactopia/datasets | Directory where downloaded datasets should be stored. |
--singularity_cache | string | Directory where remote Singularity images are stored. | |
--singularity_pull_docker_container | boolean | Instead of directly downloading Singularity images for use with Singularity, force the workflow to pull and convert Docker containers instead. | |
--force_rebuild | boolean | false | Force overwrite of existing pre-built environments. |
--queue | string | general,high-memory | Comma-separated name of the queue(s) to be used by a job scheduler (e.g. AWS Batch or SLURM) |
--cluster_opts | string | Additional options to pass to the executor. (e.g. SLURM: '--account=my_acct_name' | |
--container_opts | string | Additional options to pass to Apptainer, Docker, or Singularity. (e.g. Singularity: '-D pwd' | |
--disable_scratch | boolean | false | All intermediate files created on worker nodes of will be transferred to the head node. |
Helpful Parameters
Uncommonly used parameters that might be useful.
| Parameter | Type | Default | Description |
|---|---|---|---|
--monochrome_logs | boolean | Do not use coloured log outputs. | |
--nfdir | boolean | Print directory Nextflow has pulled Bactopia to | |
--sleep_time | integer | 5 | The amount of time (seconds) Nextflow will wait after setting up datasets before execution. |
--validate_params | boolean | true | Boolean whether to validate parameters against the schema at runtime |
--help | boolean | Display help text. | |
--wf | string | bactopia | Specify which workflow or Bactopia Tool to execute |
--list_wfs | boolean | List the available workflows and Bactopia Tools to use with '--wf' | |
--show_hidden_params | boolean | Show all params when using --help | |
--help_all | boolean | An alias for --help --show_hidden_params | |
--version | boolean | Display version text. |
Composition
This workflow uses the following subworkflows:
- eggnog - Functional annotation through orthology assignment.
Citations
If you use this in your analysis, please cite the following.
-
Bactopia
Petit III RA, Read TD Bactopia - a flexible pipeline for complete analysis of bacterial genomes. mSystems 5 (2020) -
eggNOG-mapper
Huerta-Cepas J, Forslund K, Coelho LP, Szklarczyk D, Jensen LJ, von Mering C, Bork P Fast Genome-Wide Functional Annotation through Orthology Assignment by eggNOG-Mapper. Mol. Biol. Evol. 34, 2115-2122 (2017) -
eggNOG 5.0 Database
Huerta-Cepas J, Szklarczyk D, Heller D, Hernández-Plaza A, Forslund SK, Cook H, Mende DR, Letunic I, Rattei T, Jensen LJ, von Mering C, Bork P eggNOG 5.0: a hierarchical, functionally and phylogenetically annotated orthology resource based on 5090 organisms and 2502 viruses. Nucleic Acids Res. 47, D309-D314 (2019)