EGAPx checks for prokaryotic or viral contamination by searching gene models against the SwissProt database using diamond blastp. If $\ge 5%$ of models have best hits to prokaryotes or viruses, the pipeline fails with: Error: (CException::eUnknown) Too many protein hits to proks.
Using the Contamination Report
If the pipeline does not fail automatically, review GNOMON/contam_rpt.tsv to identify potential contamination. The file columns are:
1: #seq_id genomic sequence identifier
2: gb_syn_seq_id GenBank synonym seq-id, 'na' for EGAPx runs
3: length total sequence length
4: num_genes total number of gene models present on the sequence
5: num_single_exon_genes total number of single-exon gene models present on the sequence
6: num_prok_genes number of gene models with best hits to prokaryotes/virus
7: num_prok_single_exon_genes number of single-exon models with best hits to prokaryotes/virus
Strategy for cleaning contaminated assemblies:
- Filter for sequences with $\ge 10$ models (column 4) where $\ge 50%$ are prokaryotic/viral (column 6).
- Identify candidate contaminating genomes using megablast/blastx.
- Re-search the assembly using the candidate genomes as queries via
dc-megablast.