4. Gene Family / Ontology Analysis
This stage of EnTAP attempts to functionally annotate our filtered transcriptome (after Frame Selection and Expression Analysis has been performed) to align information such as gene families, orthologous groups, protein domains, and Gene Ontology terms. EnTAP allows for either EggNOG (default and recommended) or InterProScan to be used with the ontology flag.
Modify the ontology flag within the entap_run.params by using 0 (EggNOG) and/or 1 (InterProScan) in a comma-separated list.
ontology=0
To include InterProScan, simply do the following:
ontology=0,1
4.1. General Ontology Analysis Flags
param |
description |
location (cmd/R-ini,E-ini) |
qualifier |
example |
|---|---|---|---|---|
ontology_source |
|
R-ini |
multi-integer |
0 |
4.2. EggNOG Analysis
By default, EnTAP will utilize EggNOG-mapper (https://github.com/jhcepas/eggnog-mapper) to access the collection of EggNOG databases (http://eggnog5.embl.de/#/app/home) to utilize orthology relationships to assign a myriad of functional information. This is a very powerful tool, especially for non-model transcriptomes where functional data may be limited.
EggNOG analysis is executed by default with EnTAP so the only thing to make sure of is that the database and execution paths are correct within both ini files. Optional contaminant analysis can be turned on/off, outlined here.
4.2.1. EggNOG Contaminant Analysis
EggNOG contaminant analysis can be turned on/off through the eggnog-contaminant flag (on by default). When turning EggNOG contaminant analysis on, be sure to review the Similarity Search contam flag as the same taxons specified there will be used (must exist in the NCBI Taxonomy Database).
If EggNOG contaminant analysis is turned on, the results will be displayed in the Log File under the EggNOG section. A contaminant is determined by taking the narrowest Orthologous Groups (seen as “EggNOG Member OGs” in the EnTAP output) assigned to each query and comparing its full lineage to the contaminants input by the user. Although EnTAP reports this information, it does not mean that the query is automatically considered a contaminant through EggNOG analysis. The final contaminant status (seen as “Contaminant” in the EnTAP output) of a query will first be determined through Similarity Search then, if no alignment is found through Similarity Search, rely on the EggNOG contaminant analysis.
4.2.2. EggNOG Commands
param |
description |
location (cmd/R-ini,E-ini) |
qualifier |
example |
|---|---|---|---|---|
eggnog-map-data |
Path to the directory containing the EggNOG SQL database |
E-ini |
string |
/path/to/eggnog_db_directory |
eggnog-map-dmnd |
Path to the EggNOG DIAMOND configured database |
E-ini |
string |
/databases/eggnog_proteins.dmnd |
eggnog-map-exe |
Path to the EggNOG-mapper executable, or method of execution. If installed globally, this is simply |
E-ini |
string |
emapper.py |
eggnog-contaminant |
Specify this to turn on/off EggNOG contaminant analysis (on by default). This leverages the taxon input from the contaminant Similarity Search command to determine if an EggNOG annotation should be flagged as a contaminant. EggNOG contaminant analysis can only be performed alongside Similarity Search contaminant analysis (not on its own) and will only be utilized if no alignments were found for a given transcript during Similarity Searching |
R-ini |
bool |
true |
eggnog-dbmem |
Specify this to use the ‘–dbmem’ flag with EggNOG-mapper. This will load the entire eggnog.db sqlite3 database into memory which can require up to ~44GB of memory. However, this will significantly speed up EggNOG annotations |
R-ini |
bool |
true |
eggnog-sensitivity |
Specify the DIAMOND sensitivity used during EggNOG mapper execution against the EggNOG database. Sensitivities are based off of DIAMOND documentation with a higher sensitivity generally taking longer but giving a higher alignment rate. Sensitivity options are fast, mid-sensitive, sensitive, more-sensitive, very-sensitive, ultra-sensitive. |
R-ini |
string |
more-sensitive |
4.2.3. Interpreting EggNOG Results
The /gene_family/EggNOG directory will contain all of the relevant information for the EggNOG stage of the pipeline. This folder will contain the files generated from EggNOG-mapper alongside the files generated by EnTAP. EnTAP files can be found within the /gene_family/EggNOG/processed directory.
Below are example files with a transcriptome labelled ‘transcriptome’.
filename |
description |
directory |
|---|---|---|
|
Generated from EggNOG-mapper. Contains important functional annotation information pulled from orthologous group alignment within EggNOG databases. This will be prepended with blastp or blastx depending on if the input sequence is protein or nucleotide. |
|
|
Generated from EggNOG-mapper. Contains all assigned seed orthologs for the sequences that were ran using EggNOG-mapper. Information in this is similar to that seen with DIAMOND or BLAST runs such as e-value and coverages. This will be prepended with blastp or blastx depending on if the input sequence is protein or nucleotide. |
|
|
Generated from EggNOG-mapper. Contains all of the hits against the EggNOG database (from DIAMOND). EggNOG-mapper will first align our input transcriptome to the EggNOG database which can result in multiple hits. The selected hits are seen in the .emapper.seed_orthologs file while the rest remain here. This will be prepended with blastp or blastx depending on if the input sequence is protein or nucleotide. |
|
|
Generated from EnTAP. Sequences where NO alignment was made with the EggNOG database (nucleotide/protein). |
|
|
Generated from EnTAP. Sequences where an alignment was made with the EggNOG database (nucleotide/protein). |
|
|
Generated from EnTAP. Sequences that were flagged as a contaminant after EggNOG analysis |
|
4.2.4. EggNOG Headers
TSV files generated from EnTAP will have the following headers from EggNOG analysis.
Database_EggNOG_Seed_Ortholog
Database_EggNOG_Seed_E-Value
Database_EggNOG_Seed_Score
Database_EggNOG_Tax_Scope_Max
Database_EggNOG_Member_OGs
Database_EggNOG_Description
Database_EggNOG_COG_Abbreviation
Database_EggNOG_COG_Description
Database_EggNOG_BIGG_Reaction
Database_EggNOG_KEGG_KO
Database_EggNOG_KEGG_Pathway
Database_EggNOG_KEGG_Module
Database_EggNOG_KEGG_Reaction
Database_EggNOG_KEGG_RClass
Database_EggNOG_BRITE
Database_EggNOG_GO_Biological
Database_EggNOG_GO_Molecular
Database_EggNOG_Protein_Domains
EggNOG outputs the PFAM terms by default. EnTAP will try to map these to the proper PFAM ID’s. However, if there is any trouble in mapping them back to ID’s, they will be labelled as “UNKNOWN_PFAM_ID”
4.3. InterProScan Analysis
The user has the option to use InterProScan (https://www.ebi.ac.uk/interpro/) as an additional method of determining functional annotation of our transcripts. InterProScan is a powerful tool that will classify our transcripts into families to predict domains and other important functional information.
4.3.1. Running InterProScan
In order to run InterProScan, as mentioned above, the ontology flag must also include ‘1’ within the entap_run.params file. Additional parameters can be set, such as which additional database should be analyzed through the protein command. These can be seen below.
4.3.2. InterProScan Commands
param |
description |
location (cmd/R-ini,E-ini) |
qualifier |
example |
|---|---|---|---|---|
interproscan-db |
|
R-ini |
multi-string |
pfam |
interproscan-exe |
Specify the execution method for InterProScan. Commonly this can be the path to the |
E-ini |
string |
interproscan.sh |
4.4. Interpreting InterProScan Results
The /gene_family/InterProScan directory will contain all of the relevant information for the optional InterProScan stage of the pipeline. This folder will contain files generated by InterProScan as well as those by EnTAP (/gene_family/InterProScan/processed).
Below are the example files you may find when including InterProScan:
filename |
description |
directory |
|---|---|---|
|
Generated from InterProScan. Tab delimited or XML file containing information on the sequences with domain matches. Information such as signature accession/description information and GO/Pathway alignments. |
|
|
Generated from EnTAP. Sequences where NO domain could be assigned (nucleotide/protein) through InterProScan |
|
|
Generated from EnTAP. Sequences where a domain could be assigned (nucleotide/protein) through InterProScan |
|
4.4.1. InterProScan Headers
TSV files generated from EnTAP will have the following headers from InterProScan analysis.
Database_InterProScan_GO_Biological
Database_InterProScan_GO_Cellular
Database_InterProScan_GO_Molecular
Database_InterProScan_Pathways
Database_InterProScan_InterPro_ID
Database_InterProScan_Protein_Database
Database_InterProScan_Protein_Description
Database_InterProScan_E-Value